[clang] Fix Strong VTables Accidentally Emitted by #159856 (PR #200942)

Patrick Simmons via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 12 09:25:21 PDT 2026


https://github.com/linuxrocks123 updated https://github.com/llvm/llvm-project/pull/200942

>From b9175405a1103751becac80b1ad38525f237fece Mon Sep 17 00:00:00 2001
From: Patrick Simmons <patrick.simmons at amd.com>
Date: Mon, 1 Jun 2026 16:27:48 -0500
Subject: [PATCH 1/5] Emitting VTables across multiple TUs.  Make them weak.

---
 clang/lib/CodeGen/CGOpenMPRuntime.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
index 87e9824e677ba..8f0630fdc3403 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
@@ -1849,6 +1849,9 @@ void CGOpenMPRuntime::emitAndRegisterVTable(CodeGenModule &CGM,
       CGM.EmitVTable(CXXRecord);
       CodeGenVTables VTables = CGM.getVTables();
       llvm::GlobalVariable *VTablesAddr = VTables.GetAddrOfVTable(CXXRecord);
+      // Must set VTables to weak since we're emitting them in multiple TUs now
+      if(!VTablesAddr->hasWeakLinkage())
+        VTablesAddr->setLinkage(llvm::GlobalValue::WeakODRLinkage);
       assert(VTablesAddr && "Expected non-null VTable address");
       CGM.getOpenMPRuntime().registerVTableOffloadEntry(VTablesAddr, VD);
       // Emit VTable for all the fields containing dynamic CXXRecord

>From 2ce8df629761931053b54bed9c2ec02cd2a8442f Mon Sep 17 00:00:00 2001
From: Patrick Simmons <patrick.simmons at amd.com>
Date: Mon, 1 Jun 2026 16:30:08 -0500
Subject: [PATCH 2/5] Fix formatting

---
 clang/lib/CodeGen/CGOpenMPRuntime.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
index 8f0630fdc3403..5d666d205a680 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
@@ -1850,7 +1850,7 @@ void CGOpenMPRuntime::emitAndRegisterVTable(CodeGenModule &CGM,
       CodeGenVTables VTables = CGM.getVTables();
       llvm::GlobalVariable *VTablesAddr = VTables.GetAddrOfVTable(CXXRecord);
       // Must set VTables to weak since we're emitting them in multiple TUs now
-      if(!VTablesAddr->hasWeakLinkage())
+      if (!VTablesAddr->hasWeakLinkage())
         VTablesAddr->setLinkage(llvm::GlobalValue::WeakODRLinkage);
       assert(VTablesAddr && "Expected non-null VTable address");
       CGM.getOpenMPRuntime().registerVTableOffloadEntry(VTablesAddr, VD);

>From 7496a3d825366102abee8b518ff56121f1de5e9d Mon Sep 17 00:00:00 2001
From: Patrick Simmons <patrick.simmons at amd.com>
Date: Mon, 1 Jun 2026 16:50:55 -0500
Subject: [PATCH 3/5] Restrict linkage reset to vtables with ExternalLinkage
 only

---
 clang/lib/CodeGen/CGOpenMPRuntime.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
index 5d666d205a680..ab36b7b8d0c5b 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
@@ -1850,7 +1850,7 @@ void CGOpenMPRuntime::emitAndRegisterVTable(CodeGenModule &CGM,
       CodeGenVTables VTables = CGM.getVTables();
       llvm::GlobalVariable *VTablesAddr = VTables.GetAddrOfVTable(CXXRecord);
       // Must set VTables to weak since we're emitting them in multiple TUs now
-      if (!VTablesAddr->hasWeakLinkage())
+      if (VTablesAddr->hasExternalLinkage())
         VTablesAddr->setLinkage(llvm::GlobalValue::WeakODRLinkage);
       assert(VTablesAddr && "Expected non-null VTable address");
       CGM.getOpenMPRuntime().registerVTableOffloadEntry(VTablesAddr, VD);

>From 2d1a00b2722a5e0c50e2045efd0c3ec83a533f30 Mon Sep 17 00:00:00 2001
From: Patrick Simmons <patrick.simmons at amd.com>
Date: Thu, 11 Jun 2026 16:42:53 -0500
Subject: [PATCH 4/5] Add testcase

---
 .../OpenMP/openmp_offload_weak_vtables.cpp    | 36907 ++++++++++++++++
 1 file changed, 36907 insertions(+)
 create mode 100644 clang/test/OpenMP/openmp_offload_weak_vtables.cpp

diff --git a/clang/test/OpenMP/openmp_offload_weak_vtables.cpp b/clang/test/OpenMP/openmp_offload_weak_vtables.cpp
new file mode 100644
index 0000000000000..d93252d96123a
--- /dev/null
+++ b/clang/test/OpenMP/openmp_offload_weak_vtables.cpp
@@ -0,0 +1,36907 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -aux-triple amdgcn-amd-amdhsa -emit-llvm -disable-free -clear-ast-before-backend -main-file-name bigscience.i -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -Wno-openmp-mapping -fdeprecated-macro -ferror-limit 19 -fmessage-length=190 -fopenmp --offload-new-driver -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics --offload-targets=amdgcn-amd-amdhsa -faddrsig -fdwarf2-cfi-asm -o - -x c++-cpp-output %s | FileCheck %s
+// CHECK: weak_odr
+# 1 "bigscience.cc"
+# 1 "<built-in>" 1
+# 1 "<built-in>" 3
+# 479 "<built-in>" 3
+# 1 "<command line>" 1
+# 1 "<built-in>" 2
+# 1 "bigscience.cc" 2
+
+
+
+
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/requires_hosted.h" 1 3
+# 31 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/requires_hosted.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 1 3
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wvariadic-macros"
+
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+#pragma GCC diagnostic ignored "-Wc++23-extensions"
+# 336 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+namespace std
+{
+  typedef long unsigned int size_t;
+  typedef long int ptrdiff_t;
+
+
+  typedef decltype(nullptr) nullptr_t;
+
+
+#pragma GCC visibility push(default)
+
+
+  extern "C++" __attribute__ ((__noreturn__, __always_inline__))
+  inline void __terminate() noexcept
+  {
+    void terminate() noexcept __attribute__ ((__noreturn__,__cold__));
+    terminate();
+  }
+#pragma GCC visibility pop
+}
+# 369 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+namespace std
+{
+  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
+}
+namespace __gnu_cxx
+{
+  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
+}
+# 573 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+namespace std
+{
+#pragma GCC visibility push(default)
+
+
+
+
+  __attribute__((__always_inline__))
+  constexpr inline bool
+  __is_constant_evaluated() noexcept
+  {
+
+
+
+
+
+    return __builtin_is_constant_evaluated();
+
+
+
+  }
+#pragma GCC visibility pop
+}
+# 617 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+namespace std
+{
+#pragma GCC visibility push(default)
+
+  extern "C++" __attribute__ ((__noreturn__)) __attribute__((__cold__))
+  void
+  __glibcxx_assert_fail
+    (const char* __file, int __line, const char* __function,
+     const char* __condition)
+  noexcept;
+#pragma GCC visibility pop
+}
+# 727 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/os_defines.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/os_defines.h" 3
+# 1 "/usr/include/features.h" 1 3 4
+# 415 "/usr/include/features.h" 3 4
+# 1 "/usr/include/features-time64.h" 1 3 4
+# 20 "/usr/include/features-time64.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 21 "/usr/include/features-time64.h" 2 3 4
+# 1 "/usr/include/bits/timesize.h" 1 3 4
+# 19 "/usr/include/bits/timesize.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 20 "/usr/include/bits/timesize.h" 2 3 4
+# 22 "/usr/include/features-time64.h" 2 3 4
+# 416 "/usr/include/features.h" 2 3 4
+# 502 "/usr/include/features.h" 3 4
+# 1 "/usr/include/stdc-predef.h" 1 3 4
+# 503 "/usr/include/features.h" 2 3 4
+# 524 "/usr/include/features.h" 3 4
+# 1 "/usr/include/sys/cdefs.h" 1 3 4
+# 730 "/usr/include/sys/cdefs.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 731 "/usr/include/sys/cdefs.h" 2 3 4
+# 1 "/usr/include/bits/long-double.h" 1 3 4
+# 732 "/usr/include/sys/cdefs.h" 2 3 4
+# 525 "/usr/include/features.h" 2 3 4
+# 548 "/usr/include/features.h" 3 4
+# 1 "/usr/include/gnu/stubs.h" 1 3 4
+# 10 "/usr/include/gnu/stubs.h" 3 4
+# 1 "/usr/include/gnu/stubs-64.h" 1 3 4
+# 11 "/usr/include/gnu/stubs.h" 2 3 4
+# 549 "/usr/include/features.h" 2 3 4
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/os_defines.h" 2 3
+# 728 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/cpu_defines.h" 1 3
+# 731 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 2 3
+# 949 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/pstl/pstl_config.h" 1 3
+# 950 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 2 3
+
+
+
+#pragma GCC diagnostic pop
+# 32 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/requires_hosted.h" 2 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memoryfwd.h" 1 3
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memoryfwd.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memoryfwd.h" 3
+  template<typename>
+    class allocator;
+
+  template<>
+    class allocator<void>;
+
+
+
+  template<typename, typename>
+    struct uses_allocator;
+
+  template<typename>
+    struct allocator_traits;
+
+
+
+
+
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 54 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 3
+  template<class _CharT>
+    struct char_traits;
+
+  template<> struct char_traits<char>;
+
+  template<> struct char_traits<wchar_t>;
+
+
+
+
+
+
+  template<> struct char_traits<char16_t>;
+  template<> struct char_traits<char32_t>;
+
+
+namespace __cxx11 {
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT>,
+           typename _Alloc = allocator<_CharT> >
+    class basic_string;
+
+}
+
+
+  typedef basic_string<char> string;
+
+
+  typedef basic_string<wchar_t> wstring;
+# 91 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 3
+  typedef basic_string<char16_t> u16string;
+
+
+  typedef basic_string<char32_t> u32string;
+
+
+
+
+
+}
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 1 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
+# 1 "/usr/include/wchar.h" 1 3 4
+# 27 "/usr/include/wchar.h" 3 4
+# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
+# 28 "/usr/include/wchar.h" 2 3 4
+
+
+# 1 "/usr/include/bits/floatn.h" 1 3 4
+# 79 "/usr/include/bits/floatn.h" 3 4
+typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
+# 93 "/usr/include/bits/floatn.h" 3 4
+typedef __float128 _Float128;
+# 127 "/usr/include/bits/floatn.h" 3 4
+# 1 "/usr/include/bits/floatn-common.h" 1 3 4
+# 24 "/usr/include/bits/floatn-common.h" 3 4
+# 1 "/usr/include/bits/long-double.h" 1 3 4
+# 25 "/usr/include/bits/floatn-common.h" 2 3 4
+# 214 "/usr/include/bits/floatn-common.h" 3 4
+typedef float _Float32;
+# 251 "/usr/include/bits/floatn-common.h" 3 4
+typedef double _Float64;
+# 268 "/usr/include/bits/floatn-common.h" 3 4
+typedef double _Float32x;
+# 285 "/usr/include/bits/floatn-common.h" 3 4
+typedef long double _Float64x;
+# 128 "/usr/include/bits/floatn.h" 2 3 4
+# 31 "/usr/include/wchar.h" 2 3 4
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 18 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 3 4
+typedef long unsigned int size_t;
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 4
+# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 36 "/usr/include/wchar.h" 2 3 4
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 1 3 4
+# 51 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stdarg___gnuc_va_list.h" 1 3 4
+# 12 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stdarg___gnuc_va_list.h" 3 4
+typedef __builtin_va_list __gnuc_va_list;
+# 52 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 2 3 4
+# 39 "/usr/include/wchar.h" 2 3 4
+
+
+
+
+typedef __gnuc_va_list va_list;
+
+
+
+
+
+
+
+# 1 "/usr/include/bits/wchar.h" 1 3 4
+# 52 "/usr/include/wchar.h" 2 3 4
+# 1 "/usr/include/bits/types/wint_t.h" 1 3 4
+# 20 "/usr/include/bits/types/wint_t.h" 3 4
+typedef unsigned int wint_t;
+# 53 "/usr/include/wchar.h" 2 3 4
+# 1 "/usr/include/bits/types/mbstate_t.h" 1 3 4
+
+
+
+# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4
+# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4
+typedef struct
+{
+  int __count;
+  union
+  {
+    unsigned int __wch;
+    char __wchb[4];
+  } __value;
+} __mbstate_t;
+# 5 "/usr/include/bits/types/mbstate_t.h" 2 3 4
+
+typedef __mbstate_t mbstate_t;
+# 54 "/usr/include/wchar.h" 2 3 4
+# 1 "/usr/include/bits/types/__FILE.h" 1 3 4
+
+
+
+struct _IO_FILE;
+typedef struct _IO_FILE __FILE;
+# 55 "/usr/include/wchar.h" 2 3 4
+
+
+# 1 "/usr/include/bits/types/FILE.h" 1 3 4
+
+
+
+struct _IO_FILE;
+
+
+typedef struct _IO_FILE FILE;
+# 58 "/usr/include/wchar.h" 2 3 4
+
+
+# 1 "/usr/include/bits/types/locale_t.h" 1 3 4
+# 22 "/usr/include/bits/types/locale_t.h" 3 4
+# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4
+# 27 "/usr/include/bits/types/__locale_t.h" 3 4
+struct __locale_struct
+{
+
+  struct __locale_data *__locales[13];
+
+
+  const unsigned short int *__ctype_b;
+  const int *__ctype_tolower;
+  const int *__ctype_toupper;
+
+
+  const char *__names[13];
+};
+
+typedef struct __locale_struct *__locale_t;
+# 23 "/usr/include/bits/types/locale_t.h" 2 3 4
+
+typedef __locale_t locale_t;
+# 61 "/usr/include/wchar.h" 2 3 4
+# 90 "/usr/include/wchar.h" 3 4
+extern "C" {
+
+
+
+struct tm;
+
+
+
+extern wchar_t *wcscpy (wchar_t *__restrict __dest,
+   const wchar_t *__restrict __src)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
+    const wchar_t *__restrict __src, size_t __n)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern size_t wcslcpy (wchar_t *__restrict __dest,
+         const wchar_t *__restrict __src, size_t __n)
+  noexcept (true) __attribute__ ((__nonnull__ (1, 2))) ;
+
+
+
+extern size_t wcslcat (wchar_t *__restrict __dest,
+         const wchar_t *__restrict __src, size_t __n)
+  noexcept (true) __attribute__ ((__nonnull__ (1, 2))) ;
+
+
+
+extern wchar_t *wcscat (wchar_t *__restrict __dest,
+   const wchar_t *__restrict __src)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+extern wchar_t *wcsncat (wchar_t *__restrict __dest,
+    const wchar_t *__restrict __src, size_t __n)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
+
+
+extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
+   size_t __n) noexcept (true);
+
+
+
+extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
+    locale_t __loc) noexcept (true);
+
+extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
+     size_t __n, locale_t __loc) noexcept (true);
+
+
+
+
+extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
+
+
+
+extern size_t wcsxfrm (wchar_t *__restrict __s1,
+         const wchar_t *__restrict __s2, size_t __n) noexcept (true);
+
+
+
+
+
+
+
+extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
+        locale_t __loc) noexcept (true);
+
+
+
+
+extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
+    size_t __n, locale_t __loc) noexcept (true);
+
+
+extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
+  __attribute__ ((__malloc__)) ;
+# 189 "/usr/include/wchar.h" 3 4
+extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
+     noexcept (true) __attribute__ ((__pure__));
+# 199 "/usr/include/wchar.h" 3 4
+extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+
+
+
+extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+
+
+extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
+     noexcept (true) __attribute__ ((__pure__));
+# 226 "/usr/include/wchar.h" 3 4
+extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept)
+     noexcept (true) __attribute__ ((__pure__));
+# 237 "/usr/include/wchar.h" 3 4
+extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+
+extern wchar_t *wcstok (wchar_t *__restrict __s,
+   const wchar_t *__restrict __delim,
+   wchar_t **__restrict __ptr) noexcept (true);
+
+
+extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
+# 258 "/usr/include/wchar.h" 3 4
+extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+
+
+
+extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
+     noexcept (true) __attribute__ ((__pure__));
+# 278 "/usr/include/wchar.h" 3 4
+extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+
+extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
+     noexcept (true) __attribute__ ((__pure__));
+
+
+extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
+    const wchar_t *__restrict __s2, size_t __n) noexcept (true);
+
+
+
+extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
+     noexcept (true);
+
+
+extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
+
+
+
+
+extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
+     const wchar_t *__restrict __s2, size_t __n)
+     noexcept (true);
+
+
+
+
+
+extern wint_t btowc (int __c) noexcept (true);
+
+
+
+extern int wctob (wint_t __c) noexcept (true);
+
+
+
+extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
+
+
+
+extern size_t mbrtowc (wchar_t *__restrict __pwc,
+         const char *__restrict __s, size_t __n,
+         mbstate_t *__restrict __p) noexcept (true);
+
+
+extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
+         mbstate_t *__restrict __ps) noexcept (true);
+
+
+extern size_t __mbrlen (const char *__restrict __s, size_t __n,
+   mbstate_t *__restrict __ps) noexcept (true);
+extern size_t mbrlen (const char *__restrict __s, size_t __n,
+        mbstate_t *__restrict __ps) noexcept (true);
+# 362 "/usr/include/wchar.h" 3 4
+extern size_t mbsrtowcs (wchar_t *__restrict __dst,
+    const char **__restrict __src, size_t __len,
+    mbstate_t *__restrict __ps) noexcept (true);
+
+
+
+extern size_t wcsrtombs (char *__restrict __dst,
+    const wchar_t **__restrict __src, size_t __len,
+    mbstate_t *__restrict __ps) noexcept (true);
+
+
+
+
+
+extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
+     const char **__restrict __src, size_t __nmc,
+     size_t __len, mbstate_t *__restrict __ps) noexcept (true);
+
+
+
+extern size_t wcsnrtombs (char *__restrict __dst,
+     const wchar_t **__restrict __src,
+     size_t __nwc, size_t __len,
+     mbstate_t *__restrict __ps) noexcept (true);
+
+
+
+
+
+
+extern int wcwidth (wchar_t __c) noexcept (true);
+
+
+
+extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
+
+
+
+
+
+extern double wcstod (const wchar_t *__restrict __nptr,
+        wchar_t **__restrict __endptr) noexcept (true);
+
+
+
+extern float wcstof (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr) noexcept (true);
+extern long double wcstold (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr) noexcept (true);
+# 422 "/usr/include/wchar.h" 3 4
+extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
+     wchar_t **__restrict __endptr) noexcept (true);
+
+
+
+extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
+     wchar_t **__restrict __endptr) noexcept (true);
+
+
+
+extern _Float128 wcstof128 (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr) noexcept (true);
+
+
+
+extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr) noexcept (true);
+
+
+
+extern _Float64x wcstof64x (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr) noexcept (true);
+# 455 "/usr/include/wchar.h" 3 4
+extern long int wcstol (const wchar_t *__restrict __nptr,
+   wchar_t **__restrict __endptr, int __base) noexcept (true);
+
+
+
+extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
+      wchar_t **__restrict __endptr, int __base)
+     noexcept (true);
+
+
+
+
+__extension__
+extern long long int wcstoll (const wchar_t *__restrict __nptr,
+         wchar_t **__restrict __endptr, int __base)
+     noexcept (true);
+
+
+
+__extension__
+extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
+     wchar_t **__restrict __endptr,
+     int __base) noexcept (true);
+
+
+
+
+
+__extension__
+extern long long int wcstoq (const wchar_t *__restrict __nptr,
+        wchar_t **__restrict __endptr, int __base)
+     noexcept (true);
+
+
+
+__extension__
+extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
+           wchar_t **__restrict __endptr,
+           int __base) noexcept (true);
+
+
+
+
+
+
+extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstol");
+
+
+extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoul");
+
+
+
+__extension__
+extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll");
+
+
+
+__extension__
+extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull");
+
+
+
+
+__extension__
+extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll");
+
+
+__extension__
+extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull");
+# 561 "/usr/include/wchar.h" 3 4
+extern long int wcstol_l (const wchar_t *__restrict __nptr,
+     wchar_t **__restrict __endptr, int __base,
+     locale_t __loc) noexcept (true);
+
+extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
+        wchar_t **__restrict __endptr,
+        int __base, locale_t __loc) noexcept (true);
+
+__extension__
+extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
+    wchar_t **__restrict __endptr,
+    int __base, locale_t __loc) noexcept (true);
+
+__extension__
+extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr,
+       int __base, locale_t __loc)
+     noexcept (true);
+
+
+
+
+
+extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstol_l");
+
+
+
+extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoul_l");
+
+
+
+
+__extension__
+extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoll_l");
+
+
+
+
+__extension__
+extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoull_l");
+# 630 "/usr/include/wchar.h" 3 4
+extern double wcstod_l (const wchar_t *__restrict __nptr,
+   wchar_t **__restrict __endptr, locale_t __loc)
+     noexcept (true);
+
+extern float wcstof_l (const wchar_t *__restrict __nptr,
+         wchar_t **__restrict __endptr, locale_t __loc)
+     noexcept (true);
+
+extern long double wcstold_l (const wchar_t *__restrict __nptr,
+         wchar_t **__restrict __endptr,
+         locale_t __loc) noexcept (true);
+# 649 "/usr/include/wchar.h" 3 4
+extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr,
+       locale_t __loc) noexcept (true);
+
+
+
+extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
+       wchar_t **__restrict __endptr,
+       locale_t __loc) noexcept (true);
+
+
+
+extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr,
+         wchar_t **__restrict __endptr,
+         locale_t __loc) noexcept (true);
+
+
+
+extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
+         wchar_t **__restrict __endptr,
+         locale_t __loc) noexcept (true);
+
+
+
+extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr,
+         wchar_t **__restrict __endptr,
+         locale_t __loc) noexcept (true);
+# 689 "/usr/include/wchar.h" 3 4
+extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
+   const wchar_t *__restrict __src) noexcept (true);
+
+
+
+extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
+    const wchar_t *__restrict __src, size_t __n)
+     noexcept (true);
+# 718 "/usr/include/wchar.h" 3 4
+extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+
+extern int fwide (__FILE *__fp, int __mode) noexcept (true);
+
+
+
+
+
+
+extern int fwprintf (__FILE *__restrict __stream,
+       const wchar_t *__restrict __format, ...)
+                                                           ;
+
+
+
+
+extern int wprintf (const wchar_t *__restrict __format, ...)
+                                                           ;
+
+extern int swprintf (wchar_t *__restrict __s, size_t __n,
+       const wchar_t *__restrict __format, ...)
+     noexcept (true) ;
+
+
+
+
+
+extern int vfwprintf (__FILE *__restrict __s,
+        const wchar_t *__restrict __format,
+        __gnuc_va_list __arg)
+                                                           ;
+
+
+
+
+extern int vwprintf (const wchar_t *__restrict __format,
+       __gnuc_va_list __arg)
+                                                           ;
+
+
+extern int vswprintf (wchar_t *__restrict __s, size_t __n,
+        const wchar_t *__restrict __format,
+        __gnuc_va_list __arg)
+     noexcept (true) ;
+
+
+
+
+
+
+extern int fwscanf (__FILE *__restrict __stream,
+      const wchar_t *__restrict __format, ...)
+                                                          ;
+
+
+
+
+extern int wscanf (const wchar_t *__restrict __format, ...)
+                                                          ;
+
+extern int swscanf (const wchar_t *__restrict __s,
+      const wchar_t *__restrict __format, ...)
+     noexcept (true) ;
+# 795 "/usr/include/wchar.h" 3 4
+extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_fwscanf")
+
+
+                                                          ;
+extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_wscanf")
+
+                                                          ;
+extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_swscanf")
+
+
+                                                          ;
+# 851 "/usr/include/wchar.h" 3 4
+extern int vfwscanf (__FILE *__restrict __s,
+       const wchar_t *__restrict __format,
+       __gnuc_va_list __arg)
+                                                          ;
+
+
+
+
+extern int vwscanf (const wchar_t *__restrict __format,
+      __gnuc_va_list __arg)
+                                                          ;
+
+extern int vswscanf (const wchar_t *__restrict __s,
+       const wchar_t *__restrict __format,
+       __gnuc_va_list __arg)
+     noexcept (true) ;
+# 875 "/usr/include/wchar.h" 3 4
+extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfwscanf")
+
+
+                                                          ;
+extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vwscanf")
+
+                                                          ;
+extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vswscanf")
+
+
+                                                          ;
+# 935 "/usr/include/wchar.h" 3 4
+extern wint_t fgetwc (__FILE *__stream);
+extern wint_t getwc (__FILE *__stream);
+
+
+
+
+
+extern wint_t getwchar (void);
+
+
+
+
+
+
+extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
+extern wint_t putwc (wchar_t __wc, __FILE *__stream);
+
+
+
+
+
+extern wint_t putwchar (wchar_t __wc);
+
+
+
+
+
+
+
+extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
+   __FILE *__restrict __stream);
+
+
+
+
+
+extern int fputws (const wchar_t *__restrict __ws,
+     __FILE *__restrict __stream);
+
+
+
+
+
+
+extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
+# 990 "/usr/include/wchar.h" 3 4
+extern wint_t getwc_unlocked (__FILE *__stream);
+extern wint_t getwchar_unlocked (void);
+
+
+
+
+
+
+
+extern wint_t fgetwc_unlocked (__FILE *__stream);
+
+
+
+
+
+
+
+extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
+# 1016 "/usr/include/wchar.h" 3 4
+extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
+extern wint_t putwchar_unlocked (wchar_t __wc);
+# 1026 "/usr/include/wchar.h" 3 4
+extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
+     __FILE *__restrict __stream);
+
+
+
+
+
+
+
+extern int fputws_unlocked (const wchar_t *__restrict __ws,
+       __FILE *__restrict __stream);
+
+
+
+
+
+
+extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
+   const wchar_t *__restrict __format,
+   const struct tm *__restrict __tp) noexcept (true);
+
+
+
+
+extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
+     const wchar_t *__restrict __format,
+     const struct tm *__restrict __tp,
+     locale_t __loc) noexcept (true);
+# 1073 "/usr/include/wchar.h" 3 4
+}
+# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 2 3
+# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
+namespace std
+{
+  using ::mbstate_t;
+}
+# 137 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
+extern "C++"
+{
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  using ::wint_t;
+
+  using ::btowc;
+  using ::fgetwc;
+  using ::fgetws;
+  using ::fputwc;
+  using ::fputws;
+  using ::fwide;
+  using ::fwprintf;
+  using ::fwscanf;
+  using ::getwc;
+  using ::getwchar;
+  using ::mbrlen;
+  using ::mbrtowc;
+  using ::mbsinit;
+  using ::mbsrtowcs;
+  using ::putwc;
+  using ::putwchar;
+
+  using ::swprintf;
+
+  using ::swscanf;
+  using ::ungetwc;
+  using ::vfwprintf;
+
+  using ::vfwscanf;
+
+
+  using ::vswprintf;
+
+
+  using ::vswscanf;
+
+  using ::vwprintf;
+
+  using ::vwscanf;
+
+  using ::wcrtomb;
+  using ::wcscat;
+  using ::wcscmp;
+  using ::wcscoll;
+  using ::wcscpy;
+  using ::wcscspn;
+  using ::wcsftime;
+  using ::wcslen;
+  using ::wcsncat;
+  using ::wcsncmp;
+  using ::wcsncpy;
+  using ::wcsrtombs;
+  using ::wcsspn;
+  using ::wcstod;
+
+  using ::wcstof;
+
+  using ::wcstok;
+  using ::wcstol;
+  using ::wcstoul;
+  using ::wcsxfrm;
+  using ::wctob;
+  using ::wmemcmp;
+  using ::wmemcpy;
+  using ::wmemmove;
+  using ::wmemset;
+  using ::wprintf;
+  using ::wscanf;
+  using ::wcschr;
+  using ::wcspbrk;
+  using ::wcsrchr;
+  using ::wcsstr;
+  using ::wmemchr;
+
+
+  inline wchar_t*
+  wcschr(wchar_t* __p, wchar_t __c)
+  { return wcschr(const_cast<const wchar_t*>(__p), __c); }
+
+  inline wchar_t*
+  wcspbrk(wchar_t* __s1, const wchar_t* __s2)
+  { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
+
+  inline wchar_t*
+  wcsrchr(wchar_t* __p, wchar_t __c)
+  { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
+
+  inline wchar_t*
+  wcsstr(wchar_t* __s1, const wchar_t* __s2)
+  { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
+
+  inline wchar_t*
+  wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
+  { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
+
+
+
+}
+}
+
+
+
+
+
+
+
+namespace __gnu_cxx
+{
+
+
+
+
+
+  using ::wcstold;
+# 262 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
+  using ::wcstoll;
+  using ::wcstoull;
+
+}
+
+namespace std
+{
+  using ::__gnu_cxx::wcstold;
+  using ::__gnu_cxx::wcstoll;
+  using ::__gnu_cxx::wcstoull;
+}
+# 282 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
+namespace std
+{
+
+  using std::wcstof;
+
+
+  using std::vfwscanf;
+
+
+  using std::vswscanf;
+
+
+  using std::vwscanf;
+
+
+
+  using std::wcstold;
+  using std::wcstoll;
+  using std::wcstoull;
+
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
+  typedef long int streamoff;
+
+
+
+#pragma GCC diagnostic pop
+
+
+  typedef ptrdiff_t streamsize;
+# 86 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
+  template<typename _StateT>
+    class fpos
+    {
+    private:
+      streamoff _M_off;
+      _StateT _M_state;
+
+    public:
+
+
+
+
+      fpos()
+      : _M_off(0), _M_state() { }
+# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
+      fpos(streamoff __off)
+      : _M_off(__off), _M_state() { }
+
+
+      fpos(const fpos&) = default;
+      fpos& operator=(const fpos&) = default;
+      ~fpos() = default;
+
+
+
+      operator streamoff() const { return _M_off; }
+
+
+      void
+      state(_StateT __st)
+      { _M_state = __st; }
+
+
+      _StateT
+      state() const
+      { return _M_state; }
+
+
+
+
+
+      fpos&
+      operator+=(streamoff __off)
+      {
+ _M_off += __off;
+ return *this;
+      }
+
+
+
+
+
+      fpos&
+      operator-=(streamoff __off)
+      {
+ _M_off -= __off;
+ return *this;
+      }
+
+
+
+
+
+
+
+      fpos
+      operator+(streamoff __off) const
+      {
+ fpos __pos(*this);
+ __pos += __off;
+ return __pos;
+      }
+
+
+
+
+
+
+
+      fpos
+      operator-(streamoff __off) const
+      {
+ fpos __pos(*this);
+ __pos -= __off;
+ return __pos;
+      }
+
+
+
+
+
+
+      streamoff
+      operator-(const fpos& __other) const
+      { return _M_off - __other._M_off; }
+    };
+
+
+
+
+
+
+  template<typename _StateT>
+    inline bool
+    operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
+    { return streamoff(__lhs) == streamoff(__rhs); }
+
+  template<typename _StateT>
+    inline bool
+    operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
+    { return streamoff(__lhs) != streamoff(__rhs); }
+
+
+
+
+
+  typedef fpos<mbstate_t> streampos;
+
+  typedef fpos<mbstate_t> wstreampos;
+# 220 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
+  typedef fpos<mbstate_t> u16streampos;
+
+  typedef fpos<mbstate_t> u32streampos;
+
+
+
+}
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 78 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 3
+  class ios_base;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_ios;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_streambuf;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_istream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_ostream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_iostream;
+
+
+namespace __cxx11 {
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT>,
+     typename _Alloc = allocator<_CharT> >
+    class basic_stringbuf;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT>,
+    typename _Alloc = allocator<_CharT> >
+    class basic_istringstream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT>,
+    typename _Alloc = allocator<_CharT> >
+    class basic_ostringstream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT>,
+    typename _Alloc = allocator<_CharT> >
+    class basic_stringstream;
+
+}
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_filebuf;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_ifstream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_ofstream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class basic_fstream;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class istreambuf_iterator;
+
+  template<typename _CharT, typename _Traits = char_traits<_CharT> >
+    class ostreambuf_iterator;
+
+
+
+  typedef basic_ios<char> ios;
+
+
+  typedef basic_streambuf<char> streambuf;
+
+
+  typedef basic_istream<char> istream;
+
+
+  typedef basic_ostream<char> ostream;
+
+
+  typedef basic_iostream<char> iostream;
+
+
+  typedef basic_stringbuf<char> stringbuf;
+
+
+  typedef basic_istringstream<char> istringstream;
+
+
+  typedef basic_ostringstream<char> ostringstream;
+
+
+  typedef basic_stringstream<char> stringstream;
+
+
+  typedef basic_filebuf<char> filebuf;
+
+
+  typedef basic_ifstream<char> ifstream;
+
+
+  typedef basic_ofstream<char> ofstream;
+
+
+  typedef basic_fstream<char> fstream;
+
+
+
+  typedef basic_ios<wchar_t> wios;
+
+
+  typedef basic_streambuf<wchar_t> wstreambuf;
+
+
+  typedef basic_istream<wchar_t> wistream;
+
+
+  typedef basic_ostream<wchar_t> wostream;
+
+
+  typedef basic_iostream<wchar_t> wiostream;
+
+
+  typedef basic_stringbuf<wchar_t> wstringbuf;
+
+
+  typedef basic_istringstream<wchar_t> wistringstream;
+
+
+  typedef basic_ostringstream<wchar_t> wostringstream;
+
+
+  typedef basic_stringstream<wchar_t> wstringstream;
+
+
+  typedef basic_filebuf<wchar_t> wfilebuf;
+
+
+  typedef basic_ifstream<wchar_t> wifstream;
+
+
+  typedef basic_ofstream<wchar_t> wofstream;
+
+
+  typedef basic_fstream<wchar_t> wfstream;
+# 258 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 3
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception.h" 3
+extern "C++" {
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 61 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception.h" 3
+  class exception
+  {
+  public:
+    exception() noexcept { }
+    virtual ~exception() noexcept;
+
+    exception(const exception&) = default;
+    exception& operator=(const exception&) = default;
+    exception(exception&&) = default;
+    exception& operator=(exception&&) = default;
+
+
+
+
+    virtual const char*
+    what() const noexcept;
+  };
+
+
+
+}
+
+}
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
+
+extern "C++" {
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
+  class bad_exception : public exception
+  {
+  public:
+    bad_exception() noexcept { }
+
+
+
+    virtual ~bad_exception() noexcept;
+
+
+    virtual const char*
+    what() const noexcept;
+  };
+
+
+  typedef void (*terminate_handler) ();
+
+
+  terminate_handler set_terminate(terminate_handler) noexcept;
+
+
+
+  terminate_handler get_terminate() noexcept;
+
+
+
+
+  void terminate() noexcept __attribute__ ((__noreturn__,__cold__));
+
+
+
+  typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
+
+
+
+
+
+  __attribute__ ((__deprecated__))
+  unexpected_handler set_unexpected(unexpected_handler) noexcept;
+
+
+
+
+
+
+
+  __attribute__ ((__deprecated__))
+  unexpected_handler get_unexpected() noexcept;
+
+
+
+
+
+
+
+  __attribute__ ((__deprecated__))
+  void unexpected() __attribute__ ((__noreturn__,__cold__));
+# 126 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
+  __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
+  bool uncaught_exception() noexcept __attribute__ ((__pure__));
+
+
+
+
+
+
+  int uncaught_exceptions() noexcept __attribute__ ((__pure__));
+
+
+
+}
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+# 160 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
+  void __verbose_terminate_handler();
+
+
+}
+
+}
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 1 3
+# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_defines.h" 1 3
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 3
+#pragma GCC visibility push(default)
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3
+# 84 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_header_macro.h" 1 3
+# 85 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3
+# 18 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 3
+typedef long int ptrdiff_t;
+# 89 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3
+# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3
+# 114 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 123 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_max_align_t.h" 1 3
+# 19 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_max_align_t.h" 3
+typedef struct {
+  long long __clang_max_align_nonce1
+      __attribute__((__aligned__(__alignof__(long long))));
+  long double __clang_max_align_nonce2
+      __attribute__((__aligned__(__alignof__(long double))));
+} max_align_t;
+# 124 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_offsetof.h" 1 3
+# 129 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 2 3
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 3
+namespace std
+{
+  class type_info;
+}
+
+namespace __cxxabiv1
+{
+  struct __cxa_refcounted_exception;
+
+  extern "C"
+    {
+
+      void*
+      __cxa_allocate_exception(size_t) noexcept;
+
+      void
+      __cxa_free_exception(void*) noexcept;
+
+
+      __cxa_refcounted_exception*
+      __cxa_init_primary_exception(void *__object, std::type_info *__tinfo,
+                void ( *__dest) (void *))
+ noexcept;
+
+    }
+}
+
+
+
+#pragma GCC visibility pop
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/hash_bytes.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/hash_bytes.h" 3
+namespace std
+{
+
+
+
+
+
+
+
+  size_t
+  _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
+
+
+
+
+
+  size_t
+  _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
+
+
+}
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 2 3
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 2 3
+
+#pragma GCC visibility push(default)
+
+extern "C++" {
+
+namespace __cxxabiv1
+{
+  class __class_type_info;
+}
+# 85 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
+namespace std
+{
+
+
+
+
+
+
+  class type_info
+  {
+  public:
+
+
+
+
+    virtual ~type_info();
+
+
+
+    const char* name() const noexcept
+    { return __name[0] == '*' ? __name + 1 : __name; }
+
+
+
+    bool before(const type_info& __arg) const noexcept;
+
+
+    bool operator==(const type_info& __arg) const noexcept;
+
+
+    bool operator!=(const type_info& __arg) const noexcept
+    { return !operator==(__arg); }
+
+
+
+    size_t hash_code() const noexcept
+    {
+
+      return _Hash_bytes(name(), __builtin_strlen(name()),
+    static_cast<size_t>(0xc70f6907UL));
+
+
+
+    }
+
+
+
+    virtual bool __is_pointer_p() const;
+
+
+    virtual bool __is_function_p() const;
+
+
+
+
+
+
+
+    virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
+       unsigned __outer) const;
+
+
+    virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
+        void **__obj_ptr) const;
+
+  protected:
+    const char *__name;
+
+    explicit type_info(const char *__n): __name(__n) { }
+
+  private:
+
+
+    type_info& operator=(const type_info&) = delete;
+    type_info(const type_info&) = delete;
+# 168 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
+  };
+
+
+  inline bool
+  type_info::before(const type_info& __arg) const noexcept
+  {
+
+
+
+
+    if (__name[0] != '*' || __arg.__name[0] != '*')
+      return __builtin_strcmp (__name, __arg.__name) < 0;
+# 188 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
+    return __name < __arg.__name;
+  }
+
+
+
+
+
+
+                       inline bool
+  type_info::operator==(const type_info& __arg) const noexcept
+  {
+    if (std::__is_constant_evaluated())
+      return this == &__arg;
+
+    if (__name == __arg.__name)
+      return true;
+
+
+
+
+
+
+    return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0;
+
+
+
+  }
+# 224 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
+  class bad_cast : public exception
+  {
+  public:
+    bad_cast() noexcept { }
+
+
+
+    virtual ~bad_cast() noexcept;
+
+
+    virtual const char* what() const noexcept;
+  };
+
+
+
+
+
+  class bad_typeid : public exception
+  {
+  public:
+    bad_typeid () noexcept { }
+
+
+
+    virtual ~bad_typeid() noexcept;
+
+
+    virtual const char* what() const noexcept;
+  };
+}
+
+}
+
+#pragma GCC visibility pop
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 1 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 2 3
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+#pragma GCC visibility push(default)
+
+extern "C++" {
+
+namespace std
+{
+
+
+
+
+
+
+  class bad_alloc : public exception
+  {
+  public:
+    bad_alloc() throw() { }
+
+
+    bad_alloc(const bad_alloc&) = default;
+    bad_alloc& operator=(const bad_alloc&) = default;
+
+
+
+
+    virtual ~bad_alloc() throw();
+
+
+    virtual const char* what() const throw();
+  };
+
+
+  class bad_array_new_length : public bad_alloc
+  {
+  public:
+    bad_array_new_length() throw() { }
+
+
+
+    virtual ~bad_array_new_length() throw();
+
+
+    virtual const char* what() const throw();
+  };
+
+
+
+  enum class align_val_t: size_t {};
+
+
+  struct nothrow_t
+  {
+
+    explicit nothrow_t() = default;
+
+  };
+
+  extern const nothrow_t nothrow;
+
+
+
+  typedef void (*new_handler)();
+
+
+
+  new_handler set_new_handler(new_handler) throw();
+
+
+
+  new_handler get_new_handler() noexcept;
+
+}
+# 137 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
+[[__nodiscard__]] void* operator new(std::size_t)
+
+  __attribute__((__externally_visible__, __malloc__));
+[[__nodiscard__]] void* operator new[](std::size_t)
+
+  __attribute__((__externally_visible__, __malloc__));
+void operator delete(void*) noexcept
+  __attribute__((__externally_visible__));
+void operator delete[](void*) noexcept
+  __attribute__((__externally_visible__));
+
+void operator delete(void*, std::size_t)
+                    noexcept
+  __attribute__((__externally_visible__));
+void operator delete[](void*, std::size_t)
+                    noexcept
+  __attribute__((__externally_visible__));
+
+[[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&)
+                    noexcept
+  __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
+[[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&)
+                    noexcept
+  __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
+void operator delete(void*, const std::nothrow_t&)
+                    noexcept
+  __attribute__((__externally_visible__));
+void operator delete[](void*, const std::nothrow_t&)
+                    noexcept
+  __attribute__((__externally_visible__));
+
+[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
+
+  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
+[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
+                    noexcept
+  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
+void operator delete(void*, std::align_val_t)
+  noexcept __attribute__((__externally_visible__));
+void operator delete(void*, std::align_val_t, const std::nothrow_t&)
+
+  noexcept __attribute__((__externally_visible__));
+[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
+
+  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
+[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
+                    noexcept
+  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
+void operator delete[](void*, std::align_val_t)
+  noexcept __attribute__((__externally_visible__));
+void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
+
+  noexcept __attribute__((__externally_visible__));
+
+void operator delete(void*, std::size_t, std::align_val_t)
+  noexcept __attribute__((__externally_visible__));
+void operator delete[](void*, std::size_t, std::align_val_t)
+  noexcept __attribute__((__externally_visible__));
+# 205 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
+[[__nodiscard__]] inline
+void* operator new(std::size_t, void* __p)
+                    noexcept
+{ return __p; }
+[[__nodiscard__]] inline
+void* operator new[](std::size_t, void* __p)
+                    noexcept
+{ return __p; }
+
+
+
+
+inline void operator delete (void*, void*)
+                    noexcept
+{ }
+inline void operator delete[](void*, void*)
+                    noexcept
+{ }
+
+}
+
+namespace std
+{
+
+
+  template<typename _Tp>
+    [[nodiscard]] constexpr _Tp*
+    launder(_Tp* __p) noexcept
+    {
+      if constexpr (__is_same(const volatile _Tp, const volatile void))
+ static_assert(!__is_same(const volatile _Tp, const volatile void),
+        "std::launder argument must not be a void pointer");
+
+      else if constexpr (__is_function(_Tp))
+ static_assert(!__is_function(_Tp),
+        "std::launder argument must not be a function pointer");
+
+      else
+ return __builtin_launder(__p);
+      return nullptr;
+    }
+
+
+
+  inline constexpr size_t hardware_destructive_interference_size = 64;
+  inline constexpr size_t hardware_constructive_interference_size = 64;
+# 264 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
+}
+
+#pragma GCC visibility pop
+#pragma GCC diagnostic pop
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 1 3
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 1 3
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 67 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 2 3
+
+extern "C++"
+{
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _Tp>
+    class reference_wrapper;
+# 91 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp, _Tp __v>
+    struct integral_constant
+    {
+      static constexpr _Tp value = __v;
+      using value_type = _Tp;
+      using type = integral_constant<_Tp, __v>;
+      constexpr operator value_type() const noexcept { return value; }
+
+
+      constexpr value_type operator()() const noexcept { return value; }
+
+    };
+# 111 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<bool __v>
+    using __bool_constant = integral_constant<bool, __v>;
+
+
+
+  using true_type = __bool_constant<true>;
+
+
+  using false_type = __bool_constant<false>;
+
+
+
+
+  template<bool __v>
+    using bool_constant = __bool_constant<__v>;
+
+
+
+
+
+
+  template<bool, typename _Tp = void>
+    struct enable_if
+    { };
+
+
+  template<typename _Tp>
+    struct enable_if<true, _Tp>
+    { using type = _Tp; };
+
+
+  template<bool _Cond, typename _Tp = void>
+    using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
+
+  template<bool>
+    struct __conditional
+    {
+      template<typename _Tp, typename>
+ using type = _Tp;
+    };
+
+  template<>
+    struct __conditional<false>
+    {
+      template<typename, typename _Up>
+ using type = _Up;
+    };
+
+
+  template<bool _Cond, typename _If, typename _Else>
+    using __conditional_t
+      = typename __conditional<_Cond>::template type<_If, _Else>;
+
+
+  template <typename _Type>
+    struct __type_identity
+    { using type = _Type; };
+
+  template<typename _Tp>
+    using __type_identity_t = typename __type_identity<_Tp>::type;
+
+  namespace __detail
+  {
+
+    template<typename _Tp, typename...>
+      using __first_t = _Tp;
+
+
+    template<typename... _Bn>
+      auto __or_fn(int) -> __first_t<false_type,
+         __enable_if_t<!bool(_Bn::value)>...>;
+
+    template<typename... _Bn>
+      auto __or_fn(...) -> true_type;
+
+    template<typename... _Bn>
+      auto __and_fn(int) -> __first_t<true_type,
+          __enable_if_t<bool(_Bn::value)>...>;
+
+    template<typename... _Bn>
+      auto __and_fn(...) -> false_type;
+  }
+
+
+
+
+  template<typename... _Bn>
+    struct __or_
+    : decltype(__detail::__or_fn<_Bn...>(0))
+    { };
+
+  template<typename... _Bn>
+    struct __and_
+    : decltype(__detail::__and_fn<_Bn...>(0))
+    { };
+
+  template<typename _Pp>
+    struct __not_
+    : __bool_constant<!bool(_Pp::value)>
+    { };
+
+
+
+
+
+  template<typename... _Bn>
+    inline constexpr bool __or_v = __or_<_Bn...>::value;
+  template<typename... _Bn>
+    inline constexpr bool __and_v = __and_<_Bn...>::value;
+
+  namespace __detail
+  {
+    template<typename , typename _B1, typename... _Bn>
+      struct __disjunction_impl
+      { using type = _B1; };
+
+    template<typename _B1, typename _B2, typename... _Bn>
+      struct __disjunction_impl<__enable_if_t<!bool(_B1::value)>, _B1, _B2, _Bn...>
+      { using type = typename __disjunction_impl<void, _B2, _Bn...>::type; };
+
+    template<typename , typename _B1, typename... _Bn>
+      struct __conjunction_impl
+      { using type = _B1; };
+
+    template<typename _B1, typename _B2, typename... _Bn>
+      struct __conjunction_impl<__enable_if_t<bool(_B1::value)>, _B1, _B2, _Bn...>
+      { using type = typename __conjunction_impl<void, _B2, _Bn...>::type; };
+  }
+
+
+  template<typename... _Bn>
+    struct conjunction
+    : __detail::__conjunction_impl<void, _Bn...>::type
+    { };
+
+  template<>
+    struct conjunction<>
+    : true_type
+    { };
+
+  template<typename... _Bn>
+    struct disjunction
+    : __detail::__disjunction_impl<void, _Bn...>::type
+    { };
+
+  template<>
+    struct disjunction<>
+    : false_type
+    { };
+
+  template<typename _Pp>
+    struct negation
+    : __not_<_Pp>::type
+    { };
+
+
+
+
+  template<typename... _Bn>
+    inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
+
+  template<typename... _Bn>
+    inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
+
+  template<typename _Pp>
+    inline constexpr bool negation_v = negation<_Pp>::value;
+
+
+
+
+
+  template<typename>
+    struct is_reference;
+  template<typename>
+    struct is_function;
+  template<typename>
+    struct is_void;
+  template<typename>
+    struct remove_cv;
+  template<typename>
+    struct is_const;
+
+
+  template<typename>
+    struct __is_array_unknown_bounds;
+
+
+
+
+  template <typename _Tp, size_t = sizeof(_Tp)>
+    constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
+    { return {}; }
+
+  template <typename _TypeIdentity,
+      typename _NestedType = typename _TypeIdentity::type>
+    constexpr typename __or_<
+      is_reference<_NestedType>,
+      is_function<_NestedType>,
+      is_void<_NestedType>,
+      __is_array_unknown_bounds<_NestedType>
+    >::type __is_complete_or_unbounded(_TypeIdentity)
+    { return {}; }
+
+
+  template<typename _Tp>
+    using __remove_cv_t = typename remove_cv<_Tp>::type;
+
+
+
+
+
+  template<typename _Tp>
+    struct is_void
+    : public false_type { };
+
+  template<>
+    struct is_void<void>
+    : public true_type { };
+
+  template<>
+    struct is_void<const void>
+    : public true_type { };
+
+  template<>
+    struct is_void<volatile void>
+    : public true_type { };
+
+  template<>
+    struct is_void<const volatile void>
+    : public true_type { };
+
+
+  template<typename>
+    struct __is_integral_helper
+    : public false_type { };
+
+  template<>
+    struct __is_integral_helper<bool>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<char>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<signed char>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<unsigned char>
+    : public true_type { };
+
+
+
+
+  template<>
+    struct __is_integral_helper<wchar_t>
+    : public true_type { };
+
+
+
+
+
+
+
+  template<>
+    struct __is_integral_helper<char16_t>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<char32_t>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<short>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<unsigned short>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<int>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<unsigned int>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<long>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<unsigned long>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<long long>
+    : public true_type { };
+
+  template<>
+    struct __is_integral_helper<unsigned long long>
+    : public true_type { };
+
+
+
+
+  __extension__
+  template<>
+    struct __is_integral_helper<__int128>
+    : public true_type { };
+
+  __extension__
+  template<>
+    struct __is_integral_helper<unsigned __int128>
+    : public true_type { };
+# 465 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_integral
+    : public __is_integral_helper<__remove_cv_t<_Tp>>::type
+    { };
+
+
+  template<typename>
+    struct __is_floating_point_helper
+    : public false_type { };
+
+  template<>
+    struct __is_floating_point_helper<float>
+    : public true_type { };
+
+  template<>
+    struct __is_floating_point_helper<double>
+    : public true_type { };
+
+  template<>
+    struct __is_floating_point_helper<long double>
+    : public true_type { };
+# 518 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<>
+    struct __is_floating_point_helper<__float128>
+    : public true_type { };
+
+
+
+
+  template<typename _Tp>
+    struct is_floating_point
+    : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
+    { };
+
+
+
+  template<typename _Tp>
+    struct is_array
+    : public __bool_constant<__is_array(_Tp)>
+    { };
+# 552 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_pointer
+    : public __bool_constant<__is_pointer(_Tp)>
+    { };
+# 579 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename>
+    struct is_lvalue_reference
+    : public false_type { };
+
+  template<typename _Tp>
+    struct is_lvalue_reference<_Tp&>
+    : public true_type { };
+
+
+  template<typename>
+    struct is_rvalue_reference
+    : public false_type { };
+
+  template<typename _Tp>
+    struct is_rvalue_reference<_Tp&&>
+    : public true_type { };
+
+
+
+  template<typename _Tp>
+    struct is_member_object_pointer
+    : public __bool_constant<__is_member_object_pointer(_Tp)>
+    { };
+# 620 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_member_function_pointer
+    : public __bool_constant<__is_member_function_pointer(_Tp)>
+    { };
+# 641 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_enum
+    : public __bool_constant<__is_enum(_Tp)>
+    { };
+
+
+  template<typename _Tp>
+    struct is_union
+    : public __bool_constant<__is_union(_Tp)>
+    { };
+
+
+  template<typename _Tp>
+    struct is_class
+    : public __bool_constant<__is_class(_Tp)>
+    { };
+
+
+
+  template<typename _Tp>
+    struct is_function
+    : public __bool_constant<__is_function(_Tp)>
+    { };
+# 680 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_null_pointer
+    : public false_type { };
+
+  template<>
+    struct is_null_pointer<std::nullptr_t>
+    : public true_type { };
+
+  template<>
+    struct is_null_pointer<const std::nullptr_t>
+    : public true_type { };
+
+  template<>
+    struct is_null_pointer<volatile std::nullptr_t>
+    : public true_type { };
+
+  template<>
+    struct is_null_pointer<const volatile std::nullptr_t>
+    : public true_type { };
+
+
+
+  template<typename _Tp>
+    struct __is_nullptr_t
+    : public is_null_pointer<_Tp>
+    { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
+
+
+
+
+
+
+  template<typename _Tp>
+    struct is_reference
+    : public __bool_constant<__is_reference(_Tp)>
+    { };
+# 734 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_arithmetic
+    : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
+    { };
+
+
+  template<typename _Tp>
+    struct is_fundamental
+    : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
+     is_null_pointer<_Tp>>::type
+    { };
+
+
+
+  template<typename _Tp>
+    struct is_object
+    : public __bool_constant<__is_object(_Tp)>
+    { };
+# 760 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename>
+    struct is_member_pointer;
+
+
+  template<typename _Tp>
+    struct is_scalar
+    : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
+                   is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
+    { };
+
+
+  template<typename _Tp>
+    struct is_compound
+    : public __bool_constant<!is_fundamental<_Tp>::value> { };
+
+
+
+  template<typename _Tp>
+    struct is_member_pointer
+    : public __bool_constant<__is_member_pointer(_Tp)>
+    { };
+# 798 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename, typename>
+    struct is_same;
+
+
+  template<typename _Tp, typename... _Types>
+    using __is_one_of = __or_<is_same<_Tp, _Types>...>;
+
+
+  __extension__
+  template<typename _Tp>
+    using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
+   signed char, signed short, signed int, signed long,
+   signed long long
+
+   , signed __int128
+# 823 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+   >;
+
+
+  __extension__
+  template<typename _Tp>
+    using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
+   unsigned char, unsigned short, unsigned int, unsigned long,
+   unsigned long long
+
+   , unsigned __int128
+# 843 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+   >;
+
+
+  template<typename _Tp>
+    using __is_standard_integer
+      = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
+
+
+  template<typename...> using __void_t = void;
+
+
+
+
+
+
+  template<typename _Tp>
+    struct is_const
+    : public __bool_constant<__is_const(_Tp)>
+    { };
+# 874 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_volatile
+    : public __bool_constant<__is_volatile(_Tp)>
+    { };
+# 895 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct
+
+    is_trivial
+    : public __bool_constant<__is_trivial(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_trivially_copyable
+    : public __bool_constant<__is_trivially_copyable(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_standard_layout
+    : public __bool_constant<__is_standard_layout(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+
+
+
+  template<typename _Tp>
+    struct
+
+    is_pod
+    : public __bool_constant<__is_pod(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+
+
+  template<typename _Tp>
+    struct
+    [[__deprecated__]]
+    is_literal_type
+    : public __bool_constant<__is_literal_type(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_empty
+    : public __bool_constant<__is_empty(_Tp)>
+    { };
+
+
+  template<typename _Tp>
+    struct is_polymorphic
+    : public __bool_constant<__is_polymorphic(_Tp)>
+    { };
+
+
+
+
+  template<typename _Tp>
+    struct is_final
+    : public __bool_constant<__is_final(_Tp)>
+    { };
+
+
+
+  template<typename _Tp>
+    struct is_abstract
+    : public __bool_constant<__is_abstract(_Tp)>
+    { };
+
+
+  template<typename _Tp,
+    bool = is_arithmetic<_Tp>::value>
+    struct __is_signed_helper
+    : public false_type { };
+
+  template<typename _Tp>
+    struct __is_signed_helper<_Tp, true>
+    : public __bool_constant<_Tp(-1) < _Tp(0)>
+    { };
+
+
+
+  template<typename _Tp>
+    struct is_signed
+    : public __is_signed_helper<_Tp>::type
+    { };
+
+
+  template<typename _Tp>
+    struct is_unsigned
+    : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>::type
+    { };
+
+
+  template<typename _Tp, typename _Up = _Tp&&>
+    _Up
+    __declval(int);
+
+  template<typename _Tp>
+    _Tp
+    __declval(long);
+
+
+  template<typename _Tp>
+    auto declval() noexcept -> decltype(__declval<_Tp>(0));
+
+  template<typename>
+    struct remove_all_extents;
+
+
+  template<typename _Tp>
+    struct __is_array_known_bounds
+    : public false_type
+    { };
+
+  template<typename _Tp, size_t _Size>
+    struct __is_array_known_bounds<_Tp[_Size]>
+    : public true_type
+    { };
+
+  template<typename _Tp>
+    struct __is_array_unknown_bounds
+    : public false_type
+    { };
+
+  template<typename _Tp>
+    struct __is_array_unknown_bounds<_Tp[]>
+    : public true_type
+    { };
+# 1047 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  struct __do_is_destructible_impl
+  {
+    template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
+      static true_type __test(int);
+
+    template<typename>
+      static false_type __test(...);
+  };
+
+  template<typename _Tp>
+    struct __is_destructible_impl
+    : public __do_is_destructible_impl
+    {
+      using type = decltype(__test<_Tp>(0));
+    };
+
+  template<typename _Tp,
+           bool = __or_<is_void<_Tp>,
+                        __is_array_unknown_bounds<_Tp>,
+                        is_function<_Tp>>::value,
+           bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
+    struct __is_destructible_safe;
+
+  template<typename _Tp>
+    struct __is_destructible_safe<_Tp, false, false>
+    : public __is_destructible_impl<typename
+               remove_all_extents<_Tp>::type>::type
+    { };
+
+  template<typename _Tp>
+    struct __is_destructible_safe<_Tp, true, false>
+    : public false_type { };
+
+  template<typename _Tp>
+    struct __is_destructible_safe<_Tp, false, true>
+    : public true_type { };
+
+
+
+  template<typename _Tp>
+    struct is_destructible
+    : public __is_destructible_safe<_Tp>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+
+
+
+
+  struct __do_is_nt_destructible_impl
+  {
+    template<typename _Tp>
+      static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
+      __test(int);
+
+    template<typename>
+      static false_type __test(...);
+  };
+
+  template<typename _Tp>
+    struct __is_nt_destructible_impl
+    : public __do_is_nt_destructible_impl
+    {
+      using type = decltype(__test<_Tp>(0));
+    };
+
+  template<typename _Tp,
+           bool = __or_<is_void<_Tp>,
+                        __is_array_unknown_bounds<_Tp>,
+                        is_function<_Tp>>::value,
+           bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
+    struct __is_nt_destructible_safe;
+
+  template<typename _Tp>
+    struct __is_nt_destructible_safe<_Tp, false, false>
+    : public __is_nt_destructible_impl<typename
+               remove_all_extents<_Tp>::type>::type
+    { };
+
+  template<typename _Tp>
+    struct __is_nt_destructible_safe<_Tp, true, false>
+    : public false_type { };
+
+  template<typename _Tp>
+    struct __is_nt_destructible_safe<_Tp, false, true>
+    : public true_type { };
+
+
+
+  template<typename _Tp>
+    struct is_nothrow_destructible
+    : public __is_nt_destructible_safe<_Tp>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename... _Args>
+    using __is_constructible_impl
+      = __bool_constant<__is_constructible(_Tp, _Args...)>;
+
+
+
+  template<typename _Tp, typename... _Args>
+    struct is_constructible
+      : public __is_constructible_impl<_Tp, _Args...>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_default_constructible
+    : public __is_constructible_impl<_Tp>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+  template<typename _Tp>
+    using __add_lval_ref_t = __add_lvalue_reference(_Tp);
+# 1191 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_copy_constructible
+    : public __is_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+  template<typename _Tp>
+    using __add_rval_ref_t = __add_rvalue_reference(_Tp);
+# 1218 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct is_move_constructible
+    : public __is_constructible_impl<_Tp, __add_rval_ref_t<_Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename... _Args>
+    using __is_nothrow_constructible_impl
+      = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
+
+
+
+  template<typename _Tp, typename... _Args>
+    struct is_nothrow_constructible
+    : public __is_nothrow_constructible_impl<_Tp, _Args...>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_nothrow_default_constructible
+    : public __is_nothrow_constructible_impl<_Tp>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_nothrow_copy_constructible
+    : public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_nothrow_move_constructible
+    : public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename _Up>
+    using __is_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>;
+
+
+
+  template<typename _Tp, typename _Up>
+    struct is_assignable
+    : public __is_assignable_impl<_Tp, _Up>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_copy_assignable
+    : public __is_assignable_impl<__add_lval_ref_t<_Tp>,
+      __add_lval_ref_t<const _Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_move_assignable
+    : public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename _Up>
+    using __is_nothrow_assignable_impl
+      = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
+
+
+
+  template<typename _Tp, typename _Up>
+    struct is_nothrow_assignable
+    : public __is_nothrow_assignable_impl<_Tp, _Up>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_nothrow_copy_assignable
+    : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>,
+       __add_lval_ref_t<const _Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_nothrow_move_assignable
+    : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>,
+       __add_rval_ref_t<_Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename... _Args>
+    using __is_trivially_constructible_impl
+      = __bool_constant<__is_trivially_constructible(_Tp, _Args...)>;
+
+
+
+  template<typename _Tp, typename... _Args>
+    struct is_trivially_constructible
+    : public __is_trivially_constructible_impl<_Tp, _Args...>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_trivially_default_constructible
+    : public __is_trivially_constructible_impl<_Tp>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+# 1370 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  struct __do_is_implicitly_default_constructible_impl
+  {
+    template <typename _Tp>
+    static void __helper(const _Tp&);
+
+    template <typename _Tp>
+    static true_type __test(const _Tp&,
+                            decltype(__helper<const _Tp&>({}))* = 0);
+
+    static false_type __test(...);
+  };
+
+  template<typename _Tp>
+    struct __is_implicitly_default_constructible_impl
+    : public __do_is_implicitly_default_constructible_impl
+    {
+      using type = decltype(__test(declval<_Tp>()));
+    };
+
+  template<typename _Tp>
+    struct __is_implicitly_default_constructible_safe
+    : public __is_implicitly_default_constructible_impl<_Tp>::type
+    { };
+
+  template <typename _Tp>
+    struct __is_implicitly_default_constructible
+    : public __and_<__is_constructible_impl<_Tp>,
+      __is_implicitly_default_constructible_safe<_Tp>>::type
+    { };
+
+
+
+  template<typename _Tp>
+    struct is_trivially_copy_constructible
+    : public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_trivially_move_constructible
+    : public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename _Up>
+    using __is_trivially_assignable_impl
+      = __bool_constant<__is_trivially_assignable(_Tp, _Up)>;
+
+
+
+  template<typename _Tp, typename _Up>
+    struct is_trivially_assignable
+    : public __is_trivially_assignable_impl<_Tp, _Up>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_trivially_copy_assignable
+    : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>,
+         __add_lval_ref_t<const _Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_trivially_move_assignable
+    : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>,
+         __add_rval_ref_t<_Tp>>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_trivially_destructible
+    : public __and_<__is_destructible_safe<_Tp>,
+      __bool_constant<__has_trivial_destructor(_Tp)>>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+  template<typename _Tp>
+    struct has_virtual_destructor
+    : public __bool_constant<__has_virtual_destructor(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+
+
+  template<typename _Tp>
+    struct alignment_of
+    : public integral_constant<std::size_t, alignof(_Tp)>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+
+  template<typename _Tp>
+    struct rank
+    : public integral_constant<std::size_t, __array_rank(_Tp)> { };
+# 1507 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename, unsigned _Uint = 0>
+    struct extent
+    : public integral_constant<size_t, 0> { };
+
+  template<typename _Tp, size_t _Size>
+    struct extent<_Tp[_Size], 0>
+    : public integral_constant<size_t, _Size> { };
+
+  template<typename _Tp, unsigned _Uint, size_t _Size>
+    struct extent<_Tp[_Size], _Uint>
+    : public extent<_Tp, _Uint - 1>::type { };
+
+  template<typename _Tp>
+    struct extent<_Tp[], 0>
+    : public integral_constant<size_t, 0> { };
+
+  template<typename _Tp, unsigned _Uint>
+    struct extent<_Tp[], _Uint>
+    : public extent<_Tp, _Uint - 1>::type { };
+
+
+
+
+
+
+  template<typename _Tp, typename _Up>
+    struct is_same
+    : public __bool_constant<__is_same(_Tp, _Up)>
+    { };
+# 1549 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Base, typename _Derived>
+    struct is_base_of
+    : public __bool_constant<__is_base_of(_Base, _Derived)>
+    { };
+# 1564 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _From, typename _To>
+    struct is_convertible
+    : public __bool_constant<__is_convertible(_From, _To)>
+    { };
+# 1607 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _ToElementType, typename _FromElementType>
+    using __is_array_convertible
+      = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
+# 1667 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++14-extensions"
+  template<typename _Tp, typename... _Args>
+    struct __is_nothrow_new_constructible_impl
+    : __bool_constant<
+ noexcept(::new(std::declval<void*>()) _Tp(std::declval<_Args>()...))
+      >
+    { };
+
+  template<typename _Tp, typename... _Args>
+    inline constexpr bool __is_nothrow_new_constructible
+      = __and_<is_constructible<_Tp, _Args...>,
+        __is_nothrow_new_constructible_impl<_Tp, _Args...>>::value;
+#pragma GCC diagnostic pop
+
+
+
+
+  template<typename _Tp>
+    struct remove_const
+    { using type = _Tp; };
+
+  template<typename _Tp>
+    struct remove_const<_Tp const>
+    { using type = _Tp; };
+
+
+  template<typename _Tp>
+    struct remove_volatile
+    { using type = _Tp; };
+
+  template<typename _Tp>
+    struct remove_volatile<_Tp volatile>
+    { using type = _Tp; };
+
+
+
+  template<typename _Tp>
+    struct remove_cv
+    { using type = __remove_cv(_Tp); };
+# 1726 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct add_const
+    { using type = _Tp const; };
+
+
+  template<typename _Tp>
+    struct add_volatile
+    { using type = _Tp volatile; };
+
+
+  template<typename _Tp>
+    struct add_cv
+    { using type = _Tp const volatile; };
+
+
+
+  template<typename _Tp>
+    using remove_const_t = typename remove_const<_Tp>::type;
+
+
+  template<typename _Tp>
+    using remove_volatile_t = typename remove_volatile<_Tp>::type;
+
+
+  template<typename _Tp>
+    using remove_cv_t = typename remove_cv<_Tp>::type;
+
+
+  template<typename _Tp>
+    using add_const_t = typename add_const<_Tp>::type;
+
+
+  template<typename _Tp>
+    using add_volatile_t = typename add_volatile<_Tp>::type;
+
+
+  template<typename _Tp>
+    using add_cv_t = typename add_cv<_Tp>::type;
+# 1774 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct remove_reference
+    { using type = _Tp; };
+
+  template<typename _Tp>
+    struct remove_reference<_Tp&>
+    { using type = _Tp; };
+
+  template<typename _Tp>
+    struct remove_reference<_Tp&&>
+    { using type = _Tp; };
+
+
+
+  template<typename _Tp>
+    struct add_lvalue_reference
+    { using type = __add_lval_ref_t<_Tp>; };
+
+
+  template<typename _Tp>
+    struct add_rvalue_reference
+    { using type = __add_rval_ref_t<_Tp>; };
+
+
+
+  template<typename _Tp>
+    using remove_reference_t = typename remove_reference<_Tp>::type;
+
+
+  template<typename _Tp>
+    using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
+
+
+  template<typename _Tp>
+    using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
+
+
+
+
+
+
+
+  template<typename _Unqualified, bool _IsConst, bool _IsVol>
+    struct __cv_selector;
+
+  template<typename _Unqualified>
+    struct __cv_selector<_Unqualified, false, false>
+    { using __type = _Unqualified; };
+
+  template<typename _Unqualified>
+    struct __cv_selector<_Unqualified, false, true>
+    { using __type = volatile _Unqualified; };
+
+  template<typename _Unqualified>
+    struct __cv_selector<_Unqualified, true, false>
+    { using __type = const _Unqualified; };
+
+  template<typename _Unqualified>
+    struct __cv_selector<_Unqualified, true, true>
+    { using __type = const volatile _Unqualified; };
+
+  template<typename _Qualified, typename _Unqualified,
+    bool _IsConst = is_const<_Qualified>::value,
+    bool _IsVol = is_volatile<_Qualified>::value>
+    class __match_cv_qualifiers
+    {
+      using __match = __cv_selector<_Unqualified, _IsConst, _IsVol>;
+
+    public:
+      using __type = typename __match::__type;
+    };
+
+
+  template<typename _Tp>
+    struct __make_unsigned
+    { using __type = _Tp; };
+
+  template<>
+    struct __make_unsigned<char>
+    { using __type = unsigned char; };
+
+  template<>
+    struct __make_unsigned<signed char>
+    { using __type = unsigned char; };
+
+  template<>
+    struct __make_unsigned<short>
+    { using __type = unsigned short; };
+
+  template<>
+    struct __make_unsigned<int>
+    { using __type = unsigned int; };
+
+  template<>
+    struct __make_unsigned<long>
+    { using __type = unsigned long; };
+
+  template<>
+    struct __make_unsigned<long long>
+    { using __type = unsigned long long; };
+
+
+  __extension__
+  template<>
+    struct __make_unsigned<__int128>
+    { using __type = unsigned __int128; };
+# 1901 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp,
+    bool _IsInt = is_integral<_Tp>::value,
+    bool _IsEnum = __is_enum(_Tp)>
+    class __make_unsigned_selector;
+
+  template<typename _Tp>
+    class __make_unsigned_selector<_Tp, true, false>
+    {
+      using __unsigned_type
+ = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
+
+    public:
+      using __type
+ = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
+    };
+
+  class __make_unsigned_selector_base
+  {
+  protected:
+    template<typename...> struct _List { };
+
+    template<typename _Tp, typename... _Up>
+      struct _List<_Tp, _Up...> : _List<_Up...>
+      { static constexpr size_t __size = sizeof(_Tp); };
+
+    template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
+      struct __select;
+
+    template<size_t _Sz, typename _Uint, typename... _UInts>
+      struct __select<_Sz, _List<_Uint, _UInts...>, true>
+      { using __type = _Uint; };
+
+    template<size_t _Sz, typename _Uint, typename... _UInts>
+      struct __select<_Sz, _List<_Uint, _UInts...>, false>
+      : __select<_Sz, _List<_UInts...>>
+      { };
+  };
+
+
+  template<typename _Tp>
+    class __make_unsigned_selector<_Tp, false, true>
+    : __make_unsigned_selector_base
+    {
+
+      using _UInts = _List<unsigned char, unsigned short, unsigned int,
+      unsigned long, unsigned long long>;
+
+      using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
+
+    public:
+      using __type
+ = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
+    };
+
+
+
+
+
+  template<>
+    struct __make_unsigned<wchar_t>
+    {
+      using __type
+ = typename __make_unsigned_selector<wchar_t, false, true>::__type;
+    };
+# 1975 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<>
+    struct __make_unsigned<char16_t>
+    {
+      using __type
+ = typename __make_unsigned_selector<char16_t, false, true>::__type;
+    };
+
+  template<>
+    struct __make_unsigned<char32_t>
+    {
+      using __type
+ = typename __make_unsigned_selector<char32_t, false, true>::__type;
+    };
+
+
+
+
+
+
+  template<typename _Tp>
+    struct make_unsigned
+    { using type = typename __make_unsigned_selector<_Tp>::__type; };
+
+
+  template<> struct make_unsigned<bool>;
+  template<> struct make_unsigned<bool const>;
+  template<> struct make_unsigned<bool volatile>;
+  template<> struct make_unsigned<bool const volatile>;
+
+
+
+
+  template<typename _Tp>
+    struct __make_signed
+    { using __type = _Tp; };
+
+  template<>
+    struct __make_signed<char>
+    { using __type = signed char; };
+
+  template<>
+    struct __make_signed<unsigned char>
+    { using __type = signed char; };
+
+  template<>
+    struct __make_signed<unsigned short>
+    { using __type = signed short; };
+
+  template<>
+    struct __make_signed<unsigned int>
+    { using __type = signed int; };
+
+  template<>
+    struct __make_signed<unsigned long>
+    { using __type = signed long; };
+
+  template<>
+    struct __make_signed<unsigned long long>
+    { using __type = signed long long; };
+
+
+  __extension__
+  template<>
+    struct __make_signed<unsigned __int128>
+    { using __type = __int128; };
+# 2061 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp,
+    bool _IsInt = is_integral<_Tp>::value,
+    bool _IsEnum = __is_enum(_Tp)>
+    class __make_signed_selector;
+
+  template<typename _Tp>
+    class __make_signed_selector<_Tp, true, false>
+    {
+      using __signed_type
+ = typename __make_signed<__remove_cv_t<_Tp>>::__type;
+
+    public:
+      using __type
+ = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
+    };
+
+
+  template<typename _Tp>
+    class __make_signed_selector<_Tp, false, true>
+    {
+      using __unsigned_type = typename __make_unsigned_selector<_Tp>::__type;
+
+    public:
+      using __type = typename __make_signed_selector<__unsigned_type>::__type;
+    };
+
+
+
+
+
+  template<>
+    struct __make_signed<wchar_t>
+    {
+      using __type
+ = typename __make_signed_selector<wchar_t, false, true>::__type;
+    };
+# 2107 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<>
+    struct __make_signed<char16_t>
+    {
+      using __type
+ = typename __make_signed_selector<char16_t, false, true>::__type;
+    };
+
+  template<>
+    struct __make_signed<char32_t>
+    {
+      using __type
+ = typename __make_signed_selector<char32_t, false, true>::__type;
+    };
+
+
+
+
+
+
+  template<typename _Tp>
+    struct make_signed
+    { using type = typename __make_signed_selector<_Tp>::__type; };
+
+
+  template<> struct make_signed<bool>;
+  template<> struct make_signed<bool const>;
+  template<> struct make_signed<bool volatile>;
+  template<> struct make_signed<bool const volatile>;
+
+
+
+  template<typename _Tp>
+    using make_signed_t = typename make_signed<_Tp>::type;
+
+
+  template<typename _Tp>
+    using make_unsigned_t = typename make_unsigned<_Tp>::type;
+
+
+
+
+
+
+  template<typename _Tp>
+    struct remove_extent
+    { using type = __remove_extent(_Tp); };
+# 2169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct remove_all_extents
+    { using type = __remove_all_extents(_Tp); };
+# 2188 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    using remove_extent_t = typename remove_extent<_Tp>::type;
+
+
+  template<typename _Tp>
+    using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
+
+
+
+
+
+
+  template<typename _Tp>
+    struct remove_pointer
+    { using type = __remove_pointer(_Tp); };
+# 2220 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct add_pointer
+    { using type = __add_pointer(_Tp); };
+# 2248 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    using remove_pointer_t = typename remove_pointer<_Tp>::type;
+
+
+  template<typename _Tp>
+    using add_pointer_t = typename add_pointer<_Tp>::type;
+
+
+
+
+
+  struct __attribute__((__aligned__)) __aligned_storage_max_align_t
+  { };
+
+  constexpr size_t
+  __aligned_storage_default_alignment([[__maybe_unused__]] size_t __len)
+  {
+# 2279 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+    return alignof(__aligned_storage_max_align_t);
+
+  }
+# 2315 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<size_t _Len,
+    size_t _Align = __aligned_storage_default_alignment(_Len)>
+    struct
+
+    aligned_storage
+    {
+      struct type
+      {
+ alignas(_Align) unsigned char __data[_Len];
+      };
+    };
+
+  template <typename... _Types>
+    struct __strictest_alignment
+    {
+      static const size_t _S_alignment = 0;
+      static const size_t _S_size = 0;
+    };
+
+  template <typename _Tp, typename... _Types>
+    struct __strictest_alignment<_Tp, _Types...>
+    {
+      static const size_t _S_alignment =
+        alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
+ ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
+      static const size_t _S_size =
+        sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
+ ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
+    };
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# 2360 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template <size_t _Len, typename... _Types>
+    struct
+
+    aligned_union
+    {
+    private:
+      static_assert(sizeof...(_Types) != 0, "At least one type is required");
+
+      using __strictest = __strictest_alignment<_Types...>;
+      static const size_t _S_len = _Len > __strictest::_S_size
+ ? _Len : __strictest::_S_size;
+    public:
+
+      static const size_t alignment_value = __strictest::_S_alignment;
+
+      using type = typename aligned_storage<_S_len, alignment_value>::type;
+    };
+
+  template <size_t _Len, typename... _Types>
+    const size_t aligned_union<_Len, _Types...>::alignment_value;
+#pragma GCC diagnostic pop
+
+
+
+
+  template<typename _Tp>
+    struct decay
+    { using type = __decay(_Tp); };
+# 2425 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct __strip_reference_wrapper
+    {
+      using __type = _Tp;
+    };
+
+  template<typename _Tp>
+    struct __strip_reference_wrapper<reference_wrapper<_Tp> >
+    {
+      using __type = _Tp&;
+    };
+
+
+  template<typename _Tp>
+    using __decay_t = typename decay<_Tp>::type;
+
+  template<typename _Tp>
+    using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
+
+
+
+
+
+  template<typename... _Cond>
+    using _Require = __enable_if_t<__and_<_Cond...>::value>;
+
+
+  template<typename _Tp>
+    using __remove_cvref_t
+     = typename remove_cv<typename remove_reference<_Tp>::type>::type;
+
+
+
+
+  template<bool _Cond, typename _Iftrue, typename _Iffalse>
+    struct conditional
+    { using type = _Iftrue; };
+
+
+  template<typename _Iftrue, typename _Iffalse>
+    struct conditional<false, _Iftrue, _Iffalse>
+    { using type = _Iffalse; };
+
+
+  template<typename... _Tp>
+    struct common_type;
+# 2481 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Tp>
+    struct __success_type
+    { using type = _Tp; };
+
+  struct __failure_type
+  { };
+
+  struct __do_common_type_impl
+  {
+    template<typename _Tp, typename _Up>
+      using __cond_t
+ = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
+
+
+
+    template<typename _Tp, typename _Up>
+      static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
+      _S_test(int);
+# 2508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+    template<typename, typename>
+      static __failure_type
+      _S_test_2(...);
+
+    template<typename _Tp, typename _Up>
+      static decltype(_S_test_2<_Tp, _Up>(0))
+      _S_test(...);
+  };
+
+
+  template<>
+    struct common_type<>
+    { };
+
+
+  template<typename _Tp0>
+    struct common_type<_Tp0>
+    : public common_type<_Tp0, _Tp0>
+    { };
+
+
+  template<typename _Tp1, typename _Tp2,
+    typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
+    struct __common_type_impl
+    {
+
+
+      using type = common_type<_Dp1, _Dp2>;
+    };
+
+  template<typename _Tp1, typename _Tp2>
+    struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
+    : private __do_common_type_impl
+    {
+
+
+      using type = decltype(_S_test<_Tp1, _Tp2>(0));
+    };
+
+
+  template<typename _Tp1, typename _Tp2>
+    struct common_type<_Tp1, _Tp2>
+    : public __common_type_impl<_Tp1, _Tp2>::type
+    { };
+
+  template<typename...>
+    struct __common_type_pack
+    { };
+
+  template<typename, typename, typename = void>
+    struct __common_type_fold;
+
+
+  template<typename _Tp1, typename _Tp2, typename... _Rp>
+    struct common_type<_Tp1, _Tp2, _Rp...>
+    : public __common_type_fold<common_type<_Tp1, _Tp2>,
+    __common_type_pack<_Rp...>>
+    { };
+
+
+
+
+  template<typename _CTp, typename... _Rp>
+    struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
+         __void_t<typename _CTp::type>>
+    : public common_type<typename _CTp::type, _Rp...>
+    { };
+
+
+  template<typename _CTp, typename _Rp>
+    struct __common_type_fold<_CTp, _Rp, void>
+    { };
+
+  template<typename _Tp, bool = __is_enum(_Tp)>
+    struct __underlying_type_impl
+    {
+      using type = __underlying_type(_Tp);
+    };
+
+  template<typename _Tp>
+    struct __underlying_type_impl<_Tp, false>
+    { };
+
+
+
+  template<typename _Tp>
+    struct underlying_type
+    : public __underlying_type_impl<_Tp>
+    { };
+
+
+  template<typename _Tp>
+    struct __declval_protector
+    {
+      static const bool __stop = false;
+    };
+
+
+
+
+
+
+  template<typename _Tp>
+    auto declval() noexcept -> decltype(__declval<_Tp>(0))
+    {
+      static_assert(__declval_protector<_Tp>::__stop,
+      "declval() must not be used!");
+      return __declval<_Tp>(0);
+    }
+
+
+  template<typename _Signature>
+    struct result_of;
+
+
+
+
+  struct __invoke_memfun_ref { };
+  struct __invoke_memfun_deref { };
+  struct __invoke_memobj_ref { };
+  struct __invoke_memobj_deref { };
+  struct __invoke_other { };
+
+
+  template<typename _Tp, typename _Tag>
+    struct __result_of_success : __success_type<_Tp>
+    { using __invoke_type = _Tag; };
+
+
+  struct __result_of_memfun_ref_impl
+  {
+    template<typename _Fp, typename _Tp1, typename... _Args>
+      static __result_of_success<decltype(
+      (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
+      ), __invoke_memfun_ref> _S_test(int);
+
+    template<typename...>
+      static __failure_type _S_test(...);
+  };
+
+  template<typename _MemPtr, typename _Arg, typename... _Args>
+    struct __result_of_memfun_ref
+    : private __result_of_memfun_ref_impl
+    {
+      using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0));
+    };
+
+
+  struct __result_of_memfun_deref_impl
+  {
+    template<typename _Fp, typename _Tp1, typename... _Args>
+      static __result_of_success<decltype(
+      ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
+      ), __invoke_memfun_deref> _S_test(int);
+
+    template<typename...>
+      static __failure_type _S_test(...);
+  };
+
+  template<typename _MemPtr, typename _Arg, typename... _Args>
+    struct __result_of_memfun_deref
+    : private __result_of_memfun_deref_impl
+    {
+      using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0));
+    };
+
+
+  struct __result_of_memobj_ref_impl
+  {
+    template<typename _Fp, typename _Tp1>
+      static __result_of_success<decltype(
+      std::declval<_Tp1>().*std::declval<_Fp>()
+      ), __invoke_memobj_ref> _S_test(int);
+
+    template<typename, typename>
+      static __failure_type _S_test(...);
+  };
+
+  template<typename _MemPtr, typename _Arg>
+    struct __result_of_memobj_ref
+    : private __result_of_memobj_ref_impl
+    {
+      using type = decltype(_S_test<_MemPtr, _Arg>(0));
+    };
+
+
+  struct __result_of_memobj_deref_impl
+  {
+    template<typename _Fp, typename _Tp1>
+      static __result_of_success<decltype(
+      (*std::declval<_Tp1>()).*std::declval<_Fp>()
+      ), __invoke_memobj_deref> _S_test(int);
+
+    template<typename, typename>
+      static __failure_type _S_test(...);
+  };
+
+  template<typename _MemPtr, typename _Arg>
+    struct __result_of_memobj_deref
+    : private __result_of_memobj_deref_impl
+    {
+      using type = decltype(_S_test<_MemPtr, _Arg>(0));
+    };
+
+  template<typename _MemPtr, typename _Arg>
+    struct __result_of_memobj;
+
+  template<typename _Res, typename _Class, typename _Arg>
+    struct __result_of_memobj<_Res _Class::*, _Arg>
+    {
+      using _Argval = __remove_cvref_t<_Arg>;
+      using _MemPtr = _Res _Class::*;
+      using type = typename __conditional_t<__or_<is_same<_Argval, _Class>,
+        is_base_of<_Class, _Argval>>::value,
+        __result_of_memobj_ref<_MemPtr, _Arg>,
+        __result_of_memobj_deref<_MemPtr, _Arg>
+      >::type;
+    };
+
+  template<typename _MemPtr, typename _Arg, typename... _Args>
+    struct __result_of_memfun;
+
+  template<typename _Res, typename _Class, typename _Arg, typename... _Args>
+    struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
+    {
+      using _Argval = typename remove_reference<_Arg>::type;
+      using _MemPtr = _Res _Class::*;
+      using type = typename __conditional_t<is_base_of<_Class, _Argval>::value,
+        __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
+        __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
+      >::type;
+    };
+
+
+
+
+
+
+  template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
+    struct __inv_unwrap
+    {
+      using type = _Tp;
+    };
+
+  template<typename _Tp, typename _Up>
+    struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
+    {
+      using type = _Up&;
+    };
+
+  template<bool, bool, typename _Functor, typename... _ArgTypes>
+    struct __result_of_impl
+    {
+      using type = __failure_type;
+    };
+
+  template<typename _MemPtr, typename _Arg>
+    struct __result_of_impl<true, false, _MemPtr, _Arg>
+    : public __result_of_memobj<__decay_t<_MemPtr>,
+    typename __inv_unwrap<_Arg>::type>
+    { };
+
+  template<typename _MemPtr, typename _Arg, typename... _Args>
+    struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
+    : public __result_of_memfun<__decay_t<_MemPtr>,
+    typename __inv_unwrap<_Arg>::type, _Args...>
+    { };
+
+
+  struct __result_of_other_impl
+  {
+    template<typename _Fn, typename... _Args>
+      static __result_of_success<decltype(
+      std::declval<_Fn>()(std::declval<_Args>()...)
+      ), __invoke_other> _S_test(int);
+
+    template<typename...>
+      static __failure_type _S_test(...);
+  };
+
+  template<typename _Functor, typename... _ArgTypes>
+    struct __result_of_impl<false, false, _Functor, _ArgTypes...>
+    : private __result_of_other_impl
+    {
+      using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
+    };
+
+
+  template<typename _Functor, typename... _ArgTypes>
+    struct __invoke_result
+    : public __result_of_impl<
+        is_member_object_pointer<
+          typename remove_reference<_Functor>::type
+        >::value,
+        is_member_function_pointer<
+          typename remove_reference<_Functor>::type
+        >::value,
+ _Functor, _ArgTypes...
+      >::type
+    { };
+
+
+  template<typename _Fn, typename... _Args>
+    using __invoke_result_t = typename __invoke_result<_Fn, _Args...>::type;
+
+
+  template<typename _Functor, typename... _ArgTypes>
+    struct result_of<_Functor(_ArgTypes...)>
+    : public __invoke_result<_Functor, _ArgTypes...>
+    { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+  template<size_t _Len,
+    size_t _Align = __aligned_storage_default_alignment(_Len)>
+    using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
+
+  template <size_t _Len, typename... _Types>
+    using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
+#pragma GCC diagnostic pop
+
+
+  template<typename _Tp>
+    using decay_t = typename decay<_Tp>::type;
+
+
+  template<bool _Cond, typename _Tp = void>
+    using enable_if_t = typename enable_if<_Cond, _Tp>::type;
+
+
+  template<bool _Cond, typename _Iftrue, typename _Iffalse>
+    using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
+
+
+  template<typename... _Tp>
+    using common_type_t = typename common_type<_Tp...>::type;
+
+
+  template<typename _Tp>
+    using underlying_type_t = typename underlying_type<_Tp>::type;
+
+
+  template<typename _Tp>
+    using result_of_t = typename result_of<_Tp>::type;
+
+
+
+
+  template<typename...> using void_t = void;
+# 2885 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Default, typename _AlwaysVoid,
+    template<typename...> class _Op, typename... _Args>
+    struct __detector
+    {
+      using type = _Default;
+      using __is_detected = false_type;
+    };
+
+
+  template<typename _Default, template<typename...> class _Op,
+     typename... _Args>
+    struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
+    {
+      using type = _Op<_Args...>;
+      using __is_detected = true_type;
+    };
+
+  template<typename _Default, template<typename...> class _Op,
+    typename... _Args>
+    using __detected_or = __detector<_Default, void, _Op, _Args...>;
+
+
+
+  template<typename _Default, template<typename...> class _Op,
+    typename... _Args>
+    using __detected_or_t
+      = typename __detected_or<_Default, _Op, _Args...>::type;
+# 2927 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template <typename _Tp>
+    struct __is_swappable;
+
+  template <typename _Tp>
+    struct __is_nothrow_swappable;
+
+  template<typename>
+    struct __is_tuple_like_impl : false_type
+    { };
+
+
+  template<typename _Tp>
+    struct __is_tuple_like
+    : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
+    { };
+
+
+  template<typename _Tp>
+
+    inline
+    _Require<__not_<__is_tuple_like<_Tp>>,
+      is_move_constructible<_Tp>,
+      is_move_assignable<_Tp>>
+    swap(_Tp&, _Tp&)
+    noexcept(__and_<is_nothrow_move_constructible<_Tp>,
+             is_nothrow_move_assignable<_Tp>>::value);
+
+  template<typename _Tp, size_t _Nm>
+
+    inline
+    __enable_if_t<__is_swappable<_Tp>::value>
+    swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
+    noexcept(__is_nothrow_swappable<_Tp>::value);
+
+
+  namespace __swappable_details {
+    using std::swap;
+
+    struct __do_is_swappable_impl
+    {
+      template<typename _Tp, typename
+               = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
+        static true_type __test(int);
+
+      template<typename>
+        static false_type __test(...);
+    };
+
+    struct __do_is_nothrow_swappable_impl
+    {
+      template<typename _Tp>
+        static __bool_constant<
+          noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
+        > __test(int);
+
+      template<typename>
+        static false_type __test(...);
+    };
+
+  }
+
+  template<typename _Tp>
+    struct __is_swappable_impl
+    : public __swappable_details::__do_is_swappable_impl
+    {
+      using type = decltype(__test<_Tp>(0));
+    };
+
+  template<typename _Tp>
+    struct __is_nothrow_swappable_impl
+    : public __swappable_details::__do_is_nothrow_swappable_impl
+    {
+      using type = decltype(__test<_Tp>(0));
+    };
+
+  template<typename _Tp>
+    struct __is_swappable
+    : public __is_swappable_impl<_Tp>::type
+    { };
+
+  template<typename _Tp>
+    struct __is_nothrow_swappable
+    : public __is_nothrow_swappable_impl<_Tp>::type
+    { };
+
+
+
+
+
+
+  template<typename _Tp>
+    struct is_swappable
+    : public __is_swappable_impl<_Tp>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp>
+    struct is_nothrow_swappable
+    : public __is_nothrow_swappable_impl<_Tp>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+  template<typename _Tp>
+    inline constexpr bool is_swappable_v =
+      is_swappable<_Tp>::value;
+
+
+  template<typename _Tp>
+    inline constexpr bool is_nothrow_swappable_v =
+      is_nothrow_swappable<_Tp>::value;
+
+
+
+  namespace __swappable_with_details {
+    using std::swap;
+
+    struct __do_is_swappable_with_impl
+    {
+      template<typename _Tp, typename _Up, typename
+               = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
+               typename
+               = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
+        static true_type __test(int);
+
+      template<typename, typename>
+        static false_type __test(...);
+    };
+
+    struct __do_is_nothrow_swappable_with_impl
+    {
+      template<typename _Tp, typename _Up>
+        static __bool_constant<
+          noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
+          &&
+          noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
+        > __test(int);
+
+      template<typename, typename>
+        static false_type __test(...);
+    };
+
+  }
+
+  template<typename _Tp, typename _Up>
+    struct __is_swappable_with_impl
+    : public __swappable_with_details::__do_is_swappable_with_impl
+    {
+      using type = decltype(__test<_Tp, _Up>(0));
+    };
+
+
+  template<typename _Tp>
+    struct __is_swappable_with_impl<_Tp&, _Tp&>
+    : public __swappable_details::__do_is_swappable_impl
+    {
+      using type = decltype(__test<_Tp&>(0));
+    };
+
+  template<typename _Tp, typename _Up>
+    struct __is_nothrow_swappable_with_impl
+    : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
+    {
+      using type = decltype(__test<_Tp, _Up>(0));
+    };
+
+
+  template<typename _Tp>
+    struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
+    : public __swappable_details::__do_is_nothrow_swappable_impl
+    {
+      using type = decltype(__test<_Tp&>(0));
+    };
+
+
+
+  template<typename _Tp, typename _Up>
+    struct is_swappable_with
+    : public __is_swappable_with_impl<_Tp, _Up>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "first template argument must be a complete class or an unbounded array");
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
+ "second template argument must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Tp, typename _Up>
+    struct is_nothrow_swappable_with
+    : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "first template argument must be a complete class or an unbounded array");
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
+ "second template argument must be a complete class or an unbounded array");
+    };
+
+
+
+  template<typename _Tp, typename _Up>
+    inline constexpr bool is_swappable_with_v =
+      is_swappable_with<_Tp, _Up>::value;
+
+
+  template<typename _Tp, typename _Up>
+    inline constexpr bool is_nothrow_swappable_with_v =
+      is_nothrow_swappable_with<_Tp, _Up>::value;
+# 3149 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+  template<typename _Result, typename _Ret,
+    bool = is_void<_Ret>::value, typename = void>
+    struct __is_invocable_impl
+    : false_type
+    {
+      using __nothrow_conv = false_type;
+    };
+
+
+  template<typename _Result, typename _Ret>
+    struct __is_invocable_impl<_Result, _Ret,
+                                true,
+          __void_t<typename _Result::type>>
+    : true_type
+    {
+      using __nothrow_conv = true_type;
+    };
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
+
+  template<typename _Result, typename _Ret>
+    struct __is_invocable_impl<_Result, _Ret,
+                                false,
+          __void_t<typename _Result::type>>
+    {
+    private:
+
+      using _Res_t = typename _Result::type;
+
+
+
+      static _Res_t _S_get() noexcept;
+
+
+      template<typename _Tp>
+ static void _S_conv(__type_identity_t<_Tp>) noexcept;
+
+
+      template<typename _Tp,
+        bool _Nothrow = noexcept(_S_conv<_Tp>(_S_get())),
+        typename = decltype(_S_conv<_Tp>(_S_get())),
+
+        bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t)
+
+
+
+       >
+ static __bool_constant<_Nothrow && !_Dangle>
+ _S_test(int);
+
+      template<typename _Tp, bool = false>
+ static false_type
+ _S_test(...);
+
+    public:
+
+      using type = decltype(_S_test<_Ret, true>(1));
+
+
+      using __nothrow_conv = decltype(_S_test<_Ret>(1));
+    };
+#pragma GCC diagnostic pop
+
+  template<typename _Fn, typename... _ArgTypes>
+    struct __is_invocable
+    : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
+    { };
+
+  template<typename _Fn, typename _Tp, typename... _Args>
+    constexpr bool __call_is_nt(__invoke_memfun_ref)
+    {
+      using _Up = typename __inv_unwrap<_Tp>::type;
+      return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
+     std::declval<_Args>()...));
+    }
+
+  template<typename _Fn, typename _Tp, typename... _Args>
+    constexpr bool __call_is_nt(__invoke_memfun_deref)
+    {
+      return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
+     std::declval<_Args>()...));
+    }
+
+  template<typename _Fn, typename _Tp>
+    constexpr bool __call_is_nt(__invoke_memobj_ref)
+    {
+      using _Up = typename __inv_unwrap<_Tp>::type;
+      return noexcept(std::declval<_Up>().*std::declval<_Fn>());
+    }
+
+  template<typename _Fn, typename _Tp>
+    constexpr bool __call_is_nt(__invoke_memobj_deref)
+    {
+      return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
+    }
+
+  template<typename _Fn, typename... _Args>
+    constexpr bool __call_is_nt(__invoke_other)
+    {
+      return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
+    }
+
+  template<typename _Result, typename _Fn, typename... _Args>
+    struct __call_is_nothrow
+    : __bool_constant<
+ std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
+      >
+    { };
+
+  template<typename _Fn, typename... _Args>
+    using __call_is_nothrow_
+      = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
+
+
+  template<typename _Fn, typename... _Args>
+    struct __is_nothrow_invocable
+    : __and_<__is_invocable<_Fn, _Args...>,
+             __call_is_nothrow_<_Fn, _Args...>>::type
+    { };
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
+  struct __nonesuchbase {};
+  struct __nonesuch : private __nonesuchbase {
+    ~__nonesuch() = delete;
+    __nonesuch(__nonesuch const&) = delete;
+    void operator=(__nonesuch const&) = delete;
+  };
+#pragma GCC diagnostic pop
+
+
+
+
+  template<typename _Functor, typename... _ArgTypes>
+    struct invoke_result
+    : public __invoke_result<_Functor, _ArgTypes...>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
+ "_Functor must be a complete class or an unbounded array");
+      static_assert((std::__is_complete_or_unbounded(
+ __type_identity<_ArgTypes>{}) && ...),
+ "each argument type must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Fn, typename... _Args>
+    using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
+
+
+  template<typename _Fn, typename... _ArgTypes>
+    struct is_invocable
+
+
+
+    : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
+
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
+ "_Fn must be a complete class or an unbounded array");
+      static_assert((std::__is_complete_or_unbounded(
+ __type_identity<_ArgTypes>{}) && ...),
+ "each argument type must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Ret, typename _Fn, typename... _ArgTypes>
+    struct is_invocable_r
+    : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
+ "_Fn must be a complete class or an unbounded array");
+      static_assert((std::__is_complete_or_unbounded(
+ __type_identity<_ArgTypes>{}) && ...),
+ "each argument type must be a complete class or an unbounded array");
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
+ "_Ret must be a complete class or an unbounded array");
+    };
+
+
+  template<typename _Fn, typename... _ArgTypes>
+    struct is_nothrow_invocable
+
+
+
+    : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
+      __call_is_nothrow_<_Fn, _ArgTypes...>>::type
+
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
+ "_Fn must be a complete class or an unbounded array");
+      static_assert((std::__is_complete_or_unbounded(
+ __type_identity<_ArgTypes>{}) && ...),
+ "each argument type must be a complete class or an unbounded array");
+    };
+
+
+
+
+
+  template<typename _Result, typename _Ret>
+    using __is_nt_invocable_impl
+      = typename __is_invocable_impl<_Result, _Ret>::__nothrow_conv;
+
+
+
+  template<typename _Ret, typename _Fn, typename... _ArgTypes>
+    struct is_nothrow_invocable_r
+    : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
+             __call_is_nothrow_<_Fn, _ArgTypes...>>::type
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
+ "_Fn must be a complete class or an unbounded array");
+      static_assert((std::__is_complete_or_unbounded(
+ __type_identity<_ArgTypes>{}) && ...),
+ "each argument type must be a complete class or an unbounded array");
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
+ "_Ret must be a complete class or an unbounded array");
+    };
+# 3385 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_void_v = is_void<_Tp>::value;
+template <typename _Tp>
+  inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
+template <typename _Tp>
+  inline constexpr bool is_integral_v = is_integral<_Tp>::value;
+template <typename _Tp>
+  inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
+
+
+template <typename _Tp>
+  inline constexpr bool is_array_v = __is_array(_Tp);
+# 3407 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_pointer_v = __is_pointer(_Tp);
+# 3422 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_lvalue_reference_v = false;
+template <typename _Tp>
+  inline constexpr bool is_lvalue_reference_v<_Tp&> = true;
+template <typename _Tp>
+  inline constexpr bool is_rvalue_reference_v = false;
+template <typename _Tp>
+  inline constexpr bool is_rvalue_reference_v<_Tp&&> = true;
+
+
+template <typename _Tp>
+  inline constexpr bool is_member_object_pointer_v =
+    __is_member_object_pointer(_Tp);
+
+
+
+
+
+
+
+template <typename _Tp>
+  inline constexpr bool is_member_function_pointer_v =
+    __is_member_function_pointer(_Tp);
+
+
+
+
+
+
+template <typename _Tp>
+  inline constexpr bool is_enum_v = __is_enum(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_union_v = __is_union(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_class_v = __is_class(_Tp);
+
+
+
+template <typename _Tp>
+  inline constexpr bool is_reference_v = __is_reference(_Tp);
+# 3471 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
+template <typename _Tp>
+  inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
+
+
+template <typename _Tp>
+  inline constexpr bool is_object_v = __is_object(_Tp);
+
+
+
+
+
+template <typename _Tp>
+  inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
+template <typename _Tp>
+  inline constexpr bool is_compound_v = !is_fundamental_v<_Tp>;
+
+
+template <typename _Tp>
+  inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp);
+
+
+
+
+
+
+template <typename _Tp>
+  inline constexpr bool is_const_v = __is_const(_Tp);
+# 3508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_function_v = __is_function(_Tp);
+# 3520 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_volatile_v = __is_volatile(_Tp);
+
+
+
+
+
+
+
+template <typename _Tp>
+
+  inline constexpr bool is_trivial_v = __is_trivial(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp);
+template <typename _Tp>
+
+  inline constexpr bool is_pod_v = __is_pod(_Tp);
+template <typename _Tp>
+  [[__deprecated__]]
+  inline constexpr bool is_literal_type_v = __is_literal_type(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_empty_v = __is_empty(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_abstract_v = __is_abstract(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_final_v = __is_final(_Tp);
+
+template <typename _Tp>
+  inline constexpr bool is_signed_v = is_signed<_Tp>::value;
+template <typename _Tp>
+  inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
+
+template <typename _Tp, typename... _Args>
+  inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...);
+template <typename _Tp>
+  inline constexpr bool is_default_constructible_v = __is_constructible(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_copy_constructible_v
+    = __is_constructible(_Tp, __add_lval_ref_t<const _Tp>);
+template <typename _Tp>
+  inline constexpr bool is_move_constructible_v
+    = __is_constructible(_Tp, __add_rval_ref_t<_Tp>);
+
+template <typename _Tp, typename _Up>
+  inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up);
+template <typename _Tp>
+  inline constexpr bool is_copy_assignable_v
+    = __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t<const _Tp>);
+template <typename _Tp>
+  inline constexpr bool is_move_assignable_v
+    = __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>);
+
+template <typename _Tp>
+  inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
+
+template <typename _Tp, typename... _Args>
+  inline constexpr bool is_trivially_constructible_v
+    = __is_trivially_constructible(_Tp, _Args...);
+template <typename _Tp>
+  inline constexpr bool is_trivially_default_constructible_v
+    = __is_trivially_constructible(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_trivially_copy_constructible_v
+    = __is_trivially_constructible(_Tp, __add_lval_ref_t<const _Tp>);
+template <typename _Tp>
+  inline constexpr bool is_trivially_move_constructible_v
+    = __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>);
+
+template <typename _Tp, typename _Up>
+  inline constexpr bool is_trivially_assignable_v
+    = __is_trivially_assignable(_Tp, _Up);
+template <typename _Tp>
+  inline constexpr bool is_trivially_copy_assignable_v
+    = __is_trivially_assignable(__add_lval_ref_t<_Tp>,
+    __add_lval_ref_t<const _Tp>);
+template <typename _Tp>
+  inline constexpr bool is_trivially_move_assignable_v
+    = __is_trivially_assignable(__add_lval_ref_t<_Tp>,
+    __add_rval_ref_t<_Tp>);
+# 3620 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp>
+  inline constexpr bool is_trivially_destructible_v =
+    is_trivially_destructible<_Tp>::value;
+
+
+template <typename _Tp, typename... _Args>
+  inline constexpr bool is_nothrow_constructible_v
+    = __is_nothrow_constructible(_Tp, _Args...);
+template <typename _Tp>
+  inline constexpr bool is_nothrow_default_constructible_v
+    = __is_nothrow_constructible(_Tp);
+template <typename _Tp>
+  inline constexpr bool is_nothrow_copy_constructible_v
+    = __is_nothrow_constructible(_Tp, __add_lval_ref_t<const _Tp>);
+template <typename _Tp>
+  inline constexpr bool is_nothrow_move_constructible_v
+    = __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>);
+
+template <typename _Tp, typename _Up>
+  inline constexpr bool is_nothrow_assignable_v
+    = __is_nothrow_assignable(_Tp, _Up);
+template <typename _Tp>
+  inline constexpr bool is_nothrow_copy_assignable_v
+    = __is_nothrow_assignable(__add_lval_ref_t<_Tp>,
+         __add_lval_ref_t<const _Tp>);
+template <typename _Tp>
+  inline constexpr bool is_nothrow_move_assignable_v
+    = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>);
+
+template <typename _Tp>
+  inline constexpr bool is_nothrow_destructible_v =
+    is_nothrow_destructible<_Tp>::value;
+
+template <typename _Tp>
+  inline constexpr bool has_virtual_destructor_v
+    = __has_virtual_destructor(_Tp);
+
+template <typename _Tp>
+  inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
+
+
+
+template <typename _Tp>
+  inline constexpr size_t rank_v = __array_rank(_Tp);
+# 3673 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+template <typename _Tp, unsigned _Idx = 0>
+  inline constexpr size_t extent_v = 0;
+template <typename _Tp, size_t _Size>
+  inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size;
+template <typename _Tp, unsigned _Idx, size_t _Size>
+  inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>;
+template <typename _Tp>
+  inline constexpr size_t extent_v<_Tp[], 0> = 0;
+template <typename _Tp, unsigned _Idx>
+  inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>;
+
+
+template <typename _Tp, typename _Up>
+  inline constexpr bool is_same_v = __is_same(_Tp, _Up);
+
+
+
+
+
+
+template <typename _Base, typename _Derived>
+  inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived);
+
+
+
+
+
+template <typename _From, typename _To>
+  inline constexpr bool is_convertible_v = __is_convertible(_From, _To);
+
+
+
+
+template<typename _Fn, typename... _Args>
+  inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
+template<typename _Fn, typename... _Args>
+  inline constexpr bool is_nothrow_invocable_v
+    = is_nothrow_invocable<_Fn, _Args...>::value;
+template<typename _Ret, typename _Fn, typename... _Args>
+  inline constexpr bool is_invocable_r_v
+    = is_invocable_r<_Ret, _Fn, _Args...>::value;
+template<typename _Ret, typename _Fn, typename... _Args>
+  inline constexpr bool is_nothrow_invocable_r_v
+    = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
+
+
+
+
+
+
+  template<typename _Tp>
+    struct has_unique_object_representations
+    : bool_constant<__has_unique_object_representations(
+      remove_cv_t<remove_all_extents_t<_Tp>>
+      )>
+    {
+      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
+ "template argument must be a complete class or an unbounded array");
+    };
+
+
+
+  template<typename _Tp>
+    inline constexpr bool has_unique_object_representations_v
+      = has_unique_object_representations<_Tp>::value;
+
+
+
+
+
+
+  template<typename _Tp>
+    struct is_aggregate
+    : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
+    { };
+
+
+
+
+
+
+  template<typename _Tp>
+    inline constexpr bool is_aggregate_v = __is_aggregate(remove_cv_t<_Tp>);
+# 4192 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
+}
+}
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 2 3
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+
+  template<typename _Tp>
+    __attribute__((__always_inline__))
+    inline constexpr _Tp*
+    __addressof(_Tp& __r) noexcept
+    { return __builtin_addressof(__r); }
+# 69 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+  template<typename _Tp>
+    [[__nodiscard__,__gnu__::__always_inline__]]
+    constexpr _Tp&&
+    forward(typename std::remove_reference<_Tp>::type& __t) noexcept
+    { return static_cast<_Tp&&>(__t); }
+# 82 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+  template<typename _Tp>
+    [[__nodiscard__,__gnu__::__always_inline__]]
+    constexpr _Tp&&
+    forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
+    {
+      static_assert(!std::is_lvalue_reference<_Tp>::value,
+   "std::forward must not be used to convert an rvalue to an lvalue");
+      return static_cast<_Tp&&>(__t);
+    }
+# 135 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+  template<typename _Tp>
+    [[__nodiscard__,__gnu__::__always_inline__]]
+    constexpr typename std::remove_reference<_Tp>::type&&
+    move(_Tp&& __t) noexcept
+    { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
+
+
+  template<typename _Tp>
+    struct __move_if_noexcept_cond
+    : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
+                    is_copy_constructible<_Tp>>::type { };
+# 156 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+  template<typename _Tp>
+    [[__nodiscard__,__gnu__::__always_inline__]]
+    constexpr
+    __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
+    move_if_noexcept(_Tp& __x) noexcept
+    { return std::move(__x); }
+# 173 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+  template<typename _Tp>
+    [[__nodiscard__,__gnu__::__always_inline__]]
+    inline constexpr _Tp*
+    addressof(_Tp& __r) noexcept
+    { return std::__addressof(__r); }
+
+
+
+  template<typename _Tp>
+    const _Tp* addressof(const _Tp&&) = delete;
+
+
+  template <typename _Tp, typename _Up = _Tp>
+
+    inline _Tp
+    __exchange(_Tp& __obj, _Up&& __new_val)
+    {
+      _Tp __old_val = std::move(__obj);
+      __obj = std::forward<_Up>(__new_val);
+      return __old_val;
+    }
+# 217 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
+  template<typename _Tp>
+
+    inline
+
+    typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
+         is_move_constructible<_Tp>,
+         is_move_assignable<_Tp>>::value>::type
+
+
+
+    swap(_Tp& __a, _Tp& __b)
+    noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
+
+    {
+
+
+
+
+      _Tp __tmp = std::move(__a);
+      __a = std::move(__b);
+      __b = std::move(__tmp);
+    }
+
+
+
+
+  template<typename _Tp, size_t _Nm>
+
+    inline
+
+    typename enable_if<__is_swappable<_Tp>::value>::type
+
+
+
+    swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
+    noexcept(__is_nothrow_swappable<_Tp>::value)
+    {
+      for (size_t __n = 0; __n < _Nm; ++__n)
+ swap(__a[__n], __b[__n]);
+    }
+
+
+
+}
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
+
+
+
+
+
+
+
+
+extern "C++" {
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+  class type_info;
+
+
+
+
+
+
+  namespace __exception_ptr
+  {
+    class exception_ptr;
+  }
+
+  using __exception_ptr::exception_ptr;
+# 75 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+  exception_ptr current_exception() noexcept;
+
+  template<typename _Ex>
+  exception_ptr make_exception_ptr(_Ex) noexcept;
+
+
+  void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
+
+  namespace __exception_ptr
+  {
+    using std::rethrow_exception;
+# 97 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+    class exception_ptr
+    {
+      void* _M_exception_object;
+
+      explicit exception_ptr(void* __e) noexcept;
+
+      void _M_addref() noexcept;
+      void _M_release() noexcept;
+
+      void *_M_get() const noexcept __attribute__ ((__pure__));
+
+      friend exception_ptr std::current_exception() noexcept;
+      friend void std::rethrow_exception(exception_ptr);
+      template<typename _Ex>
+      friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
+
+    public:
+      exception_ptr() noexcept;
+
+      exception_ptr(const exception_ptr&) noexcept;
+
+
+      exception_ptr(nullptr_t) noexcept
+      : _M_exception_object(nullptr)
+      { }
+
+      exception_ptr(exception_ptr&& __o) noexcept
+      : _M_exception_object(__o._M_exception_object)
+      { __o._M_exception_object = nullptr; }
+# 135 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+      exception_ptr&
+      operator=(const exception_ptr&) noexcept;
+
+
+      exception_ptr&
+      operator=(exception_ptr&& __o) noexcept
+      {
+        exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
+        return *this;
+      }
+
+
+      ~exception_ptr() noexcept;
+
+      void
+      swap(exception_ptr&) noexcept;
+# 161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+      explicit operator bool() const noexcept
+      { return _M_exception_object; }
+
+
+
+
+
+
+
+      friend bool
+      operator==(const exception_ptr& __x, const exception_ptr& __y)
+      noexcept
+      { return __x._M_exception_object == __y._M_exception_object; }
+
+      friend bool
+      operator!=(const exception_ptr& __x, const exception_ptr& __y)
+      noexcept
+      { return __x._M_exception_object != __y._M_exception_object; }
+
+
+      const class std::type_info*
+      __cxa_exception_type() const noexcept
+ __attribute__ ((__pure__));
+    };
+
+
+    inline
+    exception_ptr::exception_ptr() noexcept
+    : _M_exception_object(0)
+    { }
+
+
+    inline
+    exception_ptr::exception_ptr(const exception_ptr& __other)
+    noexcept
+    : _M_exception_object(__other._M_exception_object)
+    {
+      if (_M_exception_object)
+ _M_addref();
+    }
+
+
+    inline
+    exception_ptr::~exception_ptr() noexcept
+    {
+      if (_M_exception_object)
+ _M_release();
+    }
+
+
+    inline exception_ptr&
+    exception_ptr::operator=(const exception_ptr& __other) noexcept
+    {
+      exception_ptr(__other).swap(*this);
+      return *this;
+    }
+
+
+    inline void
+    exception_ptr::swap(exception_ptr &__other) noexcept
+    {
+      void *__tmp = _M_exception_object;
+      _M_exception_object = __other._M_exception_object;
+      __other._M_exception_object = __tmp;
+    }
+
+
+    inline void
+    swap(exception_ptr& __lhs, exception_ptr& __rhs)
+    { __lhs.swap(__rhs); }
+
+
+    template<typename _Ex>
+
+      inline void
+      __dest_thunk(void* __x)
+      { static_cast<_Ex*>(__x)->~_Ex(); }
+
+
+  }
+
+  using __exception_ptr::swap;
+
+
+
+  template<typename _Ex>
+    exception_ptr
+    make_exception_ptr(_Ex __ex) noexcept
+    {
+
+      using _Ex2 = typename decay<_Ex>::type;
+      void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
+      (void) __cxxabiv1::__cxa_init_primary_exception(
+   __e, const_cast<std::type_info*>(&typeid(_Ex)),
+   __exception_ptr::__dest_thunk<_Ex2>);
+      try
+ {
+   ::new (__e) _Ex2(__ex);
+   return exception_ptr(__e);
+ }
+      catch(...)
+ {
+   __cxxabiv1::__cxa_free_exception(__e);
+   return current_exception();
+ }
+# 276 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+    }
+# 290 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
+}
+
+}
+# 169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
+extern "C++" {
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 59 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
+  class nested_exception
+  {
+    exception_ptr _M_ptr;
+
+  public:
+
+    nested_exception() noexcept : _M_ptr(current_exception()) { }
+
+    nested_exception(const nested_exception&) noexcept = default;
+
+    nested_exception& operator=(const nested_exception&) noexcept = default;
+
+    virtual ~nested_exception() noexcept;
+
+
+    [[noreturn]]
+    void
+    rethrow_nested() const
+    {
+      if (_M_ptr)
+ rethrow_exception(_M_ptr);
+      std::terminate();
+    }
+
+
+    exception_ptr
+    nested_ptr() const noexcept
+    { return _M_ptr; }
+  };
+
+
+
+  template<typename _Except>
+    struct _Nested_exception : public _Except, public nested_exception
+    {
+      explicit _Nested_exception(const _Except& __ex)
+      : _Except(__ex)
+      { }
+
+      explicit _Nested_exception(_Except&& __ex)
+      : _Except(static_cast<_Except&&>(__ex))
+      { }
+    };
+# 145 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
+  template<typename _Tp>
+    [[noreturn]]
+    inline void
+    throw_with_nested(_Tp&& __t)
+    {
+      using _Up = typename decay<_Tp>::type;
+      using _CopyConstructible
+ = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
+      static_assert(_CopyConstructible::value,
+   "throw_with_nested argument must be CopyConstructible");
+
+
+      if constexpr (is_class_v<_Up>)
+ if constexpr (!is_final_v<_Up>)
+   if constexpr (!is_base_of_v<nested_exception, _Up>)
+     throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
+      throw std::forward<_Tp>(__t);
+
+
+
+
+
+    }
+# 203 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
+  template<typename _Ex>
+
+
+
+    inline void
+    rethrow_if_nested(const _Ex& __ex)
+    {
+      const _Ex* __ptr = __builtin_addressof(__ex);
+# 223 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
+      if constexpr (!is_polymorphic_v<_Ex>)
+ return;
+      else if constexpr (is_base_of_v<nested_exception, _Ex>
+    && !is_convertible_v<_Ex*, nested_exception*>)
+ return;
+
+
+
+
+      else if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
+ __ne_ptr->rethrow_nested();
+
+    }
+
+
+}
+
+}
+# 170 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 1 3
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+#pragma GCC diagnostic push
+
+
+#pragma GCC diagnostic ignored "-Warray-bounds"
+# 85 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+  template<typename _CharT>
+    struct _Char_types
+    {
+      typedef unsigned long int_type;
+
+      typedef std::streampos pos_type;
+      typedef std::streamoff off_type;
+      typedef std::mbstate_t state_type;
+
+    };
+# 112 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+  template<typename _CharT>
+    struct char_traits
+    {
+      typedef _CharT char_type;
+      typedef typename _Char_types<_CharT>::int_type int_type;
+
+      typedef typename _Char_types<_CharT>::pos_type pos_type;
+      typedef typename _Char_types<_CharT>::off_type off_type;
+      typedef typename _Char_types<_CharT>::state_type state_type;
+
+
+
+
+
+      static constexpr void
+      assign(char_type& __c1, const char_type& __c2)
+      {
+
+
+
+
+
+ __c1 = __c2;
+      }
+
+      static constexpr bool
+      eq(const char_type& __c1, const char_type& __c2)
+      { return __c1 == __c2; }
+
+      static constexpr bool
+      lt(const char_type& __c1, const char_type& __c2)
+      { return __c1 < __c2; }
+
+      static constexpr int
+      compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
+
+      static constexpr std::size_t
+      length(const char_type* __s);
+
+      static constexpr const char_type*
+      find(const char_type* __s, std::size_t __n, const char_type& __a);
+
+      static char_type*
+      move(char_type* __s1, const char_type* __s2, std::size_t __n);
+
+      static char_type*
+      copy(char_type* __s1, const char_type* __s2, std::size_t __n);
+
+      static char_type*
+      assign(char_type* __s, std::size_t __n, char_type __a);
+
+      static constexpr char_type
+      to_char_type(const int_type& __c)
+      { return static_cast<char_type>(__c); }
+
+      static constexpr int_type
+      to_int_type(const char_type& __c)
+      { return static_cast<int_type>(__c); }
+
+      static constexpr bool
+      eq_int_type(const int_type& __c1, const int_type& __c2)
+      { return __c1 == __c2; }
+
+
+      static constexpr int_type
+      eof()
+      { return static_cast<int_type>(-1); }
+
+      static constexpr int_type
+      not_eof(const int_type& __c)
+      { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
+
+    };
+
+  template<typename _CharT>
+    constexpr int
+    char_traits<_CharT>::
+    compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
+    {
+      for (std::size_t __i = 0; __i < __n; ++__i)
+ if (lt(__s1[__i], __s2[__i]))
+   return -1;
+ else if (lt(__s2[__i], __s1[__i]))
+   return 1;
+      return 0;
+    }
+
+  template<typename _CharT>
+    constexpr std::size_t
+    char_traits<_CharT>::
+    length(const char_type* __p)
+    {
+      std::size_t __i = 0;
+      while (!eq(__p[__i], char_type()))
+        ++__i;
+      return __i;
+    }
+
+  template<typename _CharT>
+    constexpr const typename char_traits<_CharT>::char_type*
+    char_traits<_CharT>::
+    find(const char_type* __s, std::size_t __n, const char_type& __a)
+    {
+      for (std::size_t __i = 0; __i < __n; ++__i)
+        if (eq(__s[__i], __a))
+          return __s + __i;
+      return 0;
+    }
+
+  template<typename _CharT>
+
+    typename char_traits<_CharT>::char_type*
+    char_traits<_CharT>::
+    move(char_type* __s1, const char_type* __s2, std::size_t __n)
+    {
+      if (__n == 0)
+ return __s1;
+# 248 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+      __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
+      return __s1;
+    }
+
+  template<typename _CharT>
+
+    typename char_traits<_CharT>::char_type*
+    char_traits<_CharT>::
+    copy(char_type* __s1, const char_type* __s2, std::size_t __n)
+    {
+      if (__n == 0)
+ return __s1;
+# 268 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+      __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
+      return __s1;
+    }
+
+  template<typename _CharT>
+
+    typename char_traits<_CharT>::char_type*
+    char_traits<_CharT>::
+    assign(char_type* __s, std::size_t __n, char_type __a)
+    {
+# 287 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+      if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
+ {
+   if (__n)
+     {
+       unsigned char __c;
+       __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
+       __builtin_memset(__s, __c, __n);
+     }
+ }
+      else
+ {
+   for (std::size_t __i = 0; __i < __n; ++__i)
+     __s[__i] = __a;
+ }
+      return __s;
+    }
+
+
+}
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 324 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+  template<typename _CharT>
+    struct char_traits : public __gnu_cxx::char_traits<_CharT>
+    { };
+
+
+
+  template<>
+    struct char_traits<char>
+    {
+      typedef char char_type;
+      typedef int int_type;
+
+      typedef streampos pos_type;
+      typedef streamoff off_type;
+      typedef mbstate_t state_type;
+
+
+
+
+
+      static constexpr void
+      assign(char_type& __c1, const char_type& __c2) noexcept
+      {
+
+
+
+
+
+ __c1 = __c2;
+      }
+
+      static constexpr bool
+      eq(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+      static constexpr bool
+      lt(const char_type& __c1, const char_type& __c2) noexcept
+      {
+
+ return (static_cast<unsigned char>(__c1)
+  < static_cast<unsigned char>(__c2));
+      }
+
+      static constexpr int
+      compare(const char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return 0;
+
+ if (std::__is_constant_evaluated())
+   {
+     for (size_t __i = 0; __i < __n; ++__i)
+       if (lt(__s1[__i], __s2[__i]))
+  return -1;
+       else if (lt(__s2[__i], __s1[__i]))
+  return 1;
+     return 0;
+   }
+
+ return __builtin_memcmp(__s1, __s2, __n);
+      }
+
+      static constexpr size_t
+      length(const char_type* __s)
+      {
+
+ if (std::__is_constant_evaluated())
+   return __gnu_cxx::char_traits<char_type>::length(__s);
+
+ return __builtin_strlen(__s);
+      }
+
+      static constexpr const char_type*
+      find(const char_type* __s, size_t __n, const char_type& __a)
+      {
+ if (__n == 0)
+   return 0;
+
+ if (std::__is_constant_evaluated())
+   return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
+
+ return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
+      }
+
+      static char_type*
+      move(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
+      }
+
+      static char_type*
+      copy(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
+      }
+
+      static char_type*
+      assign(char_type* __s, size_t __n, char_type __a)
+      {
+ if (__n == 0)
+   return __s;
+
+
+
+
+ return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
+      }
+
+      static constexpr char_type
+      to_char_type(const int_type& __c) noexcept
+      { return static_cast<char_type>(__c); }
+
+
+
+      static constexpr int_type
+      to_int_type(const char_type& __c) noexcept
+      { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
+
+      static constexpr bool
+      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+
+      static constexpr int_type
+      eof() noexcept
+      { return static_cast<int_type>(-1); }
+
+      static constexpr int_type
+      not_eof(const int_type& __c) noexcept
+      { return (__c == eof()) ? 0 : __c; }
+
+  };
+
+
+
+
+  template<>
+    struct char_traits<wchar_t>
+    {
+      typedef wchar_t char_type;
+      typedef wint_t int_type;
+
+      typedef streamoff off_type;
+      typedef wstreampos pos_type;
+      typedef mbstate_t state_type;
+
+
+
+
+
+      static constexpr void
+      assign(char_type& __c1, const char_type& __c2) noexcept
+      {
+
+
+
+
+
+ __c1 = __c2;
+      }
+
+      static constexpr bool
+      eq(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+      static constexpr bool
+      lt(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 < __c2; }
+
+      static constexpr int
+      compare(const char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return 0;
+
+ if (std::__is_constant_evaluated())
+   return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
+
+ return wmemcmp(__s1, __s2, __n);
+      }
+
+      static constexpr size_t
+      length(const char_type* __s)
+      {
+
+ if (std::__is_constant_evaluated())
+   return __gnu_cxx::char_traits<char_type>::length(__s);
+
+ return wcslen(__s);
+      }
+
+      static constexpr const char_type*
+      find(const char_type* __s, size_t __n, const char_type& __a)
+      {
+ if (__n == 0)
+   return 0;
+
+ if (std::__is_constant_evaluated())
+   return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
+
+ return wmemchr(__s, __a, __n);
+      }
+
+      static char_type*
+      move(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return wmemmove(__s1, __s2, __n);
+      }
+
+      static char_type*
+      copy(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return wmemcpy(__s1, __s2, __n);
+      }
+
+      static char_type*
+      assign(char_type* __s, size_t __n, char_type __a)
+      {
+ if (__n == 0)
+   return __s;
+
+
+
+
+ return wmemset(__s, __a, __n);
+      }
+
+      static constexpr char_type
+      to_char_type(const int_type& __c) noexcept
+      { return char_type(__c); }
+
+      static constexpr int_type
+      to_int_type(const char_type& __c) noexcept
+      { return int_type(__c); }
+
+      static constexpr bool
+      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+
+      static constexpr int_type
+      eof() noexcept
+      { return static_cast<int_type>((0xffffffffu)); }
+
+      static constexpr int_type
+      not_eof(const int_type& __c) noexcept
+      { return eq_int_type(__c, eof()) ? 0 : __c; }
+
+  };
+# 732 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+}
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<>
+    struct char_traits<char16_t>
+    {
+      typedef char16_t char_type;
+
+      typedef unsigned short int_type;
+
+
+
+
+      typedef streamoff off_type;
+      typedef u16streampos pos_type;
+      typedef mbstate_t state_type;
+
+
+
+
+
+      static constexpr void
+      assign(char_type& __c1, const char_type& __c2) noexcept
+      {
+
+
+
+
+
+ __c1 = __c2;
+      }
+
+      static constexpr bool
+      eq(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+      static constexpr bool
+      lt(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 < __c2; }
+
+      static constexpr int
+      compare(const char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ for (size_t __i = 0; __i < __n; ++__i)
+   if (lt(__s1[__i], __s2[__i]))
+     return -1;
+   else if (lt(__s2[__i], __s1[__i]))
+     return 1;
+ return 0;
+      }
+
+      static constexpr size_t
+      length(const char_type* __s)
+      {
+ size_t __i = 0;
+ while (!eq(__s[__i], char_type()))
+   ++__i;
+ return __i;
+      }
+
+      static constexpr const char_type*
+      find(const char_type* __s, size_t __n, const char_type& __a)
+      {
+ for (size_t __i = 0; __i < __n; ++__i)
+   if (eq(__s[__i], __a))
+     return __s + __i;
+ return 0;
+      }
+
+      static char_type*
+      move(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return (static_cast<char_type*>
+  (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
+      }
+
+      static char_type*
+      copy(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return (static_cast<char_type*>
+  (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
+      }
+
+      static char_type*
+      assign(char_type* __s, size_t __n, char_type __a)
+      {
+ for (size_t __i = 0; __i < __n; ++__i)
+   assign(__s[__i], __a);
+ return __s;
+      }
+
+      static constexpr char_type
+      to_char_type(const int_type& __c) noexcept
+      { return char_type(__c); }
+
+      static constexpr bool
+      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+
+      static constexpr int_type
+      to_int_type(const char_type& __c) noexcept
+      { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
+
+      static constexpr int_type
+      eof() noexcept
+      { return static_cast<int_type>(-1); }
+
+      static constexpr int_type
+      not_eof(const int_type& __c) noexcept
+      { return eq_int_type(__c, eof()) ? 0 : __c; }
+
+
+
+
+
+    };
+
+  template<>
+    struct char_traits<char32_t>
+    {
+      typedef char32_t char_type;
+
+      typedef unsigned int int_type;
+
+
+
+
+      typedef streamoff off_type;
+      typedef u32streampos pos_type;
+      typedef mbstate_t state_type;
+
+
+
+
+
+      static constexpr void
+      assign(char_type& __c1, const char_type& __c2) noexcept
+      {
+
+
+
+
+
+ __c1 = __c2;
+      }
+
+      static constexpr bool
+      eq(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+      static constexpr bool
+      lt(const char_type& __c1, const char_type& __c2) noexcept
+      { return __c1 < __c2; }
+
+      static constexpr int
+      compare(const char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ for (size_t __i = 0; __i < __n; ++__i)
+   if (lt(__s1[__i], __s2[__i]))
+     return -1;
+   else if (lt(__s2[__i], __s1[__i]))
+     return 1;
+ return 0;
+      }
+
+      static constexpr size_t
+      length(const char_type* __s)
+      {
+ size_t __i = 0;
+ while (!eq(__s[__i], char_type()))
+   ++__i;
+ return __i;
+      }
+
+      static constexpr const char_type*
+      find(const char_type* __s, size_t __n, const char_type& __a)
+      {
+ for (size_t __i = 0; __i < __n; ++__i)
+   if (eq(__s[__i], __a))
+     return __s + __i;
+ return 0;
+      }
+
+      static char_type*
+      move(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return (static_cast<char_type*>
+  (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
+      }
+
+      static char_type*
+      copy(char_type* __s1, const char_type* __s2, size_t __n)
+      {
+ if (__n == 0)
+   return __s1;
+
+
+
+
+ return (static_cast<char_type*>
+  (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
+      }
+
+      static char_type*
+      assign(char_type* __s, size_t __n, char_type __a)
+      {
+ for (size_t __i = 0; __i < __n; ++__i)
+   assign(__s[__i], __a);
+ return __s;
+      }
+
+      static constexpr char_type
+      to_char_type(const int_type& __c) noexcept
+      { return char_type(__c); }
+
+      static constexpr int_type
+      to_int_type(const char_type& __c) noexcept
+      { return int_type(__c); }
+
+      static constexpr bool
+      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
+      { return __c1 == __c2; }
+
+
+      static constexpr int_type
+      eof() noexcept
+      { return static_cast<int_type>(-1); }
+
+      static constexpr int_type
+      not_eof(const int_type& __c) noexcept
+      { return eq_int_type(__c, eof()) ? 0 : __c; }
+
+    };
+# 1009 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
+#pragma GCC diagnostic pop
+
+
+}
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/clocale" 1 3
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/clocale" 3
+# 1 "/usr/include/locale.h" 1 3 4
+# 28 "/usr/include/locale.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 29 "/usr/include/locale.h" 2 3 4
+# 1 "/usr/include/bits/locale.h" 1 3 4
+# 30 "/usr/include/locale.h" 2 3 4
+
+extern "C" {
+# 51 "/usr/include/locale.h" 3 4
+struct lconv
+{
+
+
+  char *decimal_point;
+  char *thousands_sep;
+
+
+
+
+
+  char *grouping;
+
+
+
+
+
+  char *int_curr_symbol;
+  char *currency_symbol;
+  char *mon_decimal_point;
+  char *mon_thousands_sep;
+  char *mon_grouping;
+  char *positive_sign;
+  char *negative_sign;
+  char int_frac_digits;
+  char frac_digits;
+
+  char p_cs_precedes;
+
+  char p_sep_by_space;
+
+  char n_cs_precedes;
+
+  char n_sep_by_space;
+
+
+
+
+
+
+  char p_sign_posn;
+  char n_sign_posn;
+
+
+  char int_p_cs_precedes;
+
+  char int_p_sep_by_space;
+
+  char int_n_cs_precedes;
+
+  char int_n_sep_by_space;
+
+
+
+
+
+
+  char int_p_sign_posn;
+  char int_n_sign_posn;
+# 118 "/usr/include/locale.h" 3 4
+};
+
+
+
+extern char *setlocale (int __category, const char *__locale) noexcept (true);
+
+
+extern struct lconv *localeconv (void) noexcept (true);
+# 141 "/usr/include/locale.h" 3 4
+extern locale_t newlocale (int __category_mask, const char *__locale,
+      locale_t __base) noexcept (true);
+# 176 "/usr/include/locale.h" 3 4
+extern locale_t duplocale (locale_t __dataset) noexcept (true);
+
+
+
+extern void freelocale (locale_t __dataset) noexcept (true);
+
+
+
+
+
+
+extern locale_t uselocale (locale_t __dataset) noexcept (true);
+
+
+
+
+
+
+
+}
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/clocale" 2 3
+
+
+
+
+
+namespace std
+{
+  using ::lconv;
+  using ::setlocale;
+  using ::localeconv;
+}
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 2 3
+
+
+
+
+
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+  extern "C" __typeof(uselocale) __uselocale;
+
+
+}
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  typedef __locale_t __c_locale;
+# 73 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 3
+  inline int
+  __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
+     char* __out,
+     const int __size __attribute__ ((__unused__)),
+     const char* __fmt, ...)
+  {
+
+    __c_locale __old = __gnu_cxx::__uselocale(__cloc);
+# 93 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 3
+    __builtin_va_list __args;
+    __builtin_va_start(__args, __fmt);
+
+
+    const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
+
+
+
+
+    __builtin_va_end(__args);
+
+
+    __gnu_cxx::__uselocale(__old);
+
+
+
+
+
+
+
+    return __ret;
+  }
+
+
+
+
+
+
+
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 1 3
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/ctype.h" 1 3
+# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/ctype.h" 3
+# 1 "/usr/include/ctype.h" 1 3 4
+# 26 "/usr/include/ctype.h" 3 4
+# 1 "/usr/include/bits/types.h" 1 3 4
+# 27 "/usr/include/bits/types.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 28 "/usr/include/bits/types.h" 2 3 4
+# 1 "/usr/include/bits/timesize.h" 1 3 4
+# 19 "/usr/include/bits/timesize.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 20 "/usr/include/bits/timesize.h" 2 3 4
+# 29 "/usr/include/bits/types.h" 2 3 4
+
+
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+
+
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+
+typedef signed long int __int64_t;
+typedef unsigned long int __uint64_t;
+
+
+
+
+
+
+typedef __int8_t __int_least8_t;
+typedef __uint8_t __uint_least8_t;
+typedef __int16_t __int_least16_t;
+typedef __uint16_t __uint_least16_t;
+typedef __int32_t __int_least32_t;
+typedef __uint32_t __uint_least32_t;
+typedef __int64_t __int_least64_t;
+typedef __uint64_t __uint_least64_t;
+
+
+
+typedef long int __quad_t;
+typedef unsigned long int __u_quad_t;
+
+
+
+
+
+
+
+typedef long int __intmax_t;
+typedef unsigned long int __uintmax_t;
+# 141 "/usr/include/bits/types.h" 3 4
+# 1 "/usr/include/bits/typesizes.h" 1 3 4
+# 142 "/usr/include/bits/types.h" 2 3 4
+# 1 "/usr/include/bits/time64.h" 1 3 4
+# 143 "/usr/include/bits/types.h" 2 3 4
+
+
+typedef unsigned long int __dev_t;
+typedef unsigned int __uid_t;
+typedef unsigned int __gid_t;
+typedef unsigned long int __ino_t;
+typedef unsigned long int __ino64_t;
+typedef unsigned int __mode_t;
+typedef unsigned long int __nlink_t;
+typedef long int __off_t;
+typedef long int __off64_t;
+typedef int __pid_t;
+typedef struct { int __val[2]; } __fsid_t;
+typedef long int __clock_t;
+typedef unsigned long int __rlim_t;
+typedef unsigned long int __rlim64_t;
+typedef unsigned int __id_t;
+typedef long int __time_t;
+typedef unsigned int __useconds_t;
+typedef long int __suseconds_t;
+typedef long int __suseconds64_t;
+
+typedef int __daddr_t;
+typedef int __key_t;
+
+
+typedef int __clockid_t;
+
+
+typedef void * __timer_t;
+
+
+typedef long int __blksize_t;
+
+
+
+
+typedef long int __blkcnt_t;
+typedef long int __blkcnt64_t;
+
+
+typedef unsigned long int __fsblkcnt_t;
+typedef unsigned long int __fsblkcnt64_t;
+
+
+typedef unsigned long int __fsfilcnt_t;
+typedef unsigned long int __fsfilcnt64_t;
+
+
+typedef long int __fsword_t;
+
+typedef long int __ssize_t;
+
+
+typedef long int __syscall_slong_t;
+
+typedef unsigned long int __syscall_ulong_t;
+
+
+
+typedef __off64_t __loff_t;
+typedef char *__caddr_t;
+
+
+typedef long int __intptr_t;
+
+
+typedef unsigned int __socklen_t;
+
+
+
+
+typedef int __sig_atomic_t;
+# 27 "/usr/include/ctype.h" 2 3 4
+
+extern "C" {
+# 39 "/usr/include/ctype.h" 3 4
+# 1 "/usr/include/bits/endian.h" 1 3 4
+# 35 "/usr/include/bits/endian.h" 3 4
+# 1 "/usr/include/bits/endianness.h" 1 3 4
+# 36 "/usr/include/bits/endian.h" 2 3 4
+# 40 "/usr/include/ctype.h" 2 3 4
+
+
+
+
+
+
+enum
+{
+  _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
+  _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
+  _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
+  _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
+  _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
+  _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
+  _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
+  _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
+  _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
+  _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
+  _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
+  _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
+};
+# 79 "/usr/include/ctype.h" 3 4
+extern const unsigned short int **__ctype_b_loc (void)
+     noexcept (true) __attribute__ ((__const__));
+extern const __int32_t **__ctype_tolower_loc (void)
+     noexcept (true) __attribute__ ((__const__));
+extern const __int32_t **__ctype_toupper_loc (void)
+     noexcept (true) __attribute__ ((__const__));
+# 108 "/usr/include/ctype.h" 3 4
+extern int isalnum (int) noexcept (true);
+extern int isalpha (int) noexcept (true);
+extern int iscntrl (int) noexcept (true);
+extern int isdigit (int) noexcept (true);
+extern int islower (int) noexcept (true);
+extern int isgraph (int) noexcept (true);
+extern int isprint (int) noexcept (true);
+extern int ispunct (int) noexcept (true);
+extern int isspace (int) noexcept (true);
+extern int isupper (int) noexcept (true);
+extern int isxdigit (int) noexcept (true);
+
+
+
+extern int tolower (int __c) noexcept (true);
+
+
+extern int toupper (int __c) noexcept (true);
+
+
+
+
+extern int isblank (int) noexcept (true);
+
+
+
+
+extern int isctype (int __c, int __mask) noexcept (true);
+
+
+
+
+
+
+extern int isascii (int __c) noexcept (true);
+
+
+
+extern int toascii (int __c) noexcept (true);
+
+
+
+extern int _toupper (int) noexcept (true);
+extern int _tolower (int) noexcept (true);
+# 251 "/usr/include/ctype.h" 3 4
+extern int isalnum_l (int, locale_t) noexcept (true);
+extern int isalpha_l (int, locale_t) noexcept (true);
+extern int iscntrl_l (int, locale_t) noexcept (true);
+extern int isdigit_l (int, locale_t) noexcept (true);
+extern int islower_l (int, locale_t) noexcept (true);
+extern int isgraph_l (int, locale_t) noexcept (true);
+extern int isprint_l (int, locale_t) noexcept (true);
+extern int ispunct_l (int, locale_t) noexcept (true);
+extern int isspace_l (int, locale_t) noexcept (true);
+extern int isupper_l (int, locale_t) noexcept (true);
+extern int isxdigit_l (int, locale_t) noexcept (true);
+
+extern int isblank_l (int, locale_t) noexcept (true);
+
+
+
+extern int __tolower_l (int __c, locale_t __l) noexcept (true);
+extern int tolower_l (int __c, locale_t __l) noexcept (true);
+
+
+extern int __toupper_l (int __c, locale_t __l) noexcept (true);
+extern int toupper_l (int __c, locale_t __l) noexcept (true);
+# 327 "/usr/include/ctype.h" 3 4
+}
+# 18 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/ctype.h" 2 3
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 2 3
+# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 3
+namespace std
+{
+  using ::isalnum;
+  using ::isalpha;
+  using ::iscntrl;
+  using ::isdigit;
+  using ::isgraph;
+  using ::islower;
+  using ::isprint;
+  using ::ispunct;
+  using ::isspace;
+  using ::isupper;
+  using ::isxdigit;
+  using ::tolower;
+  using ::toupper;
+}
+
+
+
+
+
+
+
+namespace std
+{
+  using ::isblank;
+}
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 57 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 3
+  class locale;
+
+  template<typename _Facet>
+    bool
+    has_facet(const locale&) throw();
+
+  template<typename _Facet>
+    const _Facet&
+    use_facet(const locale&);
+
+
+  template<typename _CharT>
+    bool
+    isspace(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isprint(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    iscntrl(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isupper(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    islower(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isalpha(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isdigit(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    ispunct(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isxdigit(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isalnum(_CharT, const locale&);
+
+  template<typename _CharT>
+    bool
+    isgraph(_CharT, const locale&);
+
+
+  template<typename _CharT>
+    bool
+    isblank(_CharT, const locale&);
+
+
+  template<typename _CharT>
+    _CharT
+    toupper(_CharT, const locale&);
+
+  template<typename _CharT>
+    _CharT
+    tolower(_CharT, const locale&);
+
+
+  struct ctype_base;
+  template<typename _CharT>
+    class ctype;
+  template<> class ctype<char>;
+
+  template<> class ctype<wchar_t>;
+
+  template<typename _CharT>
+    class ctype_byname;
+
+
+  class codecvt_base;
+  template<typename _InternT, typename _ExternT, typename _StateT>
+    class codecvt;
+  template<> class codecvt<char, char, mbstate_t>;
+
+  template<> class codecvt<wchar_t, char, mbstate_t>;
+
+
+  template<> class codecvt<char16_t, char, mbstate_t>;
+  template<> class codecvt<char32_t, char, mbstate_t>;
+
+
+
+
+
+  template<typename _InternT, typename _ExternT, typename _StateT>
+    class codecvt_byname;
+
+
+
+  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
+    class num_get;
+  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
+    class num_put;
+
+namespace __cxx11 {
+  template<typename _CharT> class numpunct;
+  template<typename _CharT> class numpunct_byname;
+}
+
+namespace __cxx11 {
+
+  template<typename _CharT>
+    class collate;
+  template<typename _CharT>
+    class collate_byname;
+}
+
+
+  class time_base;
+namespace __cxx11 {
+  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
+    class time_get;
+  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
+    class time_get_byname;
+}
+  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
+    class time_put;
+  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
+    class time_put_byname;
+
+
+  class money_base;
+namespace __cxx11 {
+  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
+    class money_get;
+  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
+    class money_put;
+}
+namespace __cxx11 {
+  template<typename _CharT, bool _Intl = false>
+    class moneypunct;
+  template<typename _CharT, bool _Intl = false>
+    class moneypunct_byname;
+}
+
+
+  struct messages_base;
+namespace __cxx11 {
+  template<typename _CharT>
+    class messages;
+  template<typename _CharT>
+    class messages_byname;
+}
+
+
+}
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 1 3
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 1 3
+# 30 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 3
+#pragma GCC visibility push(default)
+# 157 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 1 3
+# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
+# 1 "/usr/include/pthread.h" 1 3 4
+# 22 "/usr/include/pthread.h" 3 4
+# 1 "/usr/include/sched.h" 1 3 4
+# 29 "/usr/include/sched.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 30 "/usr/include/sched.h" 2 3 4
+
+# 1 "/usr/include/bits/types/time_t.h" 1 3 4
+# 10 "/usr/include/bits/types/time_t.h" 3 4
+typedef __time_t time_t;
+# 32 "/usr/include/sched.h" 2 3 4
+# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4
+# 11 "/usr/include/bits/types/struct_timespec.h" 3 4
+struct timespec
+{
+
+
+
+  __time_t tv_sec;
+
+
+
+
+  __syscall_slong_t tv_nsec;
+# 31 "/usr/include/bits/types/struct_timespec.h" 3 4
+};
+# 33 "/usr/include/sched.h" 2 3 4
+
+
+
+
+
+typedef __pid_t pid_t;
+
+
+
+
+# 1 "/usr/include/bits/sched.h" 1 3 4
+# 63 "/usr/include/bits/sched.h" 3 4
+# 1 "/usr/include/linux/sched/types.h" 1 3 4
+
+
+
+
+# 1 "/usr/include/linux/types.h" 1 3 4
+
+
+
+
+# 1 "/usr/include/asm/types.h" 1 3 4
+# 1 "/usr/include/asm-generic/types.h" 1 3 4
+
+
+
+
+
+
+# 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4
+# 12 "/usr/include/asm-generic/int-ll64.h" 3 4
+# 1 "/usr/include/asm/bitsperlong.h" 1 3 4
+# 11 "/usr/include/asm/bitsperlong.h" 3 4
+# 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4
+# 12 "/usr/include/asm/bitsperlong.h" 2 3 4
+# 13 "/usr/include/asm-generic/int-ll64.h" 2 3 4
+
+
+
+
+
+
+
+typedef __signed__ char __s8;
+typedef unsigned char __u8;
+
+typedef __signed__ short __s16;
+typedef unsigned short __u16;
+
+typedef __signed__ int __s32;
+typedef unsigned int __u32;
+
+
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
+# 8 "/usr/include/asm-generic/types.h" 2 3 4
+# 2 "/usr/include/asm/types.h" 2 3 4
+# 6 "/usr/include/linux/types.h" 2 3 4
+
+
+
+# 1 "/usr/include/linux/posix_types.h" 1 3 4
+
+
+
+
+# 1 "/usr/include/linux/stddef.h" 1 3 4
+# 6 "/usr/include/linux/posix_types.h" 2 3 4
+# 25 "/usr/include/linux/posix_types.h" 3 4
+typedef struct {
+ unsigned long fds_bits[1024 / (8 * sizeof(long))];
+} __kernel_fd_set;
+
+
+typedef void (*__kernel_sighandler_t)(int);
+
+
+typedef int __kernel_key_t;
+typedef int __kernel_mqd_t;
+
+# 1 "/usr/include/asm/posix_types.h" 1 3 4
+
+
+
+
+
+
+# 1 "/usr/include/asm/posix_types_64.h" 1 3 4
+# 11 "/usr/include/asm/posix_types_64.h" 3 4
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
+
+
+typedef unsigned long __kernel_old_dev_t;
+
+
+# 1 "/usr/include/asm-generic/posix_types.h" 1 3 4
+# 15 "/usr/include/asm-generic/posix_types.h" 3 4
+typedef long __kernel_long_t;
+typedef unsigned long __kernel_ulong_t;
+
+
+
+typedef __kernel_ulong_t __kernel_ino_t;
+
+
+
+typedef unsigned int __kernel_mode_t;
+
+
+
+typedef int __kernel_pid_t;
+
+
+
+typedef int __kernel_ipc_pid_t;
+
+
+
+typedef unsigned int __kernel_uid_t;
+typedef unsigned int __kernel_gid_t;
+
+
+
+typedef __kernel_long_t __kernel_suseconds_t;
+
+
+
+typedef int __kernel_daddr_t;
+
+
+
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+# 72 "/usr/include/asm-generic/posix_types.h" 3 4
+typedef __kernel_ulong_t __kernel_size_t;
+typedef __kernel_long_t __kernel_ssize_t;
+typedef __kernel_long_t __kernel_ptrdiff_t;
+
+
+
+
+typedef struct {
+ int val[2];
+} __kernel_fsid_t;
+
+
+
+
+
+typedef __kernel_long_t __kernel_off_t;
+typedef long long __kernel_loff_t;
+typedef __kernel_long_t __kernel_old_time_t;
+typedef __kernel_long_t __kernel_time_t;
+typedef long long __kernel_time64_t;
+typedef __kernel_long_t __kernel_clock_t;
+typedef int __kernel_timer_t;
+typedef int __kernel_clockid_t;
+typedef char * __kernel_caddr_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+# 19 "/usr/include/asm/posix_types_64.h" 2 3 4
+# 8 "/usr/include/asm/posix_types.h" 2 3 4
+# 37 "/usr/include/linux/posix_types.h" 2 3 4
+# 10 "/usr/include/linux/types.h" 2 3 4
+
+
+typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
+typedef unsigned __int128 __u128 __attribute__((aligned(16)));
+# 31 "/usr/include/linux/types.h" 3 4
+typedef __u16 __le16;
+typedef __u16 __be16;
+typedef __u32 __le32;
+typedef __u32 __be32;
+typedef __u64 __le64;
+typedef __u64 __be64;
+
+typedef __u16 __sum16;
+typedef __u32 __wsum;
+# 55 "/usr/include/linux/types.h" 3 4
+typedef unsigned __poll_t;
+# 6 "/usr/include/linux/sched/types.h" 2 3 4
+# 98 "/usr/include/linux/sched/types.h" 3 4
+struct sched_attr {
+ __u32 size;
+
+ __u32 sched_policy;
+ __u64 sched_flags;
+
+
+ __s32 sched_nice;
+
+
+ __u32 sched_priority;
+
+
+ __u64 sched_runtime;
+ __u64 sched_deadline;
+ __u64 sched_period;
+
+
+ __u32 sched_util_min;
+ __u32 sched_util_max;
+
+};
+# 64 "/usr/include/bits/sched.h" 2 3 4
+# 126 "/usr/include/bits/sched.h" 3 4
+# 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4
+# 23 "/usr/include/bits/types/struct_sched_param.h" 3 4
+struct sched_param
+{
+  int sched_priority;
+};
+# 127 "/usr/include/bits/sched.h" 2 3 4
+
+extern "C" {
+
+
+
+extern int clone (int (*__fn) (void *__arg), void *__child_stack,
+    int __flags, void *__arg, ...) noexcept (true);
+
+
+extern int unshare (int __flags) noexcept (true);
+
+
+extern int sched_getcpu (void) noexcept (true);
+
+
+extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
+
+
+extern int setns (int __fd, int __nstype) noexcept (true);
+
+
+int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
+  noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+
+int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
+     unsigned int flags)
+  noexcept (true) __attribute__ ((__nonnull__ (2))) ;
+
+
+
+}
+# 44 "/usr/include/sched.h" 2 3 4
+# 1 "/usr/include/bits/cpu-set.h" 1 3 4
+# 32 "/usr/include/bits/cpu-set.h" 3 4
+typedef unsigned long int __cpu_mask;
+
+
+
+
+
+
+typedef struct
+{
+  __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
+} cpu_set_t;
+# 115 "/usr/include/bits/cpu-set.h" 3 4
+extern "C" {
+
+extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
+     noexcept (true);
+extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) ;
+extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
+
+}
+# 45 "/usr/include/sched.h" 2 3 4
+
+
+
+
+
+
+extern "C" {
+
+
+extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
+     noexcept (true);
+
+
+extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
+
+
+extern int sched_setscheduler (__pid_t __pid, int __policy,
+          const struct sched_param *__param) noexcept (true);
+
+
+extern int sched_getscheduler (__pid_t __pid) noexcept (true);
+
+
+extern int sched_yield (void) noexcept (true);
+
+
+extern int sched_get_priority_max (int __algorithm) noexcept (true);
+
+
+extern int sched_get_priority_min (int __algorithm) noexcept (true);
+
+
+
+extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
+# 130 "/usr/include/sched.h" 3 4
+extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
+         const cpu_set_t *__cpuset) noexcept (true);
+
+
+extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
+         cpu_set_t *__cpuset) noexcept (true);
+
+
+}
+# 23 "/usr/include/pthread.h" 2 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/time.h" 1 3 4
+# 16 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/time.h" 3 4
+# 1 "/usr/include/time.h" 1 3 4
+# 29 "/usr/include/time.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 30 "/usr/include/time.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/time.h" 1 3 4
+# 73 "/usr/include/bits/time.h" 3 4
+# 1 "/usr/include/bits/timex.h" 1 3 4
+# 22 "/usr/include/bits/timex.h" 3 4
+# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4
+
+
+
+
+
+
+
+struct timeval
+{
+
+
+
+
+  __time_t tv_sec;
+  __suseconds_t tv_usec;
+
+};
+# 23 "/usr/include/bits/timex.h" 2 3 4
+
+
+
+struct timex
+{
+# 58 "/usr/include/bits/timex.h" 3 4
+  unsigned int modes;
+  __syscall_slong_t offset;
+  __syscall_slong_t freq;
+  __syscall_slong_t maxerror;
+  __syscall_slong_t esterror;
+  int status;
+  __syscall_slong_t constant;
+  __syscall_slong_t precision;
+  __syscall_slong_t tolerance;
+  struct timeval time;
+  __syscall_slong_t tick;
+  __syscall_slong_t ppsfreq;
+  __syscall_slong_t jitter;
+  int shift;
+  __syscall_slong_t stabil;
+  __syscall_slong_t jitcnt;
+  __syscall_slong_t calcnt;
+  __syscall_slong_t errcnt;
+  __syscall_slong_t stbcnt;
+
+  int tai;
+
+
+  int :32; int :32; int :32; int :32;
+  int :32; int :32; int :32; int :32;
+  int :32; int :32; int :32;
+
+};
+# 74 "/usr/include/bits/time.h" 2 3 4
+
+extern "C" {
+
+
+extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
+# 90 "/usr/include/bits/time.h" 3 4
+}
+# 34 "/usr/include/time.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/types/clock_t.h" 1 3 4
+
+
+
+
+
+
+typedef __clock_t clock_t;
+# 38 "/usr/include/time.h" 2 3 4
+
+# 1 "/usr/include/bits/types/struct_tm.h" 1 3 4
+
+
+
+
+
+
+struct tm
+{
+  int tm_sec;
+  int tm_min;
+  int tm_hour;
+  int tm_mday;
+  int tm_mon;
+  int tm_year;
+  int tm_wday;
+  int tm_yday;
+  int tm_isdst;
+
+
+  long int tm_gmtoff;
+  const char *tm_zone;
+
+
+
+
+};
+# 40 "/usr/include/time.h" 2 3 4
+
+
+
+
+
+
+# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4
+
+
+
+
+
+
+typedef __clockid_t clockid_t;
+# 47 "/usr/include/time.h" 2 3 4
+# 1 "/usr/include/bits/types/timer_t.h" 1 3 4
+
+
+
+
+
+
+typedef __timer_t timer_t;
+# 48 "/usr/include/time.h" 2 3 4
+# 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4
+
+
+
+
+
+
+
+struct itimerspec
+  {
+    struct timespec it_interval;
+    struct timespec it_value;
+  };
+# 49 "/usr/include/time.h" 2 3 4
+struct sigevent;
+# 68 "/usr/include/time.h" 3 4
+extern "C" {
+
+
+
+extern clock_t clock (void) noexcept (true);
+
+
+
+extern time_t time (time_t *__timer) noexcept (true);
+
+
+extern double difftime (time_t __time1, time_t __time0);
+
+
+extern time_t mktime (struct tm *__tp) noexcept (true);
+# 99 "/usr/include/time.h" 3 4
+extern size_t strftime (char *__restrict __s, size_t __maxsize,
+   const char *__restrict __format,
+   const struct tm *__restrict __tp)
+   noexcept (true) __attribute__ ((__nonnull__ (1, 3, 4)));
+
+
+
+
+extern char *strptime (const char *__restrict __s,
+         const char *__restrict __fmt, struct tm *__tp)
+     noexcept (true);
+
+
+
+
+
+
+extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
+     const char *__restrict __format,
+     const struct tm *__restrict __tp,
+     locale_t __loc) noexcept (true);
+
+
+
+extern char *strptime_l (const char *__restrict __s,
+    const char *__restrict __fmt, struct tm *__tp,
+    locale_t __loc) noexcept (true);
+
+
+
+
+
+
+extern struct tm *gmtime (const time_t *__timer) noexcept (true);
+
+
+
+extern struct tm *localtime (const time_t *__timer) noexcept (true);
+# 154 "/usr/include/time.h" 3 4
+extern struct tm *gmtime_r (const time_t *__restrict __timer,
+       struct tm *__restrict __tp) noexcept (true);
+
+
+
+extern struct tm *localtime_r (const time_t *__restrict __timer,
+          struct tm *__restrict __tp) noexcept (true);
+# 179 "/usr/include/time.h" 3 4
+extern char *asctime (const struct tm *__tp) noexcept (true);
+
+
+
+extern char *ctime (const time_t *__timer) noexcept (true);
+# 197 "/usr/include/time.h" 3 4
+extern char *asctime_r (const struct tm *__restrict __tp,
+   char *__restrict __buf) noexcept (true);
+
+
+
+extern char *ctime_r (const time_t *__restrict __timer,
+        char *__restrict __buf) noexcept (true);
+# 217 "/usr/include/time.h" 3 4
+extern char *__tzname[2];
+extern int __daylight;
+extern long int __timezone;
+
+
+
+
+extern char *tzname[2];
+
+
+
+extern void tzset (void) noexcept (true);
+
+
+
+extern int daylight;
+extern long int timezone;
+# 246 "/usr/include/time.h" 3 4
+extern time_t timegm (struct tm *__tp) noexcept (true);
+# 263 "/usr/include/time.h" 3 4
+extern time_t timelocal (struct tm *__tp) noexcept (true);
+
+
+
+
+
+
+
+extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
+# 281 "/usr/include/time.h" 3 4
+extern int nanosleep (const struct timespec *__requested_time,
+        struct timespec *__remaining);
+
+
+extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
+
+
+extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+# 323 "/usr/include/time.h" 3 4
+extern int clock_nanosleep (clockid_t __clock_id, int __flags,
+       const struct timespec *__req,
+       struct timespec *__rem);
+# 338 "/usr/include/time.h" 3 4
+extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
+
+
+
+
+extern int timer_create (clockid_t __clock_id,
+    struct sigevent *__restrict __evp,
+    timer_t *__restrict __timerid) noexcept (true);
+
+
+extern int timer_delete (timer_t __timerid) noexcept (true);
+
+
+
+extern int timer_settime (timer_t __timerid, int __flags,
+     const struct itimerspec *__restrict __value,
+     struct itimerspec *__restrict __ovalue) noexcept (true);
+
+
+extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
+     noexcept (true);
+# 376 "/usr/include/time.h" 3 4
+extern int timer_getoverrun (timer_t __timerid) noexcept (true);
+
+
+
+
+
+
+extern int timespec_get (struct timespec *__ts, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 399 "/usr/include/time.h" 3 4
+extern int timespec_getres (struct timespec *__ts, int __base)
+     noexcept (true);
+# 425 "/usr/include/time.h" 3 4
+extern int getdate_err;
+# 434 "/usr/include/time.h" 3 4
+extern struct tm *getdate (const char *__string);
+# 448 "/usr/include/time.h" 3 4
+extern int getdate_r (const char *__restrict __string,
+        struct tm *__restrict __resbufp);
+
+
+}
+# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/time.h" 2 3 4
+# 24 "/usr/include/pthread.h" 2 3 4
+
+
+# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
+# 23 "/usr/include/bits/pthreadtypes.h" 3 4
+# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4
+# 44 "/usr/include/bits/thread-shared-types.h" 3 4
+# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4
+# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4
+# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4
+
+# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4
+# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4
+typedef union
+{
+  __extension__ unsigned long long int __value64;
+  struct
+  {
+    unsigned int __low;
+    unsigned int __high;
+  } __value32;
+} __atomic_wide_counter;
+# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4
+
+
+
+
+typedef struct __pthread_internal_list
+{
+  struct __pthread_internal_list *__prev;
+  struct __pthread_internal_list *__next;
+} __pthread_list_t;
+
+typedef struct __pthread_internal_slist
+{
+  struct __pthread_internal_slist *__next;
+} __pthread_slist_t;
+# 76 "/usr/include/bits/thread-shared-types.h" 3 4
+# 1 "/usr/include/bits/struct_mutex.h" 1 3 4
+# 22 "/usr/include/bits/struct_mutex.h" 3 4
+struct __pthread_mutex_s
+{
+  int __lock;
+  unsigned int __count;
+  int __owner;
+
+  unsigned int __nusers;
+
+
+
+  int __kind;
+
+  short __spins;
+  short __elision;
+  __pthread_list_t __list;
+# 53 "/usr/include/bits/struct_mutex.h" 3 4
+};
+# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4
+# 89 "/usr/include/bits/thread-shared-types.h" 3 4
+# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4
+# 23 "/usr/include/bits/struct_rwlock.h" 3 4
+struct __pthread_rwlock_arch_t
+{
+  unsigned int __readers;
+  unsigned int __writers;
+  unsigned int __wrphase_futex;
+  unsigned int __writers_futex;
+  unsigned int __pad3;
+  unsigned int __pad4;
+
+  int __cur_writer;
+  int __shared;
+  signed char __rwelision;
+
+
+
+
+  unsigned char __pad1[7];
+
+
+  unsigned long int __pad2;
+
+
+  unsigned int __flags;
+# 55 "/usr/include/bits/struct_rwlock.h" 3 4
+};
+# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4
+
+
+
+
+struct __pthread_cond_s
+{
+  __atomic_wide_counter __wseq;
+  __atomic_wide_counter __g1_start;
+  unsigned int __g_size[2] ;
+  unsigned int __g1_orig_size;
+  unsigned int __wrefs;
+  unsigned int __g_signals[2];
+};
+
+typedef unsigned int __tss_t;
+typedef unsigned long int __thrd_t;
+
+typedef struct
+{
+  int __data ;
+} __once_flag;
+# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4
+
+
+
+typedef unsigned long int pthread_t;
+
+
+
+
+typedef union
+{
+  char __size[4];
+  int __align;
+} pthread_mutexattr_t;
+
+
+
+
+typedef union
+{
+  char __size[4];
+  int __align;
+} pthread_condattr_t;
+
+
+
+typedef unsigned int pthread_key_t;
+
+
+
+typedef int pthread_once_t;
+
+
+union pthread_attr_t
+{
+  char __size[56];
+  long int __align;
+};
+
+typedef union pthread_attr_t pthread_attr_t;
+
+
+
+
+typedef union
+{
+  struct __pthread_mutex_s __data;
+  char __size[40];
+  long int __align;
+} pthread_mutex_t;
+
+
+typedef union
+{
+  struct __pthread_cond_s __data;
+  char __size[48];
+  __extension__ long long int __align;
+} pthread_cond_t;
+
+
+
+
+
+typedef union
+{
+  struct __pthread_rwlock_arch_t __data;
+  char __size[56];
+  long int __align;
+} pthread_rwlock_t;
+
+typedef union
+{
+  char __size[8];
+  long int __align;
+} pthread_rwlockattr_t;
+
+
+
+
+
+typedef volatile int pthread_spinlock_t;
+
+
+
+
+typedef union
+{
+  char __size[32];
+  long int __align;
+} pthread_barrier_t;
+
+typedef union
+{
+  char __size[4];
+  int __align;
+} pthread_barrierattr_t;
+# 27 "/usr/include/pthread.h" 2 3 4
+# 1 "/usr/include/bits/setjmp.h" 1 3 4
+# 26 "/usr/include/bits/setjmp.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 27 "/usr/include/bits/setjmp.h" 2 3 4
+
+
+
+
+typedef long int __jmp_buf[8];
+# 28 "/usr/include/pthread.h" 2 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 29 "/usr/include/pthread.h" 2 3 4
+
+# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4
+
+
+
+
+typedef struct
+{
+  unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
+} __sigset_t;
+# 31 "/usr/include/pthread.h" 2 3 4
+# 1 "/usr/include/bits/types/struct___jmp_buf_tag.h" 1 3 4
+# 26 "/usr/include/bits/types/struct___jmp_buf_tag.h" 3 4
+struct __jmp_buf_tag
+  {
+
+
+
+
+    __jmp_buf __jmpbuf;
+    int __mask_was_saved;
+    __sigset_t __saved_mask;
+  };
+# 32 "/usr/include/pthread.h" 2 3 4
+
+# 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4
+# 23 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4
+extern "C" {
+extern long int __sysconf (int __name) noexcept (true);
+}
+# 34 "/usr/include/pthread.h" 2 3 4
+
+
+
+enum
+{
+  PTHREAD_CREATE_JOINABLE,
+
+  PTHREAD_CREATE_DETACHED
+
+};
+
+
+
+enum
+{
+  PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_ADAPTIVE_NP
+
+  ,
+  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
+
+
+
+  , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
+
+};
+
+
+
+
+enum
+{
+  PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_ROBUST,
+  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
+};
+
+
+
+
+
+enum
+{
+  PTHREAD_PRIO_NONE,
+  PTHREAD_PRIO_INHERIT,
+  PTHREAD_PRIO_PROTECT
+};
+# 104 "/usr/include/pthread.h" 3 4
+enum
+{
+  PTHREAD_RWLOCK_PREFER_READER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
+  PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
+};
+# 124 "/usr/include/pthread.h" 3 4
+enum
+{
+  PTHREAD_INHERIT_SCHED,
+
+  PTHREAD_EXPLICIT_SCHED
+
+};
+
+
+
+enum
+{
+  PTHREAD_SCOPE_SYSTEM,
+
+  PTHREAD_SCOPE_PROCESS
+
+};
+
+
+
+enum
+{
+  PTHREAD_PROCESS_PRIVATE,
+
+  PTHREAD_PROCESS_SHARED
+
+};
+# 159 "/usr/include/pthread.h" 3 4
+struct _pthread_cleanup_buffer
+{
+  void (*__routine) (void *);
+  void *__arg;
+  int __canceltype;
+  struct _pthread_cleanup_buffer *__prev;
+};
+
+
+enum
+{
+  PTHREAD_CANCEL_ENABLE,
+
+  PTHREAD_CANCEL_DISABLE
+
+};
+enum
+{
+  PTHREAD_CANCEL_DEFERRED,
+
+  PTHREAD_CANCEL_ASYNCHRONOUS
+
+};
+# 197 "/usr/include/pthread.h" 3 4
+extern "C" {
+
+
+
+
+extern int pthread_create (pthread_t *__restrict __newthread,
+      const pthread_attr_t *__restrict __attr,
+      void *(*__start_routine) (void *),
+      void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+
+extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern int pthread_join (pthread_t __th, void **__thread_return);
+
+
+
+
+extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true);
+# 233 "/usr/include/pthread.h" 3 4
+extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
+     const struct timespec *__abstime);
+# 243 "/usr/include/pthread.h" 3 4
+extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
+                                 clockid_t __clockid,
+     const struct timespec *__abstime);
+# 269 "/usr/include/pthread.h" 3 4
+extern int pthread_detach (pthread_t __th) noexcept (true);
+
+
+
+extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
+
+
+extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
+  noexcept (true) __attribute__ ((__const__));
+
+
+
+
+
+
+
+extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_destroy (pthread_attr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
+     int *__detachstate)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
+     int __detachstate)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
+          size_t *__guardsize)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
+          size_t __guardsize)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
+           struct sched_param *__restrict __param)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
+           const struct sched_param *__restrict
+           __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
+     __attr, int *__restrict __policy)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
+      __attr, int *__restrict __inherit)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
+      int __inherit)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
+      int *__restrict __scope)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
+          __attr, void **__restrict __stackaddr)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
+
+
+
+
+
+extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
+          void *__stackaddr)
+     noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
+
+
+extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
+          __attr, size_t *__restrict __stacksize)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
+          size_t __stacksize)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
+      void **__restrict __stackaddr,
+      size_t *__restrict __stacksize)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+
+
+extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
+      size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
+     size_t __cpusetsize,
+     const cpu_set_t *__cpuset)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
+     size_t __cpusetsize,
+     cpu_set_t *__cpuset)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+extern int pthread_getattr_default_np (pthread_attr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
+           const __sigset_t *sigmask);
+
+
+
+
+extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
+           __sigset_t *sigmask);
+
+
+
+
+
+
+
+extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+
+extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
+      const struct sched_param *__param)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+
+extern int pthread_getschedparam (pthread_t __target_thread,
+      int *__restrict __policy,
+      struct sched_param *__restrict __param)
+     noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
+
+
+extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
+     noexcept (true);
+
+
+
+
+extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
+          size_t __buflen)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int pthread_getconcurrency (void) noexcept (true);
+
+
+extern int pthread_setconcurrency (int __level) noexcept (true);
+
+
+
+extern int pthread_yield (void) noexcept (true);
+
+extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
+  __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")));
+# 489 "/usr/include/pthread.h" 3 4
+extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
+       const cpu_set_t *__cpuset)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+
+extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
+       cpu_set_t *__cpuset)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+# 509 "/usr/include/pthread.h" 3 4
+extern int pthread_once (pthread_once_t *__once_control,
+    void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
+# 521 "/usr/include/pthread.h" 3 4
+extern int pthread_setcancelstate (int __state, int *__oldstate);
+
+
+
+extern int pthread_setcanceltype (int __type, int *__oldtype);
+
+
+extern int pthread_cancel (pthread_t __th);
+
+
+
+
+extern void pthread_testcancel (void);
+
+
+
+
+struct __cancel_jmp_buf_tag
+{
+  __jmp_buf __cancel_jmp_buf;
+  int __mask_was_saved;
+};
+
+typedef struct
+{
+  struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
+  void *__pad[4];
+} __pthread_unwind_buf_t __attribute__ ((__aligned__));
+# 557 "/usr/include/pthread.h" 3 4
+struct __pthread_cleanup_frame
+{
+  void (*__cancel_routine) (void *);
+  void *__cancel_arg;
+  int __do_it;
+  int __cancel_type;
+};
+
+
+
+
+class __pthread_cleanup_class
+{
+  void (*__cancel_routine) (void *);
+  void *__cancel_arg;
+  int __do_it;
+  int __cancel_type;
+
+ public:
+  __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
+    : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
+  ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
+  void __setdoit (int __newval) { __do_it = __newval; }
+  void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
+        &__cancel_type); }
+  void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
+};
+# 773 "/usr/include/pthread.h" 3 4
+extern int __sigsetjmp (struct __jmp_buf_tag __env[1],
+   int __savemask) noexcept (true);
+
+
+
+
+
+
+extern int pthread_mutex_init (pthread_mutex_t *__mutex,
+          const pthread_mutexattr_t *__mutexattr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
+        const struct timespec *__restrict
+        __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+# 817 "/usr/include/pthread.h" 3 4
+extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
+        clockid_t __clockid,
+        const struct timespec *__restrict
+        __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+# 835 "/usr/include/pthread.h" 3 4
+extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
+      __restrict __mutex,
+      int *__restrict __prioceiling)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
+      int __prioceiling,
+      int *__restrict __old_ceiling)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent") __attribute__ ((__nonnull__ (1)))
+
+  __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")));
+# 874 "/usr/include/pthread.h" 3 4
+extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
+      __restrict __attr,
+      int *__restrict __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
+      int __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
+          __attr, int *__restrict __kind)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
+       __restrict __attr,
+       int *__restrict __protocol)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
+       int __protocol)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
+          __restrict __attr,
+          int *__restrict __prioceiling)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
+          int __prioceiling)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
+     int *__robustness)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust") __attribute__ ((__nonnull__ (1)))
+
+
+  __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")));
+
+
+
+
+
+
+
+extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
+     int __robustness)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust") __attribute__ ((__nonnull__ (1)))
+
+
+  __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")));
+# 967 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
+    const pthread_rwlockattr_t *__restrict
+    __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
+  noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
+           const struct timespec *__restrict
+           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+# 1004 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
+           clockid_t __clockid,
+           const struct timespec *__restrict
+           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+# 1023 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
+           const struct timespec *__restrict
+           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+# 1051 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
+           clockid_t __clockid,
+           const struct timespec *__restrict
+           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+# 1071 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
+       __restrict __attr,
+       int *__restrict __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
+       int __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
+       __restrict __attr,
+       int *__restrict __pref)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
+       int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
+         const pthread_condattr_t *__restrict __cond_attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_destroy (pthread_cond_t *__cond)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_signal (pthread_cond_t *__cond)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_broadcast (pthread_cond_t *__cond)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
+         pthread_mutex_t *__restrict __mutex)
+     __attribute__ ((__nonnull__ (1, 2)));
+# 1145 "/usr/include/pthread.h" 3 4
+extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
+       pthread_mutex_t *__restrict __mutex,
+       const struct timespec *__restrict __abstime)
+     __attribute__ ((__nonnull__ (1, 2, 3)));
+# 1171 "/usr/include/pthread.h" 3 4
+extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
+       pthread_mutex_t *__restrict __mutex,
+       __clockid_t __clock_id,
+       const struct timespec *__restrict __abstime)
+     __attribute__ ((__nonnull__ (1, 2, 4)));
+# 1194 "/usr/include/pthread.h" 3 4
+extern int pthread_condattr_init (pthread_condattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_condattr_getpshared (const pthread_condattr_t *
+     __restrict __attr,
+     int *__restrict __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
+     int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_condattr_getclock (const pthread_condattr_t *
+          __restrict __attr,
+          __clockid_t *__restrict __clock_id)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
+          __clockid_t __clock_id)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 1230 "/usr/include/pthread.h" 3 4
+extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_lock (pthread_spinlock_t *__lock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
+     const pthread_barrierattr_t *__restrict
+     __attr, unsigned int __count)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
+        __restrict __attr,
+        int *__restrict __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
+        int __pshared)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 1297 "/usr/include/pthread.h" 3 4
+extern int pthread_key_create (pthread_key_t *__key,
+          void (*__destr_function) (void *))
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
+
+
+extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
+
+
+extern int pthread_setspecific (pthread_key_t __key,
+    const void *__pointer)
+  noexcept (true) ;
+
+
+
+
+extern int pthread_getcpuclockid (pthread_t __thread_id,
+      __clockid_t *__clock_id)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+# 1332 "/usr/include/pthread.h" 3 4
+extern int pthread_atfork (void (*__prepare) (void),
+      void (*__parent) (void),
+      void (*__child) (void)) noexcept (true);
+# 1346 "/usr/include/pthread.h" 3 4
+}
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 2 3
+# 62 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
+typedef pthread_t __gthread_t;
+typedef pthread_key_t __gthread_key_t;
+typedef pthread_once_t __gthread_once_t;
+typedef pthread_mutex_t __gthread_mutex_t;
+
+
+
+typedef pthread_mutex_t __gthread_recursive_mutex_t;
+typedef pthread_cond_t __gthread_cond_t;
+typedef struct timespec __gthread_time_t;
+# 345 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
+inline __attribute__((__always_inline__)) int
+__gthread_active_p (void)
+{
+  return 1;
+}
+# 705 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
+inline __attribute__((__always_inline__)) int
+__gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
+    void *__args)
+{
+  return pthread_create (__threadid, __null, __func, __args);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_join (__gthread_t __threadid, void **__value_ptr)
+{
+  return pthread_join (__threadid, __value_ptr);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_detach (__gthread_t __threadid)
+{
+  return pthread_detach (__threadid);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_equal (__gthread_t __t1, __gthread_t __t2)
+{
+  return pthread_equal (__t1, __t2);
+}
+
+inline __attribute__((__always_inline__)) __gthread_t
+__gthread_self (void)
+{
+  return pthread_self ();
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_yield (void)
+{
+  return sched_yield ();
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_once (__gthread_once_t *__once, void (*__func) (void))
+{
+  if (__gthread_active_p ())
+    return pthread_once (__once, __func);
+  else
+    return -1;
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
+{
+  return pthread_key_create (__key, __dtor);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_key_delete (__gthread_key_t __key)
+{
+  return pthread_key_delete (__key);
+}
+
+inline __attribute__((__always_inline__)) void *
+__gthread_getspecific (__gthread_key_t __key)
+{
+  return pthread_getspecific (__key);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_setspecific (__gthread_key_t __key, const void *__ptr)
+{
+  return pthread_setspecific (__key, __ptr);
+}
+
+inline __attribute__((__always_inline__)) void
+__gthread_mutex_init_function (__gthread_mutex_t *__mutex)
+{
+  if (__gthread_active_p ())
+    pthread_mutex_init (__mutex, __null);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_mutex_destroy (__gthread_mutex_t *__mutex)
+{
+  if (__gthread_active_p ())
+    return pthread_mutex_destroy (__mutex);
+  else
+    return 0;
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_mutex_lock (__gthread_mutex_t *__mutex)
+{
+  if (__gthread_active_p ())
+    return pthread_mutex_lock (__mutex);
+  else
+    return 0;
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_mutex_trylock (__gthread_mutex_t *__mutex)
+{
+  if (__gthread_active_p ())
+    return pthread_mutex_trylock (__mutex);
+  else
+    return 0;
+}
+
+
+inline __attribute__((__always_inline__)) int
+__gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
+      const __gthread_time_t *__abs_timeout)
+{
+  if (__gthread_active_p ())
+    return pthread_mutex_timedlock (__mutex, __abs_timeout);
+  else
+    return 0;
+}
+
+
+inline __attribute__((__always_inline__)) int
+__gthread_mutex_unlock (__gthread_mutex_t *__mutex)
+{
+  if (__gthread_active_p ())
+    return pthread_mutex_unlock (__mutex);
+  else
+    return 0;
+}
+# 854 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
+inline __attribute__((__always_inline__)) int
+__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
+{
+  return __gthread_mutex_lock (__mutex);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
+{
+  return __gthread_mutex_trylock (__mutex);
+}
+
+
+inline __attribute__((__always_inline__)) int
+__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
+         const __gthread_time_t *__abs_timeout)
+{
+  return __gthread_mutex_timedlock (__mutex, __abs_timeout);
+}
+
+
+inline __attribute__((__always_inline__)) int
+__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
+{
+  return __gthread_mutex_unlock (__mutex);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
+{
+  return __gthread_mutex_destroy (__mutex);
+}
+# 896 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
+inline __attribute__((__always_inline__)) int
+__gthread_cond_broadcast (__gthread_cond_t *__cond)
+{
+  return pthread_cond_broadcast (__cond);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_cond_signal (__gthread_cond_t *__cond)
+{
+  return pthread_cond_signal (__cond);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
+{
+  return pthread_cond_wait (__cond, __mutex);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
+     const __gthread_time_t *__abs_timeout)
+{
+  return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_cond_wait_recursive (__gthread_cond_t *__cond,
+          __gthread_recursive_mutex_t *__mutex)
+{
+  return __gthread_cond_wait (__cond, __mutex);
+}
+
+inline __attribute__((__always_inline__)) int
+__gthread_cond_destroy (__gthread_cond_t* __cond)
+{
+  return pthread_cond_destroy (__cond);
+}
+# 158 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 2 3
+
+
+#pragma GCC visibility pop
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/atomic_word.h" 1 3
+# 32 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/atomic_word.h" 3
+typedef int _Atomic_word;
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 2 3
+
+# 1 "/usr/include/sys/single_threaded.h" 1 3 4
+# 24 "/usr/include/sys/single_threaded.h" 3 4
+extern "C" {
+
+
+
+
+extern char __libc_single_threaded;
+
+}
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 2 3
+
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+  __attribute__((__always_inline__))
+  inline bool
+  __is_single_threaded() noexcept
+  {
+
+
+
+    return ::__libc_single_threaded;
+
+
+
+  }
+
+
+
+
+
+
+  inline _Atomic_word
+  __attribute__((__always_inline__))
+  __exchange_and_add(volatile _Atomic_word* __mem, int __val)
+  { return __atomic_fetch_add(__mem, __val, 4); }
+
+  inline void
+  __attribute__((__always_inline__))
+  __atomic_add(volatile _Atomic_word* __mem, int __val)
+  { __atomic_fetch_add(__mem, __val, 4); }
+# 82 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 3
+  inline _Atomic_word
+  __attribute__((__always_inline__))
+  __exchange_and_add_single(_Atomic_word* __mem, int __val)
+  {
+    _Atomic_word __result = *__mem;
+    *__mem += __val;
+    return __result;
+  }
+
+  inline void
+  __attribute__((__always_inline__))
+  __atomic_add_single(_Atomic_word* __mem, int __val)
+  { *__mem += __val; }
+
+  inline _Atomic_word
+  __attribute__ ((__always_inline__))
+  __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
+  {
+    if (__is_single_threaded())
+      return __exchange_and_add_single(__mem, __val);
+    else
+      return __exchange_and_add(__mem, __val);
+  }
+
+  inline void
+  __attribute__ ((__always_inline__))
+  __atomic_add_dispatch(_Atomic_word* __mem, int __val)
+  {
+    if (__is_single_threaded())
+      __atomic_add_single(__mem, __val);
+    else
+      __atomic_add(__mem, __val);
+  }
+
+
+}
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 1 3
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 1 3
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 1 3
+# 33 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 1 3
+# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functexcept.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functexcept.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  void
+  __throw_bad_exception(void) __attribute__((__noreturn__));
+
+
+  void
+  __throw_bad_alloc(void) __attribute__((__noreturn__));
+
+  void
+  __throw_bad_array_new_length(void) __attribute__((__noreturn__));
+
+
+  void
+  __throw_bad_cast(void) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__));
+
+
+  void
+  __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_length_error(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__))
+    __attribute__((__format__(__gnu_printf__, 1, 2)));
+
+  void
+  __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_range_error(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__));
+
+
+  void
+  __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__));
+
+  void
+  __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__));
+
+
+  void
+  __throw_system_error(int) __attribute__((__noreturn__,__cold__));
+
+
+  void
+  __throw_future_error(int) __attribute__((__noreturn__,__cold__));
+
+
+  void
+  __throw_bad_function_call() __attribute__((__noreturn__,__cold__));
+# 141 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functexcept.h" 3
+}
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 2 3
+
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 62 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
+  template<typename _Tp>
+    class __new_allocator
+    {
+    public:
+      typedef _Tp value_type;
+      typedef std::size_t size_type;
+      typedef std::ptrdiff_t difference_type;
+
+      typedef _Tp* pointer;
+      typedef const _Tp* const_pointer;
+      typedef _Tp& reference;
+      typedef const _Tp& const_reference;
+
+      template<typename _Tp1>
+ struct rebind
+ { typedef __new_allocator<_Tp1> other; };
+
+
+
+
+
+      typedef std::true_type propagate_on_container_move_assignment;
+
+
+      __attribute__((__always_inline__))
+
+      __new_allocator() noexcept { }
+
+      __attribute__((__always_inline__))
+
+      __new_allocator(const __new_allocator&) noexcept { }
+
+      template<typename _Tp1>
+ __attribute__((__always_inline__))
+
+ __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
+
+
+      __new_allocator& operator=(const __new_allocator&) = default;
+
+
+
+      ~__new_allocator() noexcept { }
+
+      pointer
+      address(reference __x) const noexcept
+      { return std::__addressof(__x); }
+
+      const_pointer
+      address(const_reference __x) const noexcept
+      { return std::__addressof(__x); }
+# 125 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
+      [[__nodiscard__]] _Tp*
+      allocate(size_type __n, const void* = static_cast<const void*>(0))
+      {
+
+
+
+ static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
+
+
+ if (__builtin_expect(__n > this->_M_max_size(), false))
+   {
+
+
+     if (__n > (std::size_t(-1) / sizeof(_Tp)))
+       std::__throw_bad_array_new_length();
+     std::__throw_bad_alloc();
+   }
+
+
+ if (alignof(_Tp) > 16UL)
+   {
+     std::align_val_t __al = std::align_val_t(alignof(_Tp));
+     return static_cast<_Tp*>(__builtin_operator_new(__n * sizeof(_Tp),
+          __al));
+   }
+
+ return static_cast<_Tp*>(__builtin_operator_new(__n * sizeof(_Tp)));
+      }
+
+
+      void
+      deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
+      {
+
+
+
+
+
+
+
+ if (alignof(_Tp) > 16UL)
+   {
+     __builtin_operator_delete((__p), (__n) * sizeof(_Tp),
+         std::align_val_t(alignof(_Tp)));
+     return;
+   }
+
+ __builtin_operator_delete((__p), (__n) * sizeof(_Tp));
+      }
+
+
+
+
+
+
+      __attribute__((__always_inline__))
+      size_type
+      max_size() const noexcept
+      { return _M_max_size(); }
+
+
+      template<typename _Up, typename... _Args>
+ __attribute__((__always_inline__))
+ void
+ construct(_Up* __p, _Args&&... __args)
+ noexcept(__is_nothrow_new_constructible<_Up, _Args...>)
+ { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
+
+      template<typename _Up>
+ __attribute__((__always_inline__))
+ void
+ destroy(_Up* __p)
+ noexcept(std::is_nothrow_destructible<_Up>::value)
+ { __p->~_Up(); }
+# 213 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
+      template<typename _Up>
+ friend __attribute__((__always_inline__)) bool
+ operator==(const __new_allocator&, const __new_allocator<_Up>&)
+ noexcept
+ { return true; }
+
+
+      template<typename _Up>
+ friend __attribute__((__always_inline__)) bool
+ operator!=(const __new_allocator&, const __new_allocator<_Up>&)
+ noexcept
+ { return false; }
+
+
+    private:
+      __attribute__((__always_inline__))
+      constexpr size_type
+      _M_max_size() const noexcept
+      {
+
+ return std::size_t(9223372036854775807L) / sizeof(_Tp);
+
+
+
+      }
+    };
+
+
+}
+# 34 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 2 3
+
+
+namespace std
+{
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 3
+  template<typename _Tp>
+    using __allocator_base = __new_allocator<_Tp>;
+}
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 2 3
+
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 75 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
+  template<>
+    class allocator<void>
+    {
+    public:
+      typedef void value_type;
+      typedef size_t size_type;
+      typedef ptrdiff_t difference_type;
+
+
+
+      typedef void* pointer;
+      typedef const void* const_pointer;
+
+      template<typename _Tp1>
+ struct rebind
+ { typedef allocator<_Tp1> other; };
+
+
+
+
+
+      using propagate_on_container_move_assignment = true_type;
+
+
+      using is_always_equal
+
+ = true_type;
+# 120 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
+    };
+# 132 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
+  template<typename _Tp>
+    class allocator : public __allocator_base<_Tp>
+    {
+    public:
+      typedef _Tp value_type;
+      typedef size_t size_type;
+      typedef ptrdiff_t difference_type;
+
+
+
+      typedef _Tp* pointer;
+      typedef const _Tp* const_pointer;
+      typedef _Tp& reference;
+      typedef const _Tp& const_reference;
+
+      template<typename _Tp1>
+ struct rebind
+ { typedef allocator<_Tp1> other; };
+
+
+
+
+
+      using propagate_on_container_move_assignment = true_type;
+
+
+      using is_always_equal
+
+ = true_type;
+
+
+
+
+
+      __attribute__((__always_inline__))
+
+      allocator() noexcept { }
+
+      __attribute__((__always_inline__))
+
+      allocator(const allocator& __a) noexcept
+      : __allocator_base<_Tp>(__a) { }
+
+
+
+      allocator& operator=(const allocator&) = default;
+
+
+      template<typename _Tp1>
+ __attribute__((__always_inline__))
+
+ allocator(const allocator<_Tp1>&) noexcept { }
+
+      __attribute__((__always_inline__))
+
+
+
+      ~allocator() noexcept { }
+# 219 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
+      friend __attribute__((__always_inline__))
+      bool
+      operator==(const allocator&, const allocator&) noexcept
+      { return true; }
+
+
+      friend __attribute__((__always_inline__))
+      bool
+      operator!=(const allocator&, const allocator&) noexcept
+      { return false; }
+
+
+
+    };
+
+
+
+
+
+
+  template<typename _T1, typename _T2>
+    __attribute__((__always_inline__))
+    inline bool
+    operator==(const allocator<_T1>&, const allocator<_T2>&)
+    noexcept
+    { return true; }
+
+
+  template<typename _T1, typename _T2>
+    __attribute__((__always_inline__))
+    inline bool
+    operator!=(const allocator<_T1>&, const allocator<_T2>&)
+    noexcept
+    { return false; }
+
+
+
+
+
+
+  template<typename _Tp>
+    class allocator<const _Tp>
+    {
+    public:
+      typedef _Tp value_type;
+      allocator() { }
+      template<typename _Up> allocator(const allocator<_Up>&) { }
+    };
+
+  template<typename _Tp>
+    class allocator<volatile _Tp>
+    {
+    public:
+      typedef _Tp value_type;
+      allocator() { }
+      template<typename _Up> allocator(const allocator<_Up>&) { }
+    };
+
+  template<typename _Tp>
+    class allocator<const volatile _Tp>
+    {
+    public:
+      typedef _Tp value_type;
+      allocator() { }
+      template<typename _Up> allocator(const allocator<_Up>&) { }
+    };
+
+
+
+
+
+
+
+  extern template class allocator<char>;
+  extern template class allocator<wchar_t>;
+
+
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 2 3
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+extern "C++" {
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  struct __true_type { };
+  struct __false_type { };
+
+  template<bool>
+    struct __truth_type
+    { typedef __false_type __type; };
+
+  template<>
+    struct __truth_type<true>
+    { typedef __true_type __type; };
+
+
+
+  template<class _Sp, class _Tp>
+    struct __traitor
+    {
+      enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
+      typedef typename __truth_type<__value>::__type __type;
+    };
+
+
+  template<typename, typename>
+    struct __are_same
+    {
+      enum { __value = 0 };
+      typedef __false_type __type;
+    };
+
+  template<typename _Tp>
+    struct __are_same<_Tp, _Tp>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+
+
+
+  template<typename _Tp>
+    struct __is_integer
+    {
+      enum { __value = 0 };
+      typedef __false_type __type;
+    };
+
+
+
+  template<>
+    struct __is_integer<bool>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<signed char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<unsigned char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+
+  template<>
+    struct __is_integer<wchar_t>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+# 176 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+  template<>
+    struct __is_integer<char16_t>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<char32_t>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+
+  template<>
+    struct __is_integer<short>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<unsigned short>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<int>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<unsigned int>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<long>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<unsigned long>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<long long>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_integer<unsigned long long>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+# 264 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+__extension__ template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer<unsigned __int128> { enum { __value = 1 }; typedef __true_type __type; };
+# 281 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+  template<typename _Tp>
+    struct __is_floating
+    {
+      enum { __value = 0 };
+      typedef __false_type __type;
+    };
+
+
+  template<>
+    struct __is_floating<float>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_floating<double>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_floating<long double>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+# 358 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+  template<typename _Tp>
+    struct __is_arithmetic
+    : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
+    { };
+
+
+
+
+  template<typename _Tp>
+    struct __is_char
+    {
+      enum { __value = 0 };
+      typedef __false_type __type;
+    };
+
+  template<>
+    struct __is_char<char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+
+  template<>
+    struct __is_char<wchar_t>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+
+  template<typename _Tp>
+    struct __is_byte
+    {
+      enum { __value = 0 };
+      typedef __false_type __type;
+    };
+
+  template<>
+    struct __is_byte<char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_byte<signed char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+  template<>
+    struct __is_byte<unsigned char>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+
+
+  enum class byte : unsigned char;
+
+  template<>
+    struct __is_byte<byte>
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+# 438 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+  template<typename _Tp>
+    struct __is_nonvolatile_trivially_copyable
+    {
+      enum { __value = __is_trivially_copyable(_Tp) };
+    };
+
+
+
+
+  template<typename _Tp>
+    struct __is_nonvolatile_trivially_copyable<volatile _Tp>
+    {
+      enum { __value = 0 };
+    };
+
+
+  template<typename _OutputIter, typename _InputIter>
+    struct __memcpyable
+    {
+      enum { __value = 0 };
+    };
+
+
+  template<typename _Tp>
+    struct __memcpyable<_Tp*, _Tp*>
+    : __is_nonvolatile_trivially_copyable<_Tp>
+    { };
+
+
+  template<typename _Tp>
+    struct __memcpyable<_Tp*, const _Tp*>
+    : __is_nonvolatile_trivially_copyable<_Tp>
+    { };
+
+  template<typename _Tp> struct __memcpyable_integer;
+
+
+
+
+  template<typename _Tp, typename _Up>
+    struct __memcpyable<_Tp*, _Up*>
+    {
+      enum {
+ __value = __memcpyable_integer<_Tp>::__width != 0
+      && ((int)__memcpyable_integer<_Tp>::__width
+     == (int)__memcpyable_integer<_Up>::__width)
+      };
+    };
+
+
+  template<typename _Tp, typename _Up>
+    struct __memcpyable<_Tp*, const _Up*>
+    : __memcpyable<_Tp*, _Up*>
+    { };
+
+  template<typename _Tp>
+    struct __memcpyable_integer
+    {
+      enum {
+ __width = __is_integer<_Tp>::__value ? (sizeof(_Tp) * 8) : 0
+      };
+    };
+
+
+  template<typename _Tp>
+    struct __memcpyable_integer<volatile _Tp>
+    { enum { __width = 0 }; };
+# 592 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+  template<typename _Iter1, typename _Iter2>
+    struct __memcmpable
+    {
+      enum { __value = 0 };
+    };
+
+
+  template<typename _Tp>
+    struct __memcmpable<_Tp*, _Tp*>
+    : __is_nonvolatile_trivially_copyable<_Tp>
+    { };
+
+  template<typename _Tp>
+    struct __memcmpable<const _Tp*, _Tp*>
+    : __is_nonvolatile_trivially_copyable<_Tp>
+    { };
+
+  template<typename _Tp>
+    struct __memcmpable<_Tp*, const _Tp*>
+    : __is_nonvolatile_trivially_copyable<_Tp>
+    { };
+
+
+
+
+
+
+
+  template<typename _Tp, bool _TreatAsBytes =
+
+
+
+ __is_byte<_Tp>::__value
+
+    >
+    struct __is_memcmp_ordered
+    {
+      static const bool __value = _Tp(-1) > _Tp(1);
+    };
+
+  template<typename _Tp>
+    struct __is_memcmp_ordered<_Tp, false>
+    {
+      static const bool __value = false;
+    };
+
+
+  template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
+    struct __is_memcmp_ordered_with
+    {
+      static const bool __value = __is_memcmp_ordered<_Tp>::__value
+ && __is_memcmp_ordered<_Up>::__value;
+    };
+
+  template<typename _Tp, typename _Up>
+    struct __is_memcmp_ordered_with<_Tp, _Up, false>
+    {
+      static const bool __value = false;
+    };
+# 661 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
+  template<>
+    struct __is_memcmp_ordered_with<std::byte, std::byte, true>
+    { static constexpr bool __value = true; };
+
+  template<typename _Tp, bool _SameSize>
+    struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
+    { static constexpr bool __value = false; };
+
+  template<typename _Up, bool _SameSize>
+    struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
+    { static constexpr bool __value = false; };
+
+
+
+  template<typename _ValT, typename _Tp>
+    constexpr bool __can_use_memchr_for_find
+
+      = __is_byte<_ValT>::__value
+
+   && (is_same_v<_Tp, _ValT> || is_integral_v<_Tp>);
+
+
+
+
+
+  template<typename _Tp>
+    struct __is_move_iterator
+    {
+      enum { __value = 0 };
+      typedef __false_type __type;
+    };
+
+
+
+  template<typename _Iterator>
+
+    inline _Iterator
+    __miter_base(_Iterator __it)
+    { return __it; }
+
+
+}
+}
+
+#pragma GCC diagnostic pop
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream_insert.h" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream_insert.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_forced.h" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_forced.h" 3
+#pragma GCC visibility push(default)
+
+
+namespace __cxxabiv1
+{
+
+
+
+
+
+
+
+  class __forced_unwind
+  {
+    virtual ~__forced_unwind() throw();
+
+
+    virtual void __pure_dummy() = 0;
+  };
+}
+
+
+#pragma GCC visibility pop
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream_insert.h" 2 3
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    inline void
+    __ostream_write(basic_ostream<_CharT, _Traits>& __out,
+      const _CharT* __s, streamsize __n)
+    {
+      typedef basic_ostream<_CharT, _Traits> __ostream_type;
+      typedef typename __ostream_type::ios_base __ios_base;
+
+      const streamsize __put = __out.rdbuf()->sputn(__s, __n);
+      if (__put != __n)
+ __out.setstate(__ios_base::badbit);
+    }
+
+  template<typename _CharT, typename _Traits>
+    inline void
+    __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
+    {
+      typedef basic_ostream<_CharT, _Traits> __ostream_type;
+      typedef typename __ostream_type::ios_base __ios_base;
+
+      const _CharT __c = __out.fill();
+      for (; __n > 0; --__n)
+ {
+   const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
+   if (_Traits::eq_int_type(__put, _Traits::eof()))
+     {
+       __out.setstate(__ios_base::badbit);
+       break;
+     }
+ }
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
+       const _CharT* __s, streamsize __n)
+    {
+      typedef basic_ostream<_CharT, _Traits> __ostream_type;
+      typedef typename __ostream_type::ios_base __ios_base;
+
+      typename __ostream_type::sentry __cerb(__out);
+      if (__cerb)
+ {
+   try
+     {
+       const streamsize __w = __out.width();
+       if (__w > __n)
+  {
+    const bool __left = ((__out.flags()
+     & __ios_base::adjustfield)
+           == __ios_base::left);
+    if (!__left)
+      __ostream_fill(__out, __w - __n);
+    if (__out.good())
+      __ostream_write(__out, __s, __n);
+    if (__left && __out.good())
+      __ostream_fill(__out, __w - __n);
+  }
+       else
+  __ostream_write(__out, __s, __n);
+       __out.width(0);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __out._M_setstate(__ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { __out._M_setstate(__ios_base::badbit); }
+ }
+      return __out;
+    }
+
+
+
+
+  extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
+
+
+  extern template wostream& __ostream_insert(wostream&, const wchar_t*,
+          streamsize);
+
+
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 1 3
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/concept_check.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/concept_check.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wvariadic-macros"
+# 86 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/concept_check.h" 3
+#pragma GCC diagnostic pop
+# 67 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/debug/assertions.h" 1 3
+# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 1 3
+# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 95 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
+  struct input_iterator_tag { };
+
+
+  struct output_iterator_tag { };
+
+
+  struct forward_iterator_tag : public input_iterator_tag { };
+
+
+
+  struct bidirectional_iterator_tag : public forward_iterator_tag { };
+
+
+
+  struct random_access_iterator_tag : public bidirectional_iterator_tag { };
+# 127 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
+  template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
+           typename _Pointer = _Tp*, typename _Reference = _Tp&>
+    struct [[__deprecated__]] iterator
+    {
+
+      typedef _Category iterator_category;
+
+      typedef _Tp value_type;
+
+      typedef _Distance difference_type;
+
+      typedef _Pointer pointer;
+
+      typedef _Reference reference;
+    };
+# 151 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
+  template<typename _Iterator>
+    struct iterator_traits;
+
+
+
+
+  template<typename _Iterator, typename = __void_t<>>
+    struct __iterator_traits { };
+
+
+
+  template<typename _Iterator>
+    struct __iterator_traits<_Iterator,
+        __void_t<typename _Iterator::iterator_category,
+          typename _Iterator::value_type,
+          typename _Iterator::difference_type,
+          typename _Iterator::pointer,
+          typename _Iterator::reference>>
+    {
+      typedef typename _Iterator::iterator_category iterator_category;
+      typedef typename _Iterator::value_type value_type;
+      typedef typename _Iterator::difference_type difference_type;
+      typedef typename _Iterator::pointer pointer;
+      typedef typename _Iterator::reference reference;
+    };
+
+
+  template<typename _Iterator>
+    struct iterator_traits
+    : public __iterator_traits<_Iterator> { };
+# 211 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
+  template<typename _Tp>
+    struct iterator_traits<_Tp*>
+    {
+      typedef random_access_iterator_tag iterator_category;
+      typedef _Tp value_type;
+      typedef ptrdiff_t difference_type;
+      typedef _Tp* pointer;
+      typedef _Tp& reference;
+    };
+
+
+  template<typename _Tp>
+    struct iterator_traits<const _Tp*>
+    {
+      typedef random_access_iterator_tag iterator_category;
+      typedef _Tp value_type;
+      typedef ptrdiff_t difference_type;
+      typedef const _Tp* pointer;
+      typedef const _Tp& reference;
+    };
+
+
+
+
+
+
+  template<typename _Iter>
+    __attribute__((__always_inline__))
+    inline constexpr
+    typename iterator_traits<_Iter>::iterator_category
+    __iterator_category(const _Iter&)
+    { return typename iterator_traits<_Iter>::iterator_category(); }
+
+
+
+
+  template<typename _Iter>
+    using __iter_category_t
+      = typename iterator_traits<_Iter>::iterator_category;
+
+  template<typename _InIter>
+    using _RequireInputIter =
+      __enable_if_t<is_convertible<__iter_category_t<_InIter>,
+       input_iterator_tag>::value>;
+
+
+
+
+
+
+
+  template<typename _It,
+    typename _Cat = __iter_category_t<_It>>
+    struct __is_random_access_iter
+      : is_base_of<random_access_iterator_tag, _Cat>
+    {
+      typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
+      enum { __value = _Base::value };
+    };
+# 278 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
+}
+# 69 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  template <typename> struct _List_iterator;
+  template <typename> struct _List_const_iterator;
+
+
+  template<typename _InputIterator>
+    inline constexpr
+    typename iterator_traits<_InputIterator>::difference_type
+    __distance(_InputIterator __first, _InputIterator __last,
+               input_iterator_tag)
+    {
+
+
+
+      typename iterator_traits<_InputIterator>::difference_type __n = 0;
+      while (__first != __last)
+ {
+   ++__first;
+   ++__n;
+ }
+      return __n;
+    }
+
+  template<typename _RandomAccessIterator>
+    __attribute__((__always_inline__))
+    inline constexpr
+    typename iterator_traits<_RandomAccessIterator>::difference_type
+    __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
+               random_access_iterator_tag)
+    {
+
+
+
+      return __last - __first;
+    }
+
+
+
+  template<typename _Tp>
+    ptrdiff_t
+    __distance(std::_List_iterator<_Tp>,
+        std::_List_iterator<_Tp>,
+        input_iterator_tag);
+
+  template<typename _Tp>
+    ptrdiff_t
+    __distance(std::_List_const_iterator<_Tp>,
+        std::_List_const_iterator<_Tp>,
+        input_iterator_tag);
+
+
+
+
+  template<typename _OutputIterator>
+    void
+    __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
+# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 3
+  template<typename _InputIterator>
+    [[__nodiscard__]] __attribute__((__always_inline__))
+    inline constexpr
+    typename iterator_traits<_InputIterator>::difference_type
+    distance(_InputIterator __first, _InputIterator __last)
+    {
+
+      return std::__distance(__first, __last,
+        std::__iterator_category(__first));
+    }
+
+  template<typename _InputIterator, typename _Distance>
+    inline constexpr void
+    __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
+    {
+
+
+      do { if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h", 163, __PRETTY_FUNCTION__, "__n >= 0"); } while (false);
+      while (__n--)
+ ++__i;
+    }
+
+  template<typename _BidirectionalIterator, typename _Distance>
+    inline constexpr void
+    __advance(_BidirectionalIterator& __i, _Distance __n,
+       bidirectional_iterator_tag)
+    {
+
+
+
+      if (__n > 0)
+        while (__n--)
+   ++__i;
+      else
+        while (__n++)
+   --__i;
+    }
+
+  template<typename _RandomAccessIterator, typename _Distance>
+    inline constexpr void
+    __advance(_RandomAccessIterator& __i, _Distance __n,
+              random_access_iterator_tag)
+    {
+
+
+
+      if (__builtin_constant_p(__n) && __n == 1)
+ ++__i;
+      else if (__builtin_constant_p(__n) && __n == -1)
+ --__i;
+      else
+ __i += __n;
+    }
+
+
+
+  template<typename _OutputIterator, typename _Distance>
+    void
+    __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
+# 219 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 3
+  template<typename _InputIterator, typename _Distance>
+    __attribute__((__always_inline__))
+    inline constexpr void
+    advance(_InputIterator& __i, _Distance __n)
+    {
+
+      typename iterator_traits<_InputIterator>::difference_type __d = __n;
+      std::__advance(__i, __d, std::__iterator_category(__i));
+    }
+
+
+
+  template<typename _InputIterator>
+    [[__nodiscard__]] [[__gnu__::__always_inline__]]
+    inline constexpr _InputIterator
+    next(_InputIterator __x, typename
+  iterator_traits<_InputIterator>::difference_type __n = 1)
+    {
+
+
+      std::advance(__x, __n);
+      return __x;
+    }
+
+  template<typename _BidirectionalIterator>
+    [[__nodiscard__]] [[__gnu__::__always_inline__]]
+    inline constexpr _BidirectionalIterator
+    prev(_BidirectionalIterator __x, typename
+  iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
+    {
+
+
+
+      std::advance(__x, -__n);
+      return __x;
+    }
+
+
+
+
+}
+# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 1 3
+# 65 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+
+extern "C++" {
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  template<bool, typename>
+    struct __enable_if
+    { };
+
+  template<typename _Tp>
+    struct __enable_if<true, _Tp>
+    { typedef _Tp __type; };
+
+
+
+  template<bool _Cond, typename _Iftrue, typename _Iffalse>
+    struct __conditional_type
+    { typedef _Iftrue __type; };
+
+  template<typename _Iftrue, typename _Iffalse>
+    struct __conditional_type<false, _Iftrue, _Iffalse>
+    { typedef _Iffalse __type; };
+
+
+
+  template<typename _Tp>
+    struct __add_unsigned
+    {
+    private:
+      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
+
+    public:
+      typedef typename __if_type::__type __type;
+    };
+
+  template<>
+    struct __add_unsigned<char>
+    { typedef unsigned char __type; };
+
+  template<>
+    struct __add_unsigned<signed char>
+    { typedef unsigned char __type; };
+
+  template<>
+    struct __add_unsigned<short>
+    { typedef unsigned short __type; };
+
+  template<>
+    struct __add_unsigned<int>
+    { typedef unsigned int __type; };
+
+  template<>
+    struct __add_unsigned<long>
+    { typedef unsigned long __type; };
+
+  template<>
+    struct __add_unsigned<long long>
+    { typedef unsigned long long __type; };
+
+
+  template<>
+    struct __add_unsigned<bool>;
+
+  template<>
+    struct __add_unsigned<wchar_t>;
+
+
+
+  template<typename _Tp>
+    struct __remove_unsigned
+    {
+    private:
+      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
+
+    public:
+      typedef typename __if_type::__type __type;
+    };
+
+  template<>
+    struct __remove_unsigned<char>
+    { typedef signed char __type; };
+
+  template<>
+    struct __remove_unsigned<unsigned char>
+    { typedef signed char __type; };
+
+  template<>
+    struct __remove_unsigned<unsigned short>
+    { typedef short __type; };
+
+  template<>
+    struct __remove_unsigned<unsigned int>
+    { typedef int __type; };
+
+  template<>
+    struct __remove_unsigned<unsigned long>
+    { typedef long __type; };
+
+  template<>
+    struct __remove_unsigned<unsigned long long>
+    { typedef long long __type; };
+
+
+  template<>
+    struct __remove_unsigned<bool>;
+
+  template<>
+    struct __remove_unsigned<wchar_t>;
+
+
+
+  template<typename _Type>
+    constexpr
+    inline bool
+    __is_null_pointer(_Type* __ptr)
+    { return __ptr == 0; }
+
+  template<typename _Type>
+    constexpr
+    inline bool
+    __is_null_pointer(_Type)
+    { return false; }
+
+
+  constexpr bool
+  __is_null_pointer(std::nullptr_t)
+  { return true; }
+
+
+
+
+  template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
+    struct __promote
+    { typedef double __type; };
+
+
+
+
+  template<typename _Tp>
+    struct __promote<_Tp, false>
+    { };
+
+  template<>
+    struct __promote<long double>
+    { typedef long double __type; };
+
+  template<>
+    struct __promote<double>
+    { typedef double __type; };
+
+  template<>
+    struct __promote<float>
+    { typedef float __type; };
+# 230 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 3
+  template<typename... _Tp>
+    using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
+
+
+
+  template<typename _Tp, typename _Up>
+    using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
+
+  template<typename _Tp, typename _Up, typename _Vp>
+    using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
+
+  template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
+    using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
+# 275 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 3
+}
+}
+
+#pragma GCC diagnostic pop
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ptr_traits.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ptr_traits.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  class __undefined;
+
+
+
+  template<typename _Tp>
+    struct __get_first_arg
+    { using type = __undefined; };
+
+  template<template<typename, typename...> class _SomeTemplate, typename _Tp,
+           typename... _Types>
+    struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
+    { using type = _Tp; };
+
+
+
+  template<typename _Tp, typename _Up>
+    struct __replace_first_arg
+    { };
+
+  template<template<typename, typename...> class _SomeTemplate, typename _Up,
+           typename _Tp, typename... _Types>
+    struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
+    { using type = _SomeTemplate<_Up, _Types...>; };
+
+
+  template<typename _Ptr, typename = void>
+    struct __ptr_traits_elem : __get_first_arg<_Ptr>
+    { };
+
+
+
+
+
+
+
+  template<typename _Ptr>
+    struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
+    { using type = typename _Ptr::element_type; };
+
+
+  template<typename _Ptr>
+    using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
+
+
+
+
+  template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
+    struct __ptr_traits_ptr_to
+    {
+      using pointer = _Ptr;
+      using element_type = _Elt;
+
+
+
+
+
+
+
+      static pointer
+      pointer_to(element_type& __r)
+
+
+
+
+
+      { return pointer::pointer_to(__r); }
+    };
+
+
+  template<typename _Ptr, typename _Elt>
+    struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
+    { };
+
+
+  template<typename _Tp>
+    struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
+    {
+      using pointer = _Tp*;
+      using element_type = _Tp;
+
+
+
+
+
+
+      static pointer
+      pointer_to(element_type& __r) noexcept
+      { return std::addressof(__r); }
+    };
+
+  template<typename _Ptr, typename _Elt>
+    struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
+    {
+    private:
+      template<typename _Tp>
+ using __diff_t = typename _Tp::difference_type;
+
+      template<typename _Tp, typename _Up>
+ using __rebind = __type_identity<typename _Tp::template rebind<_Up>>;
+
+    public:
+
+      using pointer = _Ptr;
+
+
+      using element_type = _Elt;
+
+
+      using difference_type = __detected_or_t<ptrdiff_t, __diff_t, _Ptr>;
+
+
+      template<typename _Up>
+ using rebind = typename __detected_or_t<__replace_first_arg<_Ptr, _Up>,
+      __rebind, _Ptr, _Up>::type;
+    };
+
+
+
+  template<typename _Ptr>
+    struct __ptr_traits_impl<_Ptr, __undefined>
+    { };
+
+
+
+
+
+
+
+  template<typename _Ptr>
+    struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
+    { };
+
+
+
+
+
+
+
+  template<typename _Tp>
+    struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
+    {
+
+      typedef _Tp* pointer;
+
+      typedef _Tp element_type;
+
+      typedef ptrdiff_t difference_type;
+
+      template<typename _Up> using rebind = _Up*;
+    };
+
+
+  template<typename _Ptr, typename _Tp>
+    using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
+
+
+  template<typename _Tp>
+    [[__gnu__::__always_inline__]]
+    constexpr _Tp*
+    __to_address(_Tp* __ptr) noexcept
+    {
+      static_assert(!std::is_function<_Tp>::value, "std::to_address argument "
+      "must not be a function pointer");
+      return __ptr;
+    }
+
+
+
+
+
+  template<typename _Ptr>
+    constexpr typename std::pointer_traits<_Ptr>::element_type*
+    __to_address(const _Ptr& __ptr)
+    { return std::__to_address(__ptr.operator->()); }
+# 269 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ptr_traits.h" 3
+}
+# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 2 3
+# 85 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# 130 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Iterator>
+    class reverse_iterator
+    : public iterator<typename iterator_traits<_Iterator>::iterator_category,
+        typename iterator_traits<_Iterator>::value_type,
+        typename iterator_traits<_Iterator>::difference_type,
+        typename iterator_traits<_Iterator>::pointer,
+                      typename iterator_traits<_Iterator>::reference>
+    {
+      template<typename _Iter>
+ friend class reverse_iterator;
+# 149 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+    protected:
+      _Iterator current;
+
+      typedef iterator_traits<_Iterator> __traits_type;
+
+    public:
+      typedef _Iterator iterator_type;
+      typedef typename __traits_type::pointer pointer;
+
+      typedef typename __traits_type::difference_type difference_type;
+      typedef typename __traits_type::reference reference;
+# 180 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      constexpr
+      reverse_iterator()
+      noexcept(noexcept(_Iterator()))
+      : current()
+      { }
+
+
+
+
+      explicit constexpr
+      reverse_iterator(iterator_type __x)
+      noexcept(noexcept(_Iterator(__x)))
+      : current(__x)
+      { }
+
+
+
+
+      constexpr
+      reverse_iterator(const reverse_iterator& __x)
+      noexcept(noexcept(_Iterator(__x.current)))
+      : current(__x.current)
+      { }
+
+
+      reverse_iterator& operator=(const reverse_iterator&) = default;
+
+
+
+
+
+
+      template<typename _Iter>
+
+
+
+ constexpr
+        reverse_iterator(const reverse_iterator<_Iter>& __x)
+ noexcept(noexcept(_Iterator(__x.current)))
+ : current(__x.current)
+ { }
+
+
+      template<typename _Iter>
+
+
+
+
+ constexpr
+ reverse_iterator&
+ operator=(const reverse_iterator<_Iter>& __x)
+ noexcept(noexcept(current = __x.current))
+ {
+   current = __x.current;
+   return *this;
+ }
+
+
+
+
+
+      [[__nodiscard__]]
+      constexpr iterator_type
+      base() const
+      noexcept(noexcept(_Iterator(current)))
+      { return current; }
+# 257 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      [[__nodiscard__]]
+      constexpr reference
+      operator*() const
+      {
+ _Iterator __tmp = current;
+ return *--__tmp;
+      }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      constexpr pointer
+      operator->() const
+
+
+
+
+      {
+
+
+ _Iterator __tmp = current;
+ --__tmp;
+ return _S_to_pointer(__tmp);
+      }
+
+
+
+
+
+
+      constexpr reverse_iterator&
+      operator++()
+      {
+ --current;
+ return *this;
+      }
+
+
+
+
+
+
+      constexpr reverse_iterator
+      operator++(int)
+      {
+ reverse_iterator __tmp = *this;
+ --current;
+ return __tmp;
+      }
+
+
+
+
+
+
+      constexpr reverse_iterator&
+      operator--()
+      {
+ ++current;
+ return *this;
+      }
+
+
+
+
+
+
+      constexpr reverse_iterator
+      operator--(int)
+      {
+ reverse_iterator __tmp = *this;
+ ++current;
+ return __tmp;
+      }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      constexpr reverse_iterator
+      operator+(difference_type __n) const
+      { return reverse_iterator(current - __n); }
+
+
+
+
+
+
+
+      constexpr reverse_iterator&
+      operator+=(difference_type __n)
+      {
+ current -= __n;
+ return *this;
+      }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      constexpr reverse_iterator
+      operator-(difference_type __n) const
+      { return reverse_iterator(current + __n); }
+
+
+
+
+
+
+
+      constexpr reverse_iterator&
+      operator-=(difference_type __n)
+      {
+ current += __n;
+ return *this;
+      }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      constexpr reference
+      operator[](difference_type __n) const
+      { return *(*this + __n); }
+# 417 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+    private:
+      template<typename _Tp>
+ static constexpr _Tp*
+ _S_to_pointer(_Tp* __p)
+        { return __p; }
+
+      template<typename _Tp>
+ static constexpr pointer
+ _S_to_pointer(_Tp __t)
+        { return __t.operator->(); }
+    };
+# 440 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator==(const reverse_iterator<_Iterator>& __x,
+        const reverse_iterator<_Iterator>& __y)
+    { return __x.base() == __y.base(); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<(const reverse_iterator<_Iterator>& __x,
+       const reverse_iterator<_Iterator>& __y)
+    { return __y.base() < __x.base(); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator!=(const reverse_iterator<_Iterator>& __x,
+        const reverse_iterator<_Iterator>& __y)
+    { return !(__x == __y); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>(const reverse_iterator<_Iterator>& __x,
+       const reverse_iterator<_Iterator>& __y)
+    { return __y < __x; }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<=(const reverse_iterator<_Iterator>& __x,
+        const reverse_iterator<_Iterator>& __y)
+    { return !(__y < __x); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>=(const reverse_iterator<_Iterator>& __x,
+        const reverse_iterator<_Iterator>& __y)
+    { return !(__x < __y); }
+
+
+
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator==(const reverse_iterator<_IteratorL>& __x,
+        const reverse_iterator<_IteratorR>& __y)
+    { return __x.base() == __y.base(); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<(const reverse_iterator<_IteratorL>& __x,
+       const reverse_iterator<_IteratorR>& __y)
+    { return __x.base() > __y.base(); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator!=(const reverse_iterator<_IteratorL>& __x,
+        const reverse_iterator<_IteratorR>& __y)
+    { return __x.base() != __y.base(); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>(const reverse_iterator<_IteratorL>& __x,
+       const reverse_iterator<_IteratorR>& __y)
+    { return __x.base() < __y.base(); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    inline constexpr bool
+    operator<=(const reverse_iterator<_IteratorL>& __x,
+        const reverse_iterator<_IteratorR>& __y)
+    { return __x.base() >= __y.base(); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>=(const reverse_iterator<_IteratorL>& __x,
+        const reverse_iterator<_IteratorR>& __y)
+    { return __x.base() <= __y.base(); }
+# 617 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr auto
+    operator-(const reverse_iterator<_IteratorL>& __x,
+       const reverse_iterator<_IteratorR>& __y)
+    -> decltype(__y.base() - __x.base())
+    { return __y.base() - __x.base(); }
+
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr reverse_iterator<_Iterator>
+    operator+(typename reverse_iterator<_Iterator>::difference_type __n,
+       const reverse_iterator<_Iterator>& __x)
+    { return reverse_iterator<_Iterator>(__x.base() - __n); }
+
+
+
+  template<typename _Iterator>
+    inline constexpr reverse_iterator<_Iterator>
+    __make_reverse_iterator(_Iterator __i)
+    { return reverse_iterator<_Iterator>(__i); }
+
+
+
+
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr reverse_iterator<_Iterator>
+    make_reverse_iterator(_Iterator __i)
+    { return reverse_iterator<_Iterator>(__i); }
+# 659 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Iterator>
+    struct __is_move_iterator<reverse_iterator<_Iterator> >
+      : __is_move_iterator<_Iterator>
+    { };
+# 676 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Container>
+    class back_insert_iterator
+    : public iterator<output_iterator_tag, void, void, void, void>
+    {
+    protected:
+      _Container* container;
+
+    public:
+
+      typedef _Container container_type;
+
+
+
+
+
+      explicit
+      back_insert_iterator(_Container& __x)
+      : container(std::__addressof(__x)) { }
+# 715 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      back_insert_iterator&
+      operator=(const typename _Container::value_type& __value)
+      {
+ container->push_back(__value);
+ return *this;
+      }
+
+
+      back_insert_iterator&
+      operator=(typename _Container::value_type&& __value)
+      {
+ container->push_back(std::move(__value));
+ return *this;
+      }
+
+
+
+      [[__nodiscard__]]
+      back_insert_iterator&
+      operator*()
+      { return *this; }
+
+
+
+      back_insert_iterator&
+      operator++()
+      { return *this; }
+
+
+
+      back_insert_iterator
+      operator++(int)
+      { return *this; }
+    };
+# 761 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Container>
+    [[__nodiscard__]]
+    inline back_insert_iterator<_Container>
+    back_inserter(_Container& __x)
+    { return back_insert_iterator<_Container>(__x); }
+# 777 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Container>
+    class front_insert_iterator
+    : public iterator<output_iterator_tag, void, void, void, void>
+    {
+    protected:
+      _Container* container;
+
+    public:
+
+      typedef _Container container_type;
+
+
+
+
+
+      explicit
+      front_insert_iterator(_Container& __x)
+      : container(std::__addressof(__x)) { }
+# 816 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      front_insert_iterator&
+      operator=(const typename _Container::value_type& __value)
+      {
+ container->push_front(__value);
+ return *this;
+      }
+
+
+      front_insert_iterator&
+      operator=(typename _Container::value_type&& __value)
+      {
+ container->push_front(std::move(__value));
+ return *this;
+      }
+
+
+
+      [[__nodiscard__]]
+      front_insert_iterator&
+      operator*()
+      { return *this; }
+
+
+
+      front_insert_iterator&
+      operator++()
+      { return *this; }
+
+
+
+      front_insert_iterator
+      operator++(int)
+      { return *this; }
+    };
+# 862 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Container>
+    [[__nodiscard__]]
+    inline front_insert_iterator<_Container>
+    front_inserter(_Container& __x)
+    { return front_insert_iterator<_Container>(__x); }
+# 882 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Container>
+    class insert_iterator
+    : public iterator<output_iterator_tag, void, void, void, void>
+    {
+
+
+
+      typedef typename _Container::iterator _Iter;
+
+    protected:
+      _Container* container;
+      _Iter iter;
+
+    public:
+
+      typedef _Container container_type;
+# 908 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      insert_iterator(_Container& __x, _Iter __i)
+      : container(std::__addressof(__x)), iter(__i) {}
+# 944 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      insert_iterator&
+      operator=(const typename _Container::value_type& __value)
+      {
+ iter = container->insert(iter, __value);
+ ++iter;
+ return *this;
+      }
+
+
+      insert_iterator&
+      operator=(typename _Container::value_type&& __value)
+      {
+ iter = container->insert(iter, std::move(__value));
+ ++iter;
+ return *this;
+      }
+
+
+
+      [[__nodiscard__]]
+      insert_iterator&
+      operator*()
+      { return *this; }
+
+
+
+      insert_iterator&
+      operator++()
+      { return *this; }
+
+
+
+      insert_iterator&
+      operator++(int)
+      { return *this; }
+    };
+
+#pragma GCC diagnostic pop
+# 1002 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Container>
+    [[__nodiscard__]]
+    inline insert_iterator<_Container>
+    inserter(_Container& __x, typename _Container::iterator __i)
+    { return insert_iterator<_Container>(__x, __i); }
+
+
+
+
+
+}
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+# 1025 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Iterator, typename _Container>
+    class __normal_iterator
+    {
+    protected:
+      _Iterator _M_current;
+
+      typedef std::iterator_traits<_Iterator> __traits_type;
+
+
+      template<typename _Iter>
+ using __convertible_from
+   = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
+
+
+    public:
+      typedef _Iterator iterator_type;
+      typedef typename __traits_type::iterator_category iterator_category;
+      typedef typename __traits_type::value_type value_type;
+      typedef typename __traits_type::difference_type difference_type;
+      typedef typename __traits_type::reference reference;
+      typedef typename __traits_type::pointer pointer;
+
+
+
+
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator() noexcept
+      : _M_current() { }
+
+      __attribute__((__always_inline__))
+      explicit constexpr
+      __normal_iterator(const _Iterator& __i) noexcept
+      : _M_current(__i) { }
+
+
+
+
+
+
+      template<typename _Iter, typename = __convertible_from<_Iter>>
+
+ [[__gnu__::__always_inline__]]
+ constexpr
+ __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
+ noexcept
+# 1082 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+        : _M_current(__i.base()) { }
+
+
+
+      [[__nodiscard__]] __attribute__((__always_inline__))
+      constexpr
+      reference
+      operator*() const noexcept
+      { return *_M_current; }
+
+      [[__nodiscard__]] __attribute__((__always_inline__))
+      constexpr
+      pointer
+      operator->() const noexcept
+      { return _M_current; }
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator&
+      operator++() noexcept
+      {
+ ++_M_current;
+ return *this;
+      }
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator
+      operator++(int) noexcept
+      { return __normal_iterator(_M_current++); }
+
+
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator&
+      operator--() noexcept
+      {
+ --_M_current;
+ return *this;
+      }
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator
+      operator--(int) noexcept
+      { return __normal_iterator(_M_current--); }
+
+
+
+      [[__nodiscard__]] __attribute__((__always_inline__))
+      constexpr
+      reference
+      operator[](difference_type __n) const noexcept
+      { return _M_current[__n]; }
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator&
+      operator+=(difference_type __n) noexcept
+      { _M_current += __n; return *this; }
+
+      [[__nodiscard__]] __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator
+      operator+(difference_type __n) const noexcept
+      { return __normal_iterator(_M_current + __n); }
+
+      __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator&
+      operator-=(difference_type __n) noexcept
+      { _M_current -= __n; return *this; }
+
+      [[__nodiscard__]] __attribute__((__always_inline__))
+      constexpr
+      __normal_iterator
+      operator-(difference_type __n) const noexcept
+      { return __normal_iterator(_M_current - __n); }
+
+      [[__nodiscard__]] __attribute__((__always_inline__))
+      constexpr
+      const _Iterator&
+      base() const noexcept
+      { return _M_current; }
+    };
+# 1217 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
+        const __normal_iterator<_IteratorR, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() == __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
+        const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() == __rhs.base(); }
+
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
+        const __normal_iterator<_IteratorR, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() != __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
+        const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() != __rhs.base(); }
+
+
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
+       const __normal_iterator<_IteratorR, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() < __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__))
+    inline bool
+    operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
+       const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() < __rhs.base(); }
+
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
+       const __normal_iterator<_IteratorR, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() > __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
+       const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() > __rhs.base(); }
+
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
+        const __normal_iterator<_IteratorR, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() <= __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
+        const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() <= __rhs.base(); }
+
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
+        const __normal_iterator<_IteratorR, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() >= __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline bool
+    operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
+        const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() >= __rhs.base(); }
+
+
+
+
+
+
+  template<typename _IteratorL, typename _IteratorR, typename _Container>
+
+
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    constexpr auto
+    operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
+       const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
+    -> decltype(__lhs.base() - __rhs.base())
+
+
+
+
+
+    { return __lhs.base() - __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline typename __normal_iterator<_Iterator, _Container>::difference_type
+    operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
+       const __normal_iterator<_Iterator, _Container>& __rhs)
+    noexcept
+    { return __lhs.base() - __rhs.base(); }
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
+    inline __normal_iterator<_Iterator, _Container>
+    operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
+       __n, const __normal_iterator<_Iterator, _Container>& __i)
+    noexcept
+    { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
+
+
+}
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 1434 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Iterator>
+    class move_iterator
+
+
+
+    {
+      _Iterator _M_current;
+
+      using __traits_type = iterator_traits<_Iterator>;
+
+      using __base_ref = typename __traits_type::reference;
+
+
+      template<typename _Iter2>
+ friend class move_iterator;
+# 1473 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+    public:
+      using iterator_type = _Iterator;
+# 1485 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      typedef typename __traits_type::iterator_category iterator_category;
+      typedef typename __traits_type::value_type value_type;
+      typedef typename __traits_type::difference_type difference_type;
+
+      typedef _Iterator pointer;
+
+
+      using reference
+ = __conditional_t<is_reference<__base_ref>::value,
+     typename remove_reference<__base_ref>::type&&,
+     __base_ref>;
+
+
+      constexpr
+      move_iterator()
+      : _M_current() { }
+
+      explicit constexpr
+      move_iterator(iterator_type __i)
+      : _M_current(std::move(__i)) { }
+
+      template<typename _Iter>
+
+
+
+ constexpr
+ move_iterator(const move_iterator<_Iter>& __i)
+ : _M_current(__i._M_current) { }
+
+      template<typename _Iter>
+
+
+
+
+ constexpr
+ move_iterator& operator=(const move_iterator<_Iter>& __i)
+ {
+   _M_current = __i._M_current;
+   return *this;
+ }
+
+
+      [[__nodiscard__]]
+      constexpr iterator_type
+      base() const
+      { return _M_current; }
+# 1543 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+      [[__nodiscard__]]
+      constexpr reference
+      operator*() const
+
+
+
+      { return static_cast<reference>(*_M_current); }
+
+
+      [[__nodiscard__]]
+      constexpr pointer
+      operator->() const
+      { return _M_current; }
+
+      constexpr move_iterator&
+      operator++()
+      {
+ ++_M_current;
+ return *this;
+      }
+
+      constexpr move_iterator
+      operator++(int)
+      {
+ move_iterator __tmp = *this;
+ ++_M_current;
+ return __tmp;
+      }
+
+
+
+
+
+
+
+      constexpr move_iterator&
+      operator--()
+      {
+ --_M_current;
+ return *this;
+      }
+
+      constexpr move_iterator
+      operator--(int)
+      {
+ move_iterator __tmp = *this;
+ --_M_current;
+ return __tmp;
+      }
+
+      [[__nodiscard__]]
+      constexpr move_iterator
+      operator+(difference_type __n) const
+      { return move_iterator(_M_current + __n); }
+
+      constexpr move_iterator&
+      operator+=(difference_type __n)
+      {
+ _M_current += __n;
+ return *this;
+      }
+
+      [[__nodiscard__]]
+      constexpr move_iterator
+      operator-(difference_type __n) const
+      { return move_iterator(_M_current - __n); }
+
+      constexpr move_iterator&
+      operator-=(difference_type __n)
+      {
+ _M_current -= __n;
+ return *this;
+      }
+
+      [[__nodiscard__]]
+      constexpr reference
+      operator[](difference_type __n) const
+
+
+
+      { return std::move(_M_current[__n]); }
+# 1657 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+    };
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator==(const move_iterator<_IteratorL>& __x,
+        const move_iterator<_IteratorR>& __y)
+
+
+
+    { return __x.base() == __y.base(); }
+# 1678 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator!=(const move_iterator<_IteratorL>& __x,
+        const move_iterator<_IteratorR>& __y)
+    { return !(__x == __y); }
+
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<(const move_iterator<_IteratorL>& __x,
+       const move_iterator<_IteratorR>& __y)
+
+
+
+    { return __x.base() < __y.base(); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<=(const move_iterator<_IteratorL>& __x,
+        const move_iterator<_IteratorR>& __y)
+
+
+
+    { return !(__y < __x); }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>(const move_iterator<_IteratorL>& __x,
+       const move_iterator<_IteratorR>& __y)
+
+
+
+    { return __y < __x; }
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>=(const move_iterator<_IteratorL>& __x,
+        const move_iterator<_IteratorR>& __y)
+
+
+
+    { return !(__x < __y); }
+
+
+
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator==(const move_iterator<_Iterator>& __x,
+        const move_iterator<_Iterator>& __y)
+
+    { return __x.base() == __y.base(); }
+# 1745 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator!=(const move_iterator<_Iterator>& __x,
+        const move_iterator<_Iterator>& __y)
+    { return !(__x == __y); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<(const move_iterator<_Iterator>& __x,
+       const move_iterator<_Iterator>& __y)
+    { return __x.base() < __y.base(); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<=(const move_iterator<_Iterator>& __x,
+        const move_iterator<_Iterator>& __y)
+    { return !(__y < __x); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>(const move_iterator<_Iterator>& __x,
+       const move_iterator<_Iterator>& __y)
+    { return __y < __x; }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>=(const move_iterator<_Iterator>& __x,
+        const move_iterator<_Iterator>& __y)
+    { return !(__x < __y); }
+
+
+
+  template<typename _IteratorL, typename _IteratorR>
+    [[__nodiscard__]]
+    inline constexpr auto
+    operator-(const move_iterator<_IteratorL>& __x,
+       const move_iterator<_IteratorR>& __y)
+    -> decltype(__x.base() - __y.base())
+    { return __x.base() - __y.base(); }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr move_iterator<_Iterator>
+    operator+(typename move_iterator<_Iterator>::difference_type __n,
+       const move_iterator<_Iterator>& __x)
+
+
+
+    { return __x + __n; }
+
+  template<typename _Iterator>
+    [[__nodiscard__]]
+    inline constexpr move_iterator<_Iterator>
+    make_move_iterator(_Iterator __i)
+    { return move_iterator<_Iterator>(std::move(__i)); }
+
+  template<typename _Iterator, typename _ReturnType
+    = __conditional_t<__move_if_noexcept_cond
+      <typename iterator_traits<_Iterator>::value_type>::value,
+  _Iterator, move_iterator<_Iterator>>>
+    [[__nodiscard__]]
+    constexpr _ReturnType
+    __make_move_if_noexcept_iterator(_Iterator __i)
+    { return _ReturnType(__i); }
+
+
+
+  template<typename _Tp, typename _ReturnType
+    = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
+        const _Tp*, move_iterator<_Tp*>>>
+    [[__nodiscard__]]
+    constexpr _ReturnType
+    __make_move_if_noexcept_iterator(_Tp* __i)
+    { return _ReturnType(__i); }
+
+  template<typename _Iterator>
+    struct __is_move_iterator<move_iterator<_Iterator> >
+    {
+      enum { __value = 1 };
+      typedef __true_type __type;
+    };
+# 2981 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+}
+
+namespace __gnu_debug
+{
+  template<typename _Iterator, typename _Sequence, typename _Category>
+    class _Safe_iterator;
+}
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+  template<typename _Iterator, typename _Container>
+    [[__nodiscard__]] __attribute__((__always_inline__))
+
+    inline _Iterator
+    __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
+    noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
+    { return __it.base(); }
+
+
+  template<typename _Iterator>
+    [[__nodiscard__]] __attribute__((__always_inline__))
+
+    inline _Iterator
+    __niter_base(_Iterator __it)
+    noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
+    { return __it; }
+# 3027 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
+  template<typename _Ite, typename _Seq>
+
+    decltype(std::__niter_base(std::declval<_Ite>()))
+    __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
+   std::random_access_iterator_tag>&)
+    noexcept(std::is_nothrow_copy_constructible<_Ite>::value);
+
+
+
+  template<typename _Iterator>
+
+    inline auto
+    __niter_base(reverse_iterator<_Iterator> __it)
+    -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
+    { return __make_reverse_iterator(__niter_base(__it.base())); }
+
+  template<typename _Iterator>
+
+    inline auto
+    __niter_base(move_iterator<_Iterator> __it)
+    -> decltype(make_move_iterator(__niter_base(__it.base())))
+    { return make_move_iterator(__niter_base(__it.base())); }
+
+  template<typename _Iterator>
+
+    inline auto
+    __miter_base(reverse_iterator<_Iterator> __it)
+    -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
+    { return __make_reverse_iterator(__miter_base(__it.base())); }
+
+  template<typename _Iterator>
+
+    inline auto
+    __miter_base(move_iterator<_Iterator> __it)
+    -> decltype(__miter_base(__it.base()))
+    { return __miter_base(__it.base()); }
+
+
+
+
+
+
+  template<typename _From, typename _To>
+    [[__nodiscard__]]
+
+    inline _From
+    __niter_wrap(_From __from, _To __res)
+    { return __from + (std::__niter_base(__res) - std::__niter_base(__from)); }
+
+
+  template<typename _Iterator>
+    [[__nodiscard__]] __attribute__((__always_inline__))
+
+    inline _Iterator
+    __niter_wrap(const _Iterator&, _Iterator __res)
+    { return __res; }
+
+
+
+
+
+
+  template<typename _InputIterator>
+    using __iter_key_t = remove_const_t<
+
+
+
+      typename iterator_traits<_InputIterator>::value_type::first_type>;
+
+
+  template<typename _InputIterator>
+    using __iter_val_t
+
+
+
+      = typename iterator_traits<_InputIterator>::value_type::second_type;
+
+
+  template<typename _T1, typename _T2>
+    struct pair;
+
+  template<typename _InputIterator>
+    using __iter_to_alloc_t
+      = pair<const __iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>>;
+
+
+
+}
+# 51 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 1 3
+# 63 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 116 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  template<typename _Arg, typename _Result>
+    struct unary_function
+    {
+
+      typedef _Arg argument_type;
+
+
+      typedef _Result result_type;
+    } __attribute__ ((__deprecated__));
+
+
+
+
+
+  template<typename _Arg1, typename _Arg2, typename _Result>
+    struct binary_function
+    {
+
+      typedef _Arg1 first_argument_type;
+
+
+      typedef _Arg2 second_argument_type;
+
+
+      typedef _Result result_type;
+    } __attribute__ ((__deprecated__));
+# 157 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  struct __is_transparent;
+
+  template<typename _Tp = void>
+    struct plus;
+
+  template<typename _Tp = void>
+    struct minus;
+
+  template<typename _Tp = void>
+    struct multiplies;
+
+  template<typename _Tp = void>
+    struct divides;
+
+  template<typename _Tp = void>
+    struct modulus;
+
+  template<typename _Tp = void>
+    struct negate;
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+  template<typename _Tp>
+    struct plus : public binary_function<_Tp, _Tp, _Tp>
+    {
+
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x + __y; }
+    };
+
+
+  template<typename _Tp>
+    struct minus : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x - __y; }
+    };
+
+
+  template<typename _Tp>
+    struct multiplies : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x * __y; }
+    };
+
+
+  template<typename _Tp>
+    struct divides : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x / __y; }
+    };
+
+
+  template<typename _Tp>
+    struct modulus : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x % __y; }
+    };
+
+
+  template<typename _Tp>
+    struct negate : public unary_function<_Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x) const
+      { return -__x; }
+    };
+#pragma GCC diagnostic pop
+
+
+  template<>
+    struct plus<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct minus<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct multiplies<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct divides<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct modulus<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct negate<void>
+    {
+      template <typename _Tp>
+ constexpr
+ auto
+ operator()(_Tp&& __t) const
+ noexcept(noexcept(-std::forward<_Tp>(__t)))
+ -> decltype(-std::forward<_Tp>(__t))
+ { return -std::forward<_Tp>(__t); }
+
+      typedef __is_transparent is_transparent;
+    };
+# 346 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  template<typename _Tp = void>
+    struct equal_to;
+
+  template<typename _Tp = void>
+    struct not_equal_to;
+
+  template<typename _Tp = void>
+    struct greater;
+
+  template<typename _Tp = void>
+    struct less;
+
+  template<typename _Tp = void>
+    struct greater_equal;
+
+  template<typename _Tp = void>
+    struct less_equal;
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+  template<typename _Tp>
+    struct equal_to : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x == __y; }
+    };
+
+
+  template<typename _Tp>
+    struct not_equal_to : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x != __y; }
+    };
+
+
+  template<typename _Tp>
+    struct greater : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x > __y; }
+    };
+
+
+  template<typename _Tp>
+    struct less : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x < __y; }
+    };
+
+
+  template<typename _Tp>
+    struct greater_equal : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x >= __y; }
+    };
+
+
+  template<typename _Tp>
+    struct less_equal : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x <= __y; }
+    };
+
+
+  template<typename _Tp>
+    struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
+    {
+      constexpr bool
+      operator()(_Tp* __x, _Tp* __y) const noexcept
+      {
+
+ if (std::__is_constant_evaluated())
+   return __x > __y;
+
+ return (long unsigned int)__x > (long unsigned int)__y;
+      }
+    };
+
+
+  template<typename _Tp>
+    struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
+    {
+      constexpr bool
+      operator()(_Tp* __x, _Tp* __y) const noexcept
+      {
+
+ if (std::__is_constant_evaluated())
+   return __x < __y;
+
+ return (long unsigned int)__x < (long unsigned int)__y;
+      }
+    };
+
+
+  template<typename _Tp>
+    struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
+    {
+      constexpr bool
+      operator()(_Tp* __x, _Tp* __y) const noexcept
+      {
+
+ if (std::__is_constant_evaluated())
+   return __x >= __y;
+
+ return (long unsigned int)__x >= (long unsigned int)__y;
+      }
+    };
+
+
+  template<typename _Tp>
+    struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
+    {
+      constexpr bool
+      operator()(_Tp* __x, _Tp* __y) const noexcept
+      {
+
+ if (std::__is_constant_evaluated())
+   return __x <= __y;
+
+ return (long unsigned int)__x <= (long unsigned int)__y;
+      }
+    };
+#pragma GCC diagnostic pop
+
+
+
+  template<>
+    struct equal_to<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct not_equal_to<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct greater<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
+ {
+   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
+   __ptr_cmp<_Tp, _Up>{});
+ }
+
+      template<typename _Tp, typename _Up>
+ constexpr bool
+ operator()(_Tp* __t, _Up* __u) const noexcept
+ { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
+
+      typedef __is_transparent is_transparent;
+
+    private:
+      template <typename _Tp, typename _Up>
+ static constexpr decltype(auto)
+ _S_cmp(_Tp&& __t, _Up&& __u, false_type)
+ { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
+
+      template <typename _Tp, typename _Up>
+ static constexpr bool
+ _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
+ {
+   return greater<const volatile void*>{}(
+       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
+       static_cast<const volatile void*>(std::forward<_Up>(__u)));
+ }
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded2 : true_type { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded2<_Tp, _Up, __void_t<
+   decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
+ : false_type { };
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded<_Tp, _Up, __void_t<
+   decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
+ : false_type { };
+
+      template<typename _Tp, typename _Up>
+ using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
+       is_convertible<_Tp, const volatile void*>,
+       is_convertible<_Up, const volatile void*>>;
+    };
+
+
+  template<>
+    struct less<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
+ {
+   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
+   __ptr_cmp<_Tp, _Up>{});
+ }
+
+      template<typename _Tp, typename _Up>
+ constexpr bool
+ operator()(_Tp* __t, _Up* __u) const noexcept
+ { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
+
+      typedef __is_transparent is_transparent;
+
+    private:
+      template <typename _Tp, typename _Up>
+ static constexpr decltype(auto)
+ _S_cmp(_Tp&& __t, _Up&& __u, false_type)
+ { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
+
+      template <typename _Tp, typename _Up>
+ static constexpr bool
+ _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
+ {
+   return less<const volatile void*>{}(
+       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
+       static_cast<const volatile void*>(std::forward<_Up>(__u)));
+ }
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded2 : true_type { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded2<_Tp, _Up, __void_t<
+   decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
+ : false_type { };
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded<_Tp, _Up, __void_t<
+   decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
+ : false_type { };
+
+      template<typename _Tp, typename _Up>
+ using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
+       is_convertible<_Tp, const volatile void*>,
+       is_convertible<_Up, const volatile void*>>;
+    };
+
+
+  template<>
+    struct greater_equal<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
+ {
+   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
+   __ptr_cmp<_Tp, _Up>{});
+ }
+
+      template<typename _Tp, typename _Up>
+ constexpr bool
+ operator()(_Tp* __t, _Up* __u) const noexcept
+ { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
+
+      typedef __is_transparent is_transparent;
+
+    private:
+      template <typename _Tp, typename _Up>
+ static constexpr decltype(auto)
+ _S_cmp(_Tp&& __t, _Up&& __u, false_type)
+ { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
+
+      template <typename _Tp, typename _Up>
+ static constexpr bool
+ _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
+ {
+   return greater_equal<const volatile void*>{}(
+       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
+       static_cast<const volatile void*>(std::forward<_Up>(__u)));
+ }
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded2 : true_type { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded2<_Tp, _Up, __void_t<
+   decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
+ : false_type { };
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded<_Tp, _Up, __void_t<
+   decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
+ : false_type { };
+
+      template<typename _Tp, typename _Up>
+ using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
+       is_convertible<_Tp, const volatile void*>,
+       is_convertible<_Up, const volatile void*>>;
+    };
+
+
+  template<>
+    struct less_equal<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
+ {
+   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
+   __ptr_cmp<_Tp, _Up>{});
+ }
+
+      template<typename _Tp, typename _Up>
+ constexpr bool
+ operator()(_Tp* __t, _Up* __u) const noexcept
+ { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
+
+      typedef __is_transparent is_transparent;
+
+    private:
+      template <typename _Tp, typename _Up>
+ static constexpr decltype(auto)
+ _S_cmp(_Tp&& __t, _Up&& __u, false_type)
+ { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
+
+      template <typename _Tp, typename _Up>
+ static constexpr bool
+ _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
+ {
+   return less_equal<const volatile void*>{}(
+       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
+       static_cast<const volatile void*>(std::forward<_Up>(__u)));
+ }
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded2 : true_type { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded2<_Tp, _Up, __void_t<
+   decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
+ : false_type { };
+
+
+      template<typename _Tp, typename _Up, typename = void>
+ struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
+
+
+      template<typename _Tp, typename _Up>
+ struct __not_overloaded<_Tp, _Up, __void_t<
+   decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
+ : false_type { };
+
+      template<typename _Tp, typename _Up>
+ using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
+       is_convertible<_Tp, const volatile void*>,
+       is_convertible<_Up, const volatile void*>>;
+    };
+# 778 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  template<typename _Tp = void>
+    struct logical_and;
+
+  template<typename _Tp = void>
+    struct logical_or;
+
+  template<typename _Tp = void>
+    struct logical_not;
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+  template<typename _Tp>
+    struct logical_and : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x && __y; }
+    };
+
+
+  template<typename _Tp>
+    struct logical_or : public binary_function<_Tp, _Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x || __y; }
+    };
+
+
+  template<typename _Tp>
+    struct logical_not : public unary_function<_Tp, bool>
+    {
+      constexpr
+      bool
+      operator()(const _Tp& __x) const
+      { return !__x; }
+    };
+#pragma GCC diagnostic pop
+
+
+
+  template<>
+    struct logical_and<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct logical_or<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+  template<>
+    struct logical_not<void>
+    {
+      template <typename _Tp>
+ constexpr
+ auto
+ operator()(_Tp&& __t) const
+ noexcept(noexcept(!std::forward<_Tp>(__t)))
+ -> decltype(!std::forward<_Tp>(__t))
+ { return !std::forward<_Tp>(__t); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+
+
+  template<typename _Tp = void>
+    struct bit_and;
+
+  template<typename _Tp = void>
+    struct bit_or;
+
+  template<typename _Tp = void>
+    struct bit_xor;
+
+  template<typename _Tp = void>
+    struct bit_not;
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+
+  template<typename _Tp>
+    struct bit_and : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x & __y; }
+    };
+
+  template<typename _Tp>
+    struct bit_or : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x | __y; }
+    };
+
+  template<typename _Tp>
+    struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
+    {
+      constexpr
+      _Tp
+      operator()(const _Tp& __x, const _Tp& __y) const
+      { return __x ^ __y; }
+    };
+
+  template<typename _Tp>
+    struct bit_not : public unary_function<_Tp, _Tp>
+    {
+    constexpr
+      _Tp
+      operator()(const _Tp& __x) const
+      { return ~__x; }
+    };
+#pragma GCC diagnostic pop
+
+
+  template <>
+    struct bit_and<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+  template <>
+    struct bit_or<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+  template <>
+    struct bit_xor<void>
+    {
+      template <typename _Tp, typename _Up>
+ constexpr
+ auto
+ operator()(_Tp&& __t, _Up&& __u) const
+ noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
+ -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
+ { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+  template <>
+    struct bit_not<void>
+    {
+      template <typename _Tp>
+ constexpr
+ auto
+ operator()(_Tp&& __t) const
+ noexcept(noexcept(~std::forward<_Tp>(__t)))
+ -> decltype(~std::forward<_Tp>(__t))
+ { return ~std::forward<_Tp>(__t); }
+
+      typedef __is_transparent is_transparent;
+    };
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# 1020 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  template<typename _Predicate>
+    class [[__deprecated__]] unary_negate
+    : public unary_function<typename _Predicate::argument_type, bool>
+    {
+    protected:
+      _Predicate _M_pred;
+
+    public:
+      constexpr
+      explicit
+      unary_negate(const _Predicate& __x) : _M_pred(__x) { }
+
+      constexpr
+      bool
+      operator()(const typename _Predicate::argument_type& __x) const
+      { return !_M_pred(__x); }
+    };
+
+
+  template<typename _Predicate>
+    __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
+    constexpr
+    inline unary_negate<_Predicate>
+    not1(const _Predicate& __pred)
+    { return unary_negate<_Predicate>(__pred); }
+
+
+  template<typename _Predicate>
+    class [[__deprecated__]] binary_negate
+    : public binary_function<typename _Predicate::first_argument_type,
+        typename _Predicate::second_argument_type, bool>
+    {
+    protected:
+      _Predicate _M_pred;
+
+    public:
+      constexpr
+      explicit
+      binary_negate(const _Predicate& __x) : _M_pred(__x) { }
+
+      constexpr
+      bool
+      operator()(const typename _Predicate::first_argument_type& __x,
+   const typename _Predicate::second_argument_type& __y) const
+      { return !_M_pred(__x, __y); }
+    };
+
+
+  template<typename _Predicate>
+    __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
+    constexpr
+    inline binary_negate<_Predicate>
+    not2(const _Predicate& __pred)
+    { return binary_negate<_Predicate>(__pred); }
+# 1101 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  template<typename _Arg, typename _Result>
+    class pointer_to_unary_function : public unary_function<_Arg, _Result>
+    {
+    protected:
+      _Result (*_M_ptr)(_Arg);
+
+    public:
+      pointer_to_unary_function() { }
+
+      explicit
+      pointer_to_unary_function(_Result (*__x)(_Arg))
+      : _M_ptr(__x) { }
+
+      _Result
+      operator()(_Arg __x) const
+      { return _M_ptr(__x); }
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Arg, typename _Result>
+    __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
+    inline pointer_to_unary_function<_Arg, _Result>
+    ptr_fun(_Result (*__x)(_Arg))
+    { return pointer_to_unary_function<_Arg, _Result>(__x); }
+
+
+  template<typename _Arg1, typename _Arg2, typename _Result>
+    class pointer_to_binary_function
+    : public binary_function<_Arg1, _Arg2, _Result>
+    {
+    protected:
+      _Result (*_M_ptr)(_Arg1, _Arg2);
+
+    public:
+      pointer_to_binary_function() { }
+
+      explicit
+      pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
+      : _M_ptr(__x) { }
+
+      _Result
+      operator()(_Arg1 __x, _Arg2 __y) const
+      { return _M_ptr(__x, __y); }
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Arg1, typename _Arg2, typename _Result>
+    __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
+    inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
+    ptr_fun(_Result (*__x)(_Arg1, _Arg2))
+    { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
+
+
+  template<typename _Tp>
+    struct _Identity
+    : public unary_function<_Tp, _Tp>
+    {
+      _Tp&
+      operator()(_Tp& __x) const
+      { return __x; }
+
+      const _Tp&
+      operator()(const _Tp& __x) const
+      { return __x; }
+    };
+
+
+  template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
+
+  template<typename _Pair>
+    struct _Select1st
+    : public unary_function<_Pair, typename _Pair::first_type>
+    {
+      typename _Pair::first_type&
+      operator()(_Pair& __x) const
+      { return __x.first; }
+
+      const typename _Pair::first_type&
+      operator()(const _Pair& __x) const
+      { return __x.first; }
+
+
+      template<typename _Pair2>
+        typename _Pair2::first_type&
+        operator()(_Pair2& __x) const
+        { return __x.first; }
+
+      template<typename _Pair2>
+        const typename _Pair2::first_type&
+        operator()(const _Pair2& __x) const
+        { return __x.first; }
+
+    };
+
+  template<typename _Pair>
+    struct _Select2nd
+    : public unary_function<_Pair, typename _Pair::second_type>
+    {
+      typename _Pair::second_type&
+      operator()(_Pair& __x) const
+      { return __x.second; }
+
+      const typename _Pair::second_type&
+      operator()(const _Pair& __x) const
+      { return __x.second; }
+    };
+# 1228 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+  template<typename _Ret, typename _Tp>
+    class mem_fun_t : public unary_function<_Tp*, _Ret>
+    {
+    public:
+      explicit
+      mem_fun_t(_Ret (_Tp::*__pf)())
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(_Tp* __p) const
+      { return (__p->*_M_f)(); }
+
+    private:
+      _Ret (_Tp::*_M_f)();
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp>
+    class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
+    {
+    public:
+      explicit
+      const_mem_fun_t(_Ret (_Tp::*__pf)() const)
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(const _Tp* __p) const
+      { return (__p->*_M_f)(); }
+
+    private:
+      _Ret (_Tp::*_M_f)() const;
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp>
+    class mem_fun_ref_t : public unary_function<_Tp, _Ret>
+    {
+    public:
+      explicit
+      mem_fun_ref_t(_Ret (_Tp::*__pf)())
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(_Tp& __r) const
+      { return (__r.*_M_f)(); }
+
+    private:
+      _Ret (_Tp::*_M_f)();
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp>
+    class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
+    {
+    public:
+      explicit
+      const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(const _Tp& __r) const
+      { return (__r.*_M_f)(); }
+
+    private:
+      _Ret (_Tp::*_M_f)() const;
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
+    {
+    public:
+      explicit
+      mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(_Tp* __p, _Arg __x) const
+      { return (__p->*_M_f)(__x); }
+
+    private:
+      _Ret (_Tp::*_M_f)(_Arg);
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
+    {
+    public:
+      explicit
+      const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(const _Tp* __p, _Arg __x) const
+      { return (__p->*_M_f)(__x); }
+
+    private:
+      _Ret (_Tp::*_M_f)(_Arg) const;
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
+    {
+    public:
+      explicit
+      mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(_Tp& __r, _Arg __x) const
+      { return (__r.*_M_f)(__x); }
+
+    private:
+      _Ret (_Tp::*_M_f)(_Arg);
+    } __attribute__ ((__deprecated__));
+
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
+    {
+    public:
+      explicit
+      const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
+      : _M_f(__pf) { }
+
+      _Ret
+      operator()(const _Tp& __r, _Arg __x) const
+      { return (__r.*_M_f)(__x); }
+
+    private:
+      _Ret (_Tp::*_M_f)(_Arg) const;
+    } __attribute__ ((__deprecated__));
+
+
+
+  template<typename _Ret, typename _Tp>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline mem_fun_t<_Ret, _Tp>
+    mem_fun(_Ret (_Tp::*__f)())
+    { return mem_fun_t<_Ret, _Tp>(__f); }
+
+  template<typename _Ret, typename _Tp>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline const_mem_fun_t<_Ret, _Tp>
+    mem_fun(_Ret (_Tp::*__f)() const)
+    { return const_mem_fun_t<_Ret, _Tp>(__f); }
+
+  template<typename _Ret, typename _Tp>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline mem_fun_ref_t<_Ret, _Tp>
+    mem_fun_ref(_Ret (_Tp::*__f)())
+    { return mem_fun_ref_t<_Ret, _Tp>(__f); }
+
+  template<typename _Ret, typename _Tp>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline const_mem_fun_ref_t<_Ret, _Tp>
+    mem_fun_ref(_Ret (_Tp::*__f)() const)
+    { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline mem_fun1_t<_Ret, _Tp, _Arg>
+    mem_fun(_Ret (_Tp::*__f)(_Arg))
+    { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline const_mem_fun1_t<_Ret, _Tp, _Arg>
+    mem_fun(_Ret (_Tp::*__f)(_Arg) const)
+    { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
+    mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
+    { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
+
+  template<typename _Ret, typename _Tp, typename _Arg>
+    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
+    inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
+    mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
+    { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
+#pragma GCC diagnostic pop
+
+
+
+
+  template<typename _Func, typename _SfinaeType, typename = __void_t<>>
+    struct __has_is_transparent
+    { };
+
+  template<typename _Func, typename _SfinaeType>
+    struct __has_is_transparent<_Func, _SfinaeType,
+    __void_t<typename _Func::is_transparent>>
+    { typedef void type; };
+
+  template<typename _Func, typename _SfinaeType>
+    using __has_is_transparent_t
+      = typename __has_is_transparent<_Func, _SfinaeType>::type;
+# 1438 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
+}
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/backward/binders.h" 1 3
+# 60 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/backward/binders.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 107 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/backward/binders.h" 3
+  template<typename _Operation>
+    class binder1st
+    : public unary_function<typename _Operation::second_argument_type,
+       typename _Operation::result_type>
+    {
+    protected:
+      _Operation op;
+      typename _Operation::first_argument_type value;
+
+    public:
+      binder1st(const _Operation& __x,
+  const typename _Operation::first_argument_type& __y)
+      : op(__x), value(__y) { }
+
+      typename _Operation::result_type
+      operator()(const typename _Operation::second_argument_type& __x) const
+      { return op(value, __x); }
+
+
+
+      typename _Operation::result_type
+      operator()(typename _Operation::second_argument_type& __x) const
+      { return op(value, __x); }
+    } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
+
+
+  template<typename _Operation, typename _Tp>
+    __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
+    inline binder1st<_Operation>
+    bind1st(const _Operation& __fn, const _Tp& __x)
+    {
+      typedef typename _Operation::first_argument_type _Arg1_type;
+      return binder1st<_Operation>(__fn, _Arg1_type(__x));
+    }
+
+
+  template<typename _Operation>
+    class binder2nd
+    : public unary_function<typename _Operation::first_argument_type,
+       typename _Operation::result_type>
+    {
+    protected:
+      _Operation op;
+      typename _Operation::second_argument_type value;
+
+    public:
+      binder2nd(const _Operation& __x,
+  const typename _Operation::second_argument_type& __y)
+      : op(__x), value(__y) { }
+
+      typename _Operation::result_type
+      operator()(const typename _Operation::first_argument_type& __x) const
+      { return op(__x, value); }
+
+
+
+      typename _Operation::result_type
+      operator()(typename _Operation::first_argument_type& __x) const
+      { return op(__x, value); }
+    } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
+
+
+  template<typename _Operation, typename _Tp>
+    __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
+    inline binder2nd<_Operation>
+    bind2nd(const _Operation& __fn, const _Tp& __x)
+    {
+      typedef typename _Operation::second_argument_type _Arg2_type;
+      return binder2nd<_Operation>(__fn, _Arg2_type(__x));
+    }
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 1442 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 2 3
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
+  template<typename _Tp>
+    struct __is_integer_nonstrict
+    : public std::__is_integer<_Tp>
+    {
+      using std::__is_integer<_Tp>::__value;
+
+
+      enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
+    };
+
+  template<typename _Value>
+    struct __numeric_traits_integer
+    {
+
+      static_assert(__is_integer_nonstrict<_Value>::__value,
+      "invalid specialization");
+
+
+
+
+      static const bool __is_signed = (_Value)(-1) < 0;
+      static const int __digits
+ = __is_integer_nonstrict<_Value>::__width - __is_signed;
+
+
+      static const _Value __max = __is_signed
+ ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
+ : ~(_Value)0;
+      static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
+    };
+
+  template<typename _Value>
+    const _Value __numeric_traits_integer<_Value>::__min;
+
+  template<typename _Value>
+    const _Value __numeric_traits_integer<_Value>::__max;
+
+  template<typename _Value>
+    const bool __numeric_traits_integer<_Value>::__is_signed;
+
+  template<typename _Value>
+    const int __numeric_traits_integer<_Value>::__digits;
+# 139 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
+  template<typename _Tp>
+    using __int_traits = __numeric_traits_integer<_Tp>;
+# 159 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
+  template<typename _Value>
+    struct __numeric_traits_floating
+    {
+
+      static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136);
+
+
+      static const bool __is_signed = true;
+      static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18);
+      static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932);
+    };
+
+  template<typename _Value>
+    const int __numeric_traits_floating<_Value>::__max_digits10;
+
+  template<typename _Value>
+    const bool __numeric_traits_floating<_Value>::__is_signed;
+
+  template<typename _Value>
+    const int __numeric_traits_floating<_Value>::__digits10;
+
+  template<typename _Value>
+    const int __numeric_traits_floating<_Value>::__max_exponent10;
+
+
+
+
+
+
+  template<typename _Value>
+    struct __numeric_traits
+    : public __numeric_traits_integer<_Value>
+    { };
+
+  template<>
+    struct __numeric_traits<float>
+    : public __numeric_traits_floating<float>
+    { };
+
+  template<>
+    struct __numeric_traits<double>
+    : public __numeric_traits_floating<double>
+    { };
+
+  template<>
+    struct __numeric_traits<long double>
+    : public __numeric_traits_floating<long double>
+    { };
+# 241 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
+}
+# 53 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 1 3
+# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 1 3
+# 62 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 1 3
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  template<typename _Tp>
+    struct tuple_size;
+
+
+
+
+
+  template<typename _Tp,
+    typename _Up = typename remove_cv<_Tp>::type,
+    typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
+    size_t = tuple_size<_Tp>::value>
+    using __enable_if_has_tuple_size = _Tp;
+
+  template<typename _Tp>
+    struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
+    : public tuple_size<_Tp> { };
+
+  template<typename _Tp>
+    struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
+    : public tuple_size<_Tp> { };
+
+  template<typename _Tp>
+    struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
+    : public tuple_size<_Tp> { };
+
+
+  template<typename _Tp>
+    inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
+
+
+
+  template<size_t __i, typename _Tp>
+    struct tuple_element;
+
+
+  template<size_t __i, typename _Tp>
+    using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
+
+  template<size_t __i, typename _Tp>
+    struct tuple_element<__i, const _Tp>
+    {
+      using type = const __tuple_element_t<__i, _Tp>;
+    };
+
+  template<size_t __i, typename _Tp>
+    struct tuple_element<__i, volatile _Tp>
+    {
+      using type = volatile __tuple_element_t<__i, _Tp>;
+    };
+
+  template<size_t __i, typename _Tp>
+    struct tuple_element<__i, const volatile _Tp>
+    {
+      using type = const volatile __tuple_element_t<__i, _Tp>;
+    };
+
+
+
+
+
+  template<typename _Tp, typename... _Types>
+    constexpr size_t
+    __find_uniq_type_in_pack()
+    {
+      constexpr size_t __sz = sizeof...(_Types);
+      constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
+      size_t __n = __sz;
+      for (size_t __i = 0; __i < __sz; ++__i)
+ {
+   if (__found[__i])
+     {
+       if (__n < __sz)
+  return __sz;
+       __n = __i;
+     }
+ }
+      return __n;
+    }
+# 136 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
+  template<size_t __i, typename _Tp>
+    using tuple_element_t = typename tuple_element<__i, _Tp>::type;
+
+
+
+
+  template<size_t... _Indexes> struct _Index_tuple { };
+
+
+  template<size_t _Num>
+    struct _Build_index_tuple
+    {
+
+      template<typename, size_t... _Indices>
+ using _IdxTuple = _Index_tuple<_Indices...>;
+
+
+      using __type = __make_integer_seq<_IdxTuple, size_t, _Num>;
+
+
+
+
+    };
+
+
+
+
+  template<typename _Tp, _Tp... _Idx>
+    struct integer_sequence
+    {
+
+
+
+      typedef _Tp value_type;
+      static constexpr size_t size() noexcept { return sizeof...(_Idx); }
+    };
+
+
+  template<typename _Tp, _Tp _Num>
+    using make_integer_sequence
+
+      = __make_integer_seq<integer_sequence, _Tp, _Num>;
+
+
+
+
+
+  template<size_t... _Idx>
+    using index_sequence = integer_sequence<size_t, _Idx...>;
+
+
+  template<size_t _Num>
+    using make_index_sequence = make_integer_sequence<size_t, _Num>;
+
+
+  template<typename... _Types>
+    using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
+
+
+
+
+  struct in_place_t {
+    explicit in_place_t() = default;
+  };
+
+  inline constexpr in_place_t in_place{};
+
+  template<typename _Tp> struct in_place_type_t
+  {
+    explicit in_place_type_t() = default;
+  };
+
+  template<typename _Tp>
+    inline constexpr in_place_type_t<_Tp> in_place_type{};
+
+  template<size_t _Idx> struct in_place_index_t
+  {
+    explicit in_place_index_t() = default;
+  };
+
+  template<size_t _Idx>
+    inline constexpr in_place_index_t<_Idx> in_place_index{};
+
+  template<typename>
+    inline constexpr bool __is_in_place_type_v = false;
+
+  template<typename _Tp>
+    inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
+
+  template<typename>
+    inline constexpr bool __is_in_place_index_v = false;
+
+  template<size_t _Nm>
+    inline constexpr bool __is_in_place_index_v<in_place_index_t<_Nm>> = true;
+
+
+
+
+  template<size_t _Np, typename... _Types>
+    struct _Nth_type
+    { using type = __type_pack_element<_Np, _Types...>; };
+# 284 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
+  struct _Swallow_assign
+  {
+    template<class _Tp>
+      constexpr const _Swallow_assign&
+      operator=(const _Tp&) const noexcept
+      { return *this; }
+  };
+# 309 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
+  inline constexpr _Swallow_assign ignore{};
+# 320 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
+}
+# 63 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 2 3
+
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 79 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
+
+
+  inline constexpr piecewise_construct_t piecewise_construct =
+    piecewise_construct_t();
+
+
+
+
+  template<typename _T1, typename _T2>
+    struct pair;
+
+  template<typename...>
+    class tuple;
+
+
+
+
+
+  template<typename _Tp, size_t _Nm>
+    struct array;
+
+  template<size_t...>
+    struct _Index_tuple;
+
+  template<typename _Tp>
+    class complex;
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
+    get(pair<_Tp1, _Tp2>& __in) noexcept;
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
+    get(pair<_Tp1, _Tp2>&& __in) noexcept;
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
+    get(const pair<_Tp1, _Tp2>& __in) noexcept;
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
+    get(const pair<_Tp1, _Tp2>&& __in) noexcept;
+
+  template<size_t __i, typename... _Elements>
+    constexpr __tuple_element_t<__i, tuple<_Elements...>>&
+    get(tuple<_Elements...>& __t) noexcept;
+
+  template<size_t __i, typename... _Elements>
+    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
+    get(const tuple<_Elements...>& __t) noexcept;
+
+  template<size_t __i, typename... _Elements>
+    constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
+    get(tuple<_Elements...>&& __t) noexcept;
+
+  template<size_t __i, typename... _Elements>
+    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
+    get(const tuple<_Elements...>&& __t) noexcept;
+
+  template<size_t _Int, typename _Tp, size_t _Nm>
+    constexpr _Tp&
+    get(array<_Tp, _Nm>&) noexcept;
+
+  template<size_t _Int, typename _Tp, size_t _Nm>
+    constexpr _Tp&&
+    get(array<_Tp, _Nm>&&) noexcept;
+
+  template<size_t _Int, typename _Tp, size_t _Nm>
+    constexpr const _Tp&
+    get(const array<_Tp, _Nm>&) noexcept;
+
+  template<size_t _Int, typename _Tp, size_t _Nm>
+    constexpr const _Tp&&
+    get(const array<_Tp, _Nm>&&) noexcept;
+# 176 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template <bool, typename _T1, typename _T2>
+    struct _PCC
+    {
+      template <typename _U1, typename _U2>
+      static constexpr bool _ConstructiblePair()
+      {
+ return __and_<is_constructible<_T1, const _U1&>,
+        is_constructible<_T2, const _U2&>>::value;
+      }
+
+      template <typename _U1, typename _U2>
+      static constexpr bool _ImplicitlyConvertiblePair()
+      {
+ return __and_<is_convertible<const _U1&, _T1>,
+        is_convertible<const _U2&, _T2>>::value;
+      }
+
+      template <typename _U1, typename _U2>
+      static constexpr bool _MoveConstructiblePair()
+      {
+ return __and_<is_constructible<_T1, _U1&&>,
+        is_constructible<_T2, _U2&&>>::value;
+      }
+
+      template <typename _U1, typename _U2>
+      static constexpr bool _ImplicitlyMoveConvertiblePair()
+      {
+ return __and_<is_convertible<_U1&&, _T1>,
+        is_convertible<_U2&&, _T2>>::value;
+      }
+    };
+
+  template <typename _T1, typename _T2>
+    struct _PCC<false, _T1, _T2>
+    {
+      template <typename _U1, typename _U2>
+      static constexpr bool _ConstructiblePair()
+      {
+ return false;
+      }
+
+      template <typename _U1, typename _U2>
+      static constexpr bool _ImplicitlyConvertiblePair()
+      {
+ return false;
+      }
+
+      template <typename _U1, typename _U2>
+      static constexpr bool _MoveConstructiblePair()
+      {
+ return false;
+      }
+
+      template <typename _U1, typename _U2>
+      static constexpr bool _ImplicitlyMoveConvertiblePair()
+      {
+ return false;
+      }
+    };
+# 278 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _U1, typename _U2> class __pair_base
+  {
+
+    template<typename _T1, typename _T2> friend struct pair;
+    __pair_base() = default;
+    ~__pair_base() = default;
+    __pair_base(const __pair_base&) = default;
+    __pair_base& operator=(const __pair_base&) = delete;
+
+  };
+# 301 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+    struct pair
+    : public __pair_base<_T1, _T2>
+    {
+      typedef _T1 first_type;
+      typedef _T2 second_type;
+
+      _T1 first;
+      _T2 second;
+
+
+      constexpr pair(const pair&) = default;
+      constexpr pair(pair&&) = default;
+
+      template<typename... _Args1, typename... _Args2>
+
+ pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
+
+
+                           void
+      swap(pair& __p)
+      noexcept(__and_<__is_nothrow_swappable<_T1>,
+        __is_nothrow_swappable<_T2>>::value)
+      {
+ using std::swap;
+ swap(first, __p.first);
+ swap(second, __p.second);
+      }
+# 349 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+    private:
+      template<typename... _Args1, size_t... _Indexes1,
+        typename... _Args2, size_t... _Indexes2>
+
+ pair(tuple<_Args1...>&, tuple<_Args2...>&,
+      _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
+    public:
+# 739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+      template <typename _U1 = _T1,
+                typename _U2 = _T2,
+                typename enable_if<__and_<
+                                     __is_implicitly_default_constructible<_U1>,
+                                     __is_implicitly_default_constructible<_U2>>
+                                   ::value, bool>::type = true>
+      constexpr pair()
+      : first(), second() { }
+
+      template <typename _U1 = _T1,
+                typename _U2 = _T2,
+                typename enable_if<__and_<
+                       is_default_constructible<_U1>,
+                       is_default_constructible<_U2>,
+                       __not_<
+                         __and_<__is_implicitly_default_constructible<_U1>,
+                                __is_implicitly_default_constructible<_U2>>>>
+                                   ::value, bool>::type = false>
+      explicit constexpr pair()
+      : first(), second() { }
+
+
+
+      using _PCCP = _PCC<true, _T1, _T2>;
+
+
+
+      template<typename _U1 = _T1, typename _U2=_T2, typename
+        enable_if<_PCCP::template
+      _ConstructiblePair<_U1, _U2>()
+                  && _PCCP::template
+      _ImplicitlyConvertiblePair<_U1, _U2>(),
+                         bool>::type=true>
+      constexpr pair(const _T1& __a, const _T2& __b)
+      : first(__a), second(__b) { }
+
+
+       template<typename _U1 = _T1, typename _U2=_T2, typename
+  enable_if<_PCCP::template
+       _ConstructiblePair<_U1, _U2>()
+                   && !_PCCP::template
+       _ImplicitlyConvertiblePair<_U1, _U2>(),
+                         bool>::type=false>
+      explicit constexpr pair(const _T1& __a, const _T2& __b)
+      : first(__a), second(__b) { }
+
+
+
+      template <typename _U1, typename _U2>
+        using _PCCFP = _PCC<!is_same<_T1, _U1>::value
+       || !is_same<_T2, _U2>::value,
+       _T1, _T2>;
+
+
+      template<typename _U1, typename _U2, typename
+        enable_if<_PCCFP<_U1, _U2>::template
+      _ConstructiblePair<_U1, _U2>()
+                  && _PCCFP<_U1, _U2>::template
+      _ImplicitlyConvertiblePair<_U1, _U2>(),
+     bool>::type=true>
+ constexpr pair(const pair<_U1, _U2>& __p)
+ : first(__p.first), second(__p.second)
+ { ; }
+
+      template<typename _U1, typename _U2, typename
+        enable_if<_PCCFP<_U1, _U2>::template
+      _ConstructiblePair<_U1, _U2>()
+    && !_PCCFP<_U1, _U2>::template
+      _ImplicitlyConvertiblePair<_U1, _U2>(),
+                         bool>::type=false>
+ explicit constexpr pair(const pair<_U1, _U2>& __p)
+ : first(__p.first), second(__p.second)
+ { ; }
+# 823 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+    private:
+
+
+
+      struct __zero_as_null_pointer_constant
+      {
+ __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
+ { }
+ template<typename _Tp,
+   typename = __enable_if_t<is_null_pointer<_Tp>::value>>
+ __zero_as_null_pointer_constant(_Tp) = delete;
+      };
+
+    public:
+
+
+
+
+      template<typename _U1,
+        __enable_if_t<__and_<__not_<is_reference<_U1>>,
+        is_pointer<_T2>,
+        is_constructible<_T1, _U1>,
+        __not_<is_constructible<_T1, const _U1&>>,
+        is_convertible<_U1, _T1>>::value,
+        bool> = true>
+ __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
+ constexpr
+ pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
+ : first(std::forward<_U1>(__x)), second(nullptr)
+ { ; }
+
+      template<typename _U1,
+        __enable_if_t<__and_<__not_<is_reference<_U1>>,
+        is_pointer<_T2>,
+        is_constructible<_T1, _U1>,
+        __not_<is_constructible<_T1, const _U1&>>,
+        __not_<is_convertible<_U1, _T1>>>::value,
+        bool> = false>
+ __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
+ explicit constexpr
+ pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
+ : first(std::forward<_U1>(__x)), second(nullptr)
+ { ; }
+
+      template<typename _U2,
+        __enable_if_t<__and_<is_pointer<_T1>,
+        __not_<is_reference<_U2>>,
+        is_constructible<_T2, _U2>,
+        __not_<is_constructible<_T2, const _U2&>>,
+        is_convertible<_U2, _T2>>::value,
+        bool> = true>
+ __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
+ constexpr
+ pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
+ : first(nullptr), second(std::forward<_U2>(__y))
+ { ; }
+
+      template<typename _U2,
+        __enable_if_t<__and_<is_pointer<_T1>,
+        __not_<is_reference<_U2>>,
+        is_constructible<_T2, _U2>,
+        __not_<is_constructible<_T2, const _U2&>>,
+        __not_<is_convertible<_U2, _T2>>>::value,
+        bool> = false>
+ __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
+ explicit constexpr
+ pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
+ : first(nullptr), second(std::forward<_U2>(__y))
+ { ; }
+
+
+
+      template<typename _U1, typename _U2, typename
+        enable_if<_PCCP::template
+      _MoveConstructiblePair<_U1, _U2>()
+     && _PCCP::template
+      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
+                         bool>::type=true>
+ constexpr pair(_U1&& __x, _U2&& __y)
+ : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y))
+ { ; }
+
+      template<typename _U1, typename _U2, typename
+        enable_if<_PCCP::template
+      _MoveConstructiblePair<_U1, _U2>()
+     && !_PCCP::template
+      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
+                         bool>::type=false>
+ explicit constexpr pair(_U1&& __x, _U2&& __y)
+ : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y))
+ { ; }
+
+
+      template<typename _U1, typename _U2, typename
+        enable_if<_PCCFP<_U1, _U2>::template
+      _MoveConstructiblePair<_U1, _U2>()
+     && _PCCFP<_U1, _U2>::template
+      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
+                         bool>::type=true>
+ constexpr pair(pair<_U1, _U2>&& __p)
+ : first(std::forward<_U1>(__p.first)),
+   second(std::forward<_U2>(__p.second))
+ { ; }
+
+      template<typename _U1, typename _U2, typename
+        enable_if<_PCCFP<_U1, _U2>::template
+      _MoveConstructiblePair<_U1, _U2>()
+     && !_PCCFP<_U1, _U2>::template
+      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
+                         bool>::type=false>
+ explicit constexpr pair(pair<_U1, _U2>&& __p)
+ : first(std::forward<_U1>(__p.first)),
+   second(std::forward<_U2>(__p.second))
+ { ; }
+
+
+
+      pair&
+      operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
+           is_copy_assignable<_T2>>::value,
+    const pair&, const __nonesuch&> __p)
+      {
+ first = __p.first;
+ second = __p.second;
+ return *this;
+      }
+
+      pair&
+      operator=(__conditional_t<__and_<is_move_assignable<_T1>,
+           is_move_assignable<_T2>>::value,
+    pair&&, __nonesuch&&> __p)
+      noexcept(__and_<is_nothrow_move_assignable<_T1>,
+        is_nothrow_move_assignable<_T2>>::value)
+      {
+ first = std::forward<first_type>(__p.first);
+ second = std::forward<second_type>(__p.second);
+ return *this;
+      }
+
+      template<typename _U1, typename _U2>
+ typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
+      is_assignable<_T2&, const _U2&>>::value,
+      pair&>::type
+ operator=(const pair<_U1, _U2>& __p)
+ {
+   first = __p.first;
+   second = __p.second;
+   return *this;
+ }
+
+      template<typename _U1, typename _U2>
+ typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
+      is_assignable<_T2&, _U2&&>>::value,
+      pair&>::type
+ operator=(pair<_U1, _U2>&& __p)
+ {
+   first = std::forward<_U1>(__p.first);
+   second = std::forward<_U2>(__p.second);
+   return *this;
+ }
+# 1015 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+    };
+
+
+
+
+  template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
+# 1057 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
+    { return __x.first == __y.first && __x.second == __y.second; }
+# 1070 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
+    { return __x.first < __y.first
+      || (!(__y.first < __x.first) && __x.second < __y.second); }
+
+
+  template<typename _T1, typename _T2>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
+    { return !(__x == __y); }
+
+
+  template<typename _T1, typename _T2>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
+    { return __y < __x; }
+
+
+  template<typename _T1, typename _T2>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
+    { return !(__y < __x); }
+
+
+  template<typename _T1, typename _T2>
+    [[__nodiscard__]]
+    inline constexpr bool
+    operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
+    { return !(__x < __y); }
+# 1112 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+                         inline
+
+
+    typename enable_if<__and_<__is_swappable<_T1>,
+                              __is_swappable<_T2>>::value>::type
+
+
+
+    swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
+    noexcept(noexcept(__x.swap(__y)))
+    { __x.swap(__y); }
+# 1135 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+    typename enable_if<!__and_<__is_swappable<_T1>,
+          __is_swappable<_T2>>::value>::type
+    swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
+# 1161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+    constexpr pair<typename __decay_and_strip<_T1>::__type,
+                   typename __decay_and_strip<_T2>::__type>
+    make_pair(_T1&& __x, _T2&& __y)
+    {
+      typedef typename __decay_and_strip<_T1>::__type __ds_type1;
+      typedef typename __decay_and_strip<_T2>::__type __ds_type2;
+      typedef pair<__ds_type1, __ds_type2> __pair_type;
+      return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
+    }
+# 1184 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+  template<typename _T1, typename _T2>
+    struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
+    { };
+
+
+
+  template<class _Tp1, class _Tp2>
+    struct tuple_size<pair<_Tp1, _Tp2>>
+    : public integral_constant<size_t, 2> { };
+
+
+  template<class _Tp1, class _Tp2>
+    struct tuple_element<0, pair<_Tp1, _Tp2>>
+    { typedef _Tp1 type; };
+
+
+  template<class _Tp1, class _Tp2>
+    struct tuple_element<1, pair<_Tp1, _Tp2>>
+    { typedef _Tp2 type; };
+
+
+  template<typename _Tp1, typename _Tp2>
+    inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
+
+  template<typename _Tp1, typename _Tp2>
+    inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++14-extensions"
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<typename _Tp>
+    inline constexpr bool __is_pair = false;
+
+  template<typename _Tp, typename _Up>
+    inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
+#pragma GCC diagnostic pop
+
+
+
+  template<size_t _Int>
+    struct __pair_get;
+
+  template<>
+    struct __pair_get<0>
+    {
+      template<typename _Tp1, typename _Tp2>
+ static constexpr _Tp1&
+ __get(pair<_Tp1, _Tp2>& __pair) noexcept
+ { return __pair.first; }
+
+      template<typename _Tp1, typename _Tp2>
+ static constexpr _Tp1&&
+ __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
+ { return std::forward<_Tp1>(__pair.first); }
+
+      template<typename _Tp1, typename _Tp2>
+ static constexpr const _Tp1&
+ __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
+ { return __pair.first; }
+
+      template<typename _Tp1, typename _Tp2>
+ static constexpr const _Tp1&&
+ __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
+ { return std::forward<const _Tp1>(__pair.first); }
+    };
+
+  template<>
+    struct __pair_get<1>
+    {
+      template<typename _Tp1, typename _Tp2>
+ static constexpr _Tp2&
+ __get(pair<_Tp1, _Tp2>& __pair) noexcept
+ { return __pair.second; }
+
+      template<typename _Tp1, typename _Tp2>
+ static constexpr _Tp2&&
+ __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
+ { return std::forward<_Tp2>(__pair.second); }
+
+      template<typename _Tp1, typename _Tp2>
+ static constexpr const _Tp2&
+ __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
+ { return __pair.second; }
+
+      template<typename _Tp1, typename _Tp2>
+ static constexpr const _Tp2&&
+ __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
+ { return std::forward<const _Tp2>(__pair.second); }
+    };
+
+
+
+
+
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
+    get(pair<_Tp1, _Tp2>& __in) noexcept
+    { return __pair_get<_Int>::__get(__in); }
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
+    get(pair<_Tp1, _Tp2>&& __in) noexcept
+    { return __pair_get<_Int>::__move_get(std::move(__in)); }
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
+    get(const pair<_Tp1, _Tp2>& __in) noexcept
+    { return __pair_get<_Int>::__const_get(__in); }
+
+  template<size_t _Int, class _Tp1, class _Tp2>
+    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
+    get(const pair<_Tp1, _Tp2>&& __in) noexcept
+    { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
+
+
+
+  template <typename _Tp, typename _Up>
+    constexpr _Tp&
+    get(pair<_Tp, _Up>& __p) noexcept
+    { return __p.first; }
+
+  template <typename _Tp, typename _Up>
+    constexpr const _Tp&
+    get(const pair<_Tp, _Up>& __p) noexcept
+    { return __p.first; }
+
+  template <typename _Tp, typename _Up>
+    constexpr _Tp&&
+    get(pair<_Tp, _Up>&& __p) noexcept
+    { return std::move(__p.first); }
+
+  template <typename _Tp, typename _Up>
+    constexpr const _Tp&&
+    get(const pair<_Tp, _Up>&& __p) noexcept
+    { return std::move(__p.first); }
+
+  template <typename _Tp, typename _Up>
+    constexpr _Tp&
+    get(pair<_Up, _Tp>& __p) noexcept
+    { return __p.second; }
+
+  template <typename _Tp, typename _Up>
+    constexpr const _Tp&
+    get(const pair<_Up, _Tp>& __p) noexcept
+    { return __p.second; }
+
+  template <typename _Tp, typename _Up>
+    constexpr _Tp&&
+    get(pair<_Up, _Tp>&& __p) noexcept
+    { return std::move(__p.second); }
+
+  template <typename _Tp, typename _Up>
+    constexpr const _Tp&&
+    get(const pair<_Up, _Tp>&& __p) noexcept
+    { return std::move(__p.second); }
+# 1366 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
+}
+# 65 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/debug/debug.h" 1 3
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/debug/debug.h" 3
+namespace std
+{
+  namespace __debug { }
+}
+
+
+
+
+namespace __gnu_debug
+{
+  using namespace std::__debug;
+
+  template<typename _Ite, typename _Seq, typename _Cat>
+    struct _Safe_iterator;
+}
+# 70 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/predefined_ops.h" 1 3
+# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/predefined_ops.h" 3
+namespace __gnu_cxx
+{
+namespace __ops
+{
+  struct _Iter_less_iter
+  {
+    template<typename _Iterator1, typename _Iterator2>
+      constexpr
+      bool
+      operator()(_Iterator1 __it1, _Iterator2 __it2) const
+      { return *__it1 < *__it2; }
+  };
+
+  constexpr
+  inline _Iter_less_iter
+  __iter_less_iter()
+  { return _Iter_less_iter(); }
+
+  struct _Iter_less_val
+  {
+
+    constexpr _Iter_less_val() = default;
+
+
+
+
+
+    explicit
+    _Iter_less_val(_Iter_less_iter) { }
+
+    template<typename _Iterator, typename _Value>
+
+      bool
+      operator()(_Iterator __it, _Value& __val) const
+      { return *__it < __val; }
+  };
+
+
+  inline _Iter_less_val
+  __iter_less_val()
+  { return _Iter_less_val(); }
+
+
+  inline _Iter_less_val
+  __iter_comp_val(_Iter_less_iter)
+  { return _Iter_less_val(); }
+
+  struct _Val_less_iter
+  {
+
+    constexpr _Val_less_iter() = default;
+
+
+
+
+
+    explicit
+    _Val_less_iter(_Iter_less_iter) { }
+
+    template<typename _Value, typename _Iterator>
+
+      bool
+      operator()(_Value& __val, _Iterator __it) const
+      { return __val < *__it; }
+  };
+
+
+  inline _Val_less_iter
+  __val_less_iter()
+  { return _Val_less_iter(); }
+
+
+  inline _Val_less_iter
+  __val_comp_iter(_Iter_less_iter)
+  { return _Val_less_iter(); }
+
+  struct _Iter_equal_to_iter
+  {
+    template<typename _Iterator1, typename _Iterator2>
+
+      bool
+      operator()(_Iterator1 __it1, _Iterator2 __it2) const
+      { return *__it1 == *__it2; }
+  };
+
+
+  inline _Iter_equal_to_iter
+  __iter_equal_to_iter()
+  { return _Iter_equal_to_iter(); }
+
+  struct _Iter_equal_to_val
+  {
+    template<typename _Iterator, typename _Value>
+
+      bool
+      operator()(_Iterator __it, _Value& __val) const
+      { return *__it == __val; }
+  };
+
+
+  inline _Iter_equal_to_val
+  __iter_equal_to_val()
+  { return _Iter_equal_to_val(); }
+
+
+  inline _Iter_equal_to_val
+  __iter_comp_val(_Iter_equal_to_iter)
+  { return _Iter_equal_to_val(); }
+
+  template<typename _Compare>
+    struct _Iter_comp_iter
+    {
+      _Compare _M_comp;
+
+      explicit constexpr
+      _Iter_comp_iter(_Compare __comp)
+ : _M_comp(std::move(__comp))
+      { }
+
+      template<typename _Iterator1, typename _Iterator2>
+        constexpr
+        bool
+        operator()(_Iterator1 __it1, _Iterator2 __it2)
+        { return bool(_M_comp(*__it1, *__it2)); }
+    };
+
+  template<typename _Compare>
+    constexpr
+    inline _Iter_comp_iter<_Compare>
+    __iter_comp_iter(_Compare __comp)
+    { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
+
+  template<typename _Compare>
+    struct _Iter_comp_val
+    {
+      _Compare _M_comp;
+
+
+      explicit
+      _Iter_comp_val(_Compare __comp)
+ : _M_comp(std::move(__comp))
+      { }
+
+
+      explicit
+      _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
+ : _M_comp(__comp._M_comp)
+      { }
+
+
+
+      explicit
+      _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
+ : _M_comp(std::move(__comp._M_comp))
+      { }
+
+
+      template<typename _Iterator, typename _Value>
+
+ bool
+ operator()(_Iterator __it, _Value& __val)
+ { return bool(_M_comp(*__it, __val)); }
+    };
+
+  template<typename _Compare>
+
+    inline _Iter_comp_val<_Compare>
+    __iter_comp_val(_Compare __comp)
+    { return _Iter_comp_val<_Compare>(std::move(__comp)); }
+
+  template<typename _Compare>
+
+    inline _Iter_comp_val<_Compare>
+    __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
+    { return _Iter_comp_val<_Compare>(std::move(__comp)); }
+
+  template<typename _Compare>
+    struct _Val_comp_iter
+    {
+      _Compare _M_comp;
+
+
+      explicit
+      _Val_comp_iter(_Compare __comp)
+ : _M_comp(std::move(__comp))
+      { }
+
+
+      explicit
+      _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
+ : _M_comp(__comp._M_comp)
+      { }
+
+
+
+      explicit
+      _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
+ : _M_comp(std::move(__comp._M_comp))
+      { }
+
+
+      template<typename _Value, typename _Iterator>
+
+ bool
+ operator()(_Value& __val, _Iterator __it)
+ { return bool(_M_comp(__val, *__it)); }
+    };
+
+  template<typename _Compare>
+
+    inline _Val_comp_iter<_Compare>
+    __val_comp_iter(_Compare __comp)
+    { return _Val_comp_iter<_Compare>(std::move(__comp)); }
+
+  template<typename _Compare>
+
+    inline _Val_comp_iter<_Compare>
+    __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
+    { return _Val_comp_iter<_Compare>(std::move(__comp)); }
+
+  template<typename _Value>
+    struct _Iter_equals_val
+    {
+      _Value& _M_value;
+
+
+      explicit
+      _Iter_equals_val(_Value& __value)
+ : _M_value(__value)
+      { }
+
+      template<typename _Iterator>
+
+ bool
+ operator()(_Iterator __it)
+ { return *__it == _M_value; }
+    };
+
+  template<typename _Value>
+
+    inline _Iter_equals_val<_Value>
+    __iter_equals_val(_Value& __val)
+    { return _Iter_equals_val<_Value>(__val); }
+
+  template<typename _Iterator1>
+    struct _Iter_equals_iter
+    {
+      _Iterator1 _M_it1;
+
+
+      explicit
+      _Iter_equals_iter(_Iterator1 __it1)
+ : _M_it1(__it1)
+      { }
+
+      template<typename _Iterator2>
+
+ bool
+ operator()(_Iterator2 __it2)
+ { return *__it2 == *_M_it1; }
+    };
+
+  template<typename _Iterator>
+
+    inline _Iter_equals_iter<_Iterator>
+    __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
+    { return _Iter_equals_iter<_Iterator>(__it); }
+
+  template<typename _Predicate>
+    struct _Iter_pred
+    {
+      _Predicate _M_pred;
+
+
+      explicit
+      _Iter_pred(_Predicate __pred)
+ : _M_pred(std::move(__pred))
+      { }
+
+      template<typename _Iterator>
+
+ bool
+ operator()(_Iterator __it)
+ { return bool(_M_pred(*__it)); }
+    };
+
+  template<typename _Predicate>
+
+    inline _Iter_pred<_Predicate>
+    __pred_iter(_Predicate __pred)
+    { return _Iter_pred<_Predicate>(std::move(__pred)); }
+
+  template<typename _Compare, typename _Value>
+    struct _Iter_comp_to_val
+    {
+      _Compare _M_comp;
+      _Value& _M_value;
+
+
+      _Iter_comp_to_val(_Compare __comp, _Value& __value)
+ : _M_comp(std::move(__comp)), _M_value(__value)
+      { }
+
+      template<typename _Iterator>
+
+ bool
+ operator()(_Iterator __it)
+ { return bool(_M_comp(*__it, _M_value)); }
+    };
+
+  template<typename _Compare, typename _Value>
+    _Iter_comp_to_val<_Compare, _Value>
+
+    __iter_comp_val(_Compare __comp, _Value &__val)
+    {
+      return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
+    }
+
+  template<typename _Compare, typename _Iterator1>
+    struct _Iter_comp_to_iter
+    {
+      _Compare _M_comp;
+      _Iterator1 _M_it1;
+
+
+      _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
+ : _M_comp(std::move(__comp)), _M_it1(__it1)
+      { }
+
+      template<typename _Iterator2>
+
+ bool
+ operator()(_Iterator2 __it2)
+ { return bool(_M_comp(*__it2, *_M_it1)); }
+    };
+
+  template<typename _Compare, typename _Iterator>
+
+    inline _Iter_comp_to_iter<_Compare, _Iterator>
+    __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
+    {
+      return _Iter_comp_to_iter<_Compare, _Iterator>(
+   std::move(__comp._M_comp), __it);
+    }
+
+  template<typename _Predicate>
+    struct _Iter_negate
+    {
+      _Predicate _M_pred;
+
+
+      explicit
+      _Iter_negate(_Predicate __pred)
+ : _M_pred(std::move(__pred))
+      { }
+
+      template<typename _Iterator>
+
+ bool
+ operator()(_Iterator __it)
+ { return !bool(_M_pred(*__it)); }
+    };
+
+  template<typename _Predicate>
+
+    inline _Iter_negate<_Predicate>
+    __negate(_Iter_pred<_Predicate> __pred)
+    { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
+
+}
+}
+# 72 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/concepts" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/concepts" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/concepts" 2 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 2 3
+# 63 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 157 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+  template<typename _Tp>
+    constexpr _Tp
+    __rotl(_Tp __x, int __s) noexcept
+    {
+      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
+      if constexpr ((_Nd & (_Nd - 1)) == 0)
+ {
+
+
+   constexpr unsigned __uNd = _Nd;
+   const unsigned __r = __s;
+   return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
+ }
+      const int __r = __s % _Nd;
+      if (__r == 0)
+ return __x;
+      else if (__r > 0)
+ return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
+      else
+ return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
+    }
+
+  template<typename _Tp>
+    constexpr _Tp
+    __rotr(_Tp __x, int __s) noexcept
+    {
+      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
+      if constexpr ((_Nd & (_Nd - 1)) == 0)
+ {
+
+
+   constexpr unsigned __uNd = _Nd;
+   const unsigned __r = __s;
+   return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
+ }
+      const int __r = __s % _Nd;
+      if (__r == 0)
+ return __x;
+      else if (__r > 0)
+ return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
+      else
+ return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
+    }
+
+  template<typename _Tp>
+    constexpr int
+    __countl_zero(_Tp __x) noexcept
+    {
+      using __gnu_cxx::__int_traits;
+      constexpr auto _Nd = __int_traits<_Tp>::__digits;
+
+
+      return __builtin_clzg(__x, _Nd);
+# 249 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+    }
+
+  template<typename _Tp>
+    constexpr int
+    __countl_one(_Tp __x) noexcept
+    {
+      return std::__countl_zero<_Tp>((_Tp)~__x);
+    }
+
+  template<typename _Tp>
+    constexpr int
+    __countr_zero(_Tp __x) noexcept
+    {
+      using __gnu_cxx::__int_traits;
+      constexpr auto _Nd = __int_traits<_Tp>::__digits;
+
+
+      return __builtin_ctzg(__x, _Nd);
+# 294 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+    }
+
+  template<typename _Tp>
+    constexpr int
+    __countr_one(_Tp __x) noexcept
+    {
+      return std::__countr_zero((_Tp)~__x);
+    }
+
+  template<typename _Tp>
+    constexpr int
+    __popcount(_Tp __x) noexcept
+    {
+
+      return __builtin_popcountg(__x);
+# 334 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+    }
+
+  template<typename _Tp>
+    constexpr bool
+    __has_single_bit(_Tp __x) noexcept
+    { return std::__popcount(__x) == 1; }
+
+  template<typename _Tp>
+    constexpr _Tp
+    __bit_ceil(_Tp __x) noexcept
+    {
+      using __gnu_cxx::__int_traits;
+      constexpr auto _Nd = __int_traits<_Tp>::__digits;
+      if (__x == 0 || __x == 1)
+        return 1;
+      auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
+
+
+
+
+      if (!std::__is_constant_evaluated())
+ {
+   do { if (__builtin_expect(!bool(__shift_exponent != __int_traits<_Tp>::__digits), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit", 356, __PRETTY_FUNCTION__, "__shift_exponent != __int_traits<_Tp>::__digits"); } while (false);
+ }
+
+      using __promoted_type = decltype(__x << 1);
+      if constexpr (!is_same<__promoted_type, _Tp>::value)
+ {
+
+
+
+
+
+   const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
+   __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
+ }
+      return (_Tp)1u << __shift_exponent;
+    }
+
+  template<typename _Tp>
+    constexpr _Tp
+    __bit_floor(_Tp __x) noexcept
+    {
+      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
+      if (__x == 0)
+        return 0;
+      return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
+    }
+
+  template<typename _Tp>
+    constexpr int
+    __bit_width(_Tp __x) noexcept
+    {
+      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
+      return _Nd - std::__countl_zero(__x);
+    }
+# 497 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
+}
+# 77 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
+
+
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+  template<typename _Tp, typename _Up>
+    constexpr
+    inline int
+    __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
+    {
+
+      static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
+# 109 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+ return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
+    }
+# 153 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _ForwardIterator1, typename _ForwardIterator2>
+
+    inline void
+    iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
+    {
+# 186 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+      swap(*__a, *__b);
+
+    }
+# 202 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _ForwardIterator1, typename _ForwardIterator2>
+
+    _ForwardIterator2
+    swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
+  _ForwardIterator2 __first2)
+    {
+
+
+
+
+
+                                                       ;
+
+      for (; __first1 != __last1; ++__first1, (void)++__first2)
+ std::iter_swap(__first1, __first2);
+      return __first2;
+    }
+# 231 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _Tp>
+    [[__nodiscard__]] constexpr
+    inline const _Tp&
+    min(const _Tp& __a, const _Tp& __b)
+    {
+
+
+
+      if (__b < __a)
+ return __b;
+      return __a;
+    }
+# 255 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _Tp>
+    [[__nodiscard__]] constexpr
+    inline const _Tp&
+    max(const _Tp& __a, const _Tp& __b)
+    {
+
+
+
+      if (__a < __b)
+ return __b;
+      return __a;
+    }
+# 279 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _Tp, typename _Compare>
+    [[__nodiscard__]] constexpr
+    inline const _Tp&
+    min(const _Tp& __a, const _Tp& __b, _Compare __comp)
+    {
+
+      if (__comp(__b, __a))
+ return __b;
+      return __a;
+    }
+# 301 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _Tp, typename _Compare>
+    [[__nodiscard__]] constexpr
+    inline const _Tp&
+    max(const _Tp& __a, const _Tp& __b, _Compare __comp)
+    {
+
+      if (__comp(__a, __b))
+ return __b;
+      return __a;
+    }
+
+
+
+  template<typename _Tp, typename _Ref, typename _Ptr>
+    struct _Deque_iterator;
+
+  struct _Bit_iterator;
+
+
+
+
+
+
+  template<typename _CharT>
+    struct char_traits;
+
+  template<typename _CharT, typename _Traits>
+    class istreambuf_iterator;
+
+  template<typename _CharT, typename _Traits>
+    class ostreambuf_iterator;
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+      ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
+    __copy_move_a2(_CharT*, _CharT*,
+     ostreambuf_iterator<_CharT, char_traits<_CharT> >);
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+      ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
+    __copy_move_a2(const _CharT*, const _CharT*,
+     ostreambuf_iterator<_CharT, char_traits<_CharT> >);
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        _CharT*>::__type
+    __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
+     istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<
+      __is_char<_CharT>::__value,
+      std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
+    __copy_move_a2(
+ istreambuf_iterator<_CharT, char_traits<_CharT> >,
+ istreambuf_iterator<_CharT, char_traits<_CharT> >,
+ std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
+# 395 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<bool _IsMove, typename _OutIter, typename _InIter>
+    __attribute__((__always_inline__))
+    inline void
+    __assign_one(_OutIter& __out, _InIter& __in)
+    {
+
+      if constexpr (_IsMove)
+ *__out = std::move(*__in);
+      else
+
+ *__out = *__in;
+    }
+
+  template<bool _IsMove, typename _InIter, typename _Sent, typename _OutIter>
+
+    inline _OutIter
+    __copy_move_a2(_InIter __first, _Sent __last, _OutIter __result)
+    {
+      typedef __decltype(*__first) _InRef;
+      typedef __decltype(*__result) _OutRef;
+      if constexpr (!__is_trivially_assignable(_OutRef, _InRef))
+ { }
+      else if (std::__is_constant_evaluated())
+ { }
+      else if constexpr (__memcpyable<_OutIter, _InIter>::__value)
+ {
+   ptrdiff_t __n = std::distance(__first, __last);
+   if (__builtin_expect(__n > 1, true))
+     {
+       __builtin_memmove(__result,
+    __first,
+    __n * sizeof(*__first));
+       __result += __n;
+     }
+   else if (__n == 1)
+     {
+       std::__assign_one<_IsMove>(__result, __first);
+       ++__result;
+     }
+   return __result;
+ }
+# 461 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+      for (; __first != __last; ++__result, (void)++__first)
+ std::__assign_one<_IsMove>(__result, __first);
+      return __result;
+    }
+#pragma GCC diagnostic pop
+
+  template<bool _IsMove,
+    typename _Tp, typename _Ref, typename _Ptr, typename _OI>
+    _OI
+    __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
+     std::_Deque_iterator<_Tp, _Ref, _Ptr>,
+     _OI);
+
+  template<bool _IsMove,
+    typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
+    std::_Deque_iterator<_OTp, _OTp&, _OTp*>
+    __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
+     std::_Deque_iterator<_ITp, _IRef, _IPtr>,
+     std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
+
+  template<bool _IsMove, typename _II, typename _Tp>
+    typename __gnu_cxx::__enable_if<
+      __is_random_access_iter<_II>::__value,
+      std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
+    __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
+
+  template<bool _IsMove, typename _II, typename _OI>
+    __attribute__((__always_inline__))
+
+    inline _OI
+    __copy_move_a1(_II __first, _II __last, _OI __result)
+    { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
+
+  template<bool _IsMove, typename _II, typename _OI>
+    __attribute__((__always_inline__))
+
+    inline _OI
+    __copy_move_a(_II __first, _II __last, _OI __result)
+    {
+      return std::__niter_wrap(__result,
+  std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
+          std::__niter_base(__last),
+          std::__niter_base(__result)));
+    }
+
+  template<bool _IsMove,
+    typename _Ite, typename _Seq, typename _Cat, typename _OI>
+
+    _OI
+    __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
+    const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
+    _OI);
+
+  template<bool _IsMove,
+    typename _II, typename _Ite, typename _Seq, typename _Cat>
+
+    __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
+    __copy_move_a(_II, _II,
+    const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
+
+  template<bool _IsMove,
+    typename _IIte, typename _ISeq, typename _ICat,
+    typename _OIte, typename _OSeq, typename _OCat>
+
+    ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
+    __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
+    const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
+    const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<typename _InputIterator, typename _Size, typename _OutputIterator>
+
+    _OutputIterator
+    __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
+        bool)
+    {
+      typedef __decltype(*__first) _InRef;
+      typedef __decltype(*__result) _OutRef;
+      if constexpr (!__is_trivially_assignable(_OutRef, _InRef))
+ { }
+
+
+
+
+      else if constexpr (__memcpyable<_OutputIterator,
+            _InputIterator>::__value)
+ {
+   if (__builtin_expect(__n > 1, true))
+     {
+       __builtin_memmove(__result,
+    __first,
+    __n * sizeof(*__first));
+       __result += __n;
+     }
+   else if (__n == 1)
+     *__result++ = *__first;
+   return __result;
+ }
+# 581 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+      if (__n > 0)
+ {
+   while (true)
+     {
+       *__result = *__first;
+       ++__result;
+       if (--__n > 0)
+  ++__first;
+       else
+  break;
+     }
+ }
+      return __result;
+    }
+#pragma GCC diagnostic pop
+
+
+  template<typename _CharT, typename _Size>
+    typename __gnu_cxx::__enable_if<
+      __is_char<_CharT>::__value, _CharT*>::__type
+    __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
+        _Size, _CharT*, bool);
+
+  template<typename _CharT, typename _Size>
+    typename __gnu_cxx::__enable_if<
+      __is_char<_CharT>::__value,
+      std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
+    __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
+        std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
+        bool);
+# 630 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _II, typename _OI>
+
+    inline _OI
+    copy(_II __first, _II __last, _OI __result)
+    {
+
+
+
+
+                                                                       ;
+
+      return std::__copy_move_a<__is_move_iterator<_II>::__value>
+      (std::__miter_base(__first), std::__miter_base(__last), __result);
+    }
+# 663 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _II, typename _OI>
+
+    inline _OI
+    move(_II __first, _II __last, _OI __result)
+    {
+
+
+
+
+                                                                       ;
+
+      return std::__copy_move_a<true>(std::__miter_base(__first),
+          std::__miter_base(__last), __result);
+    }
+
+
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<bool _IsMove, typename _BI1, typename _BI2>
+
+    inline _BI2
+    __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
+    {
+      typedef __decltype(*__first) _InRef;
+      typedef __decltype(*__result) _OutRef;
+      if constexpr (!__is_trivially_assignable(_OutRef, _InRef))
+       { }
+
+
+
+
+      else if constexpr (__memcpyable<_BI2, _BI1>::__value)
+ {
+   ptrdiff_t __n = std::distance(__first, __last);
+   std::advance(__result, -__n);
+   if (__builtin_expect(__n > 1, true))
+     {
+       __builtin_memmove(__result,
+    __first,
+    __n * sizeof(*__first));
+     }
+   else if (__n == 1)
+     std::__assign_one<_IsMove>(__result, __first);
+   return __result;
+ }
+# 735 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+      while (__first != __last)
+ {
+   --__last;
+   --__result;
+   std::__assign_one<_IsMove>(__result, __last);
+ }
+      return __result;
+    }
+#pragma GCC diagnostic pop
+
+
+
+
+  template<bool _IsMove, typename _BI1, typename _BI2>
+    __attribute__((__always_inline__))
+
+    inline _BI2
+    __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
+    { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
+
+  template<bool _IsMove,
+    typename _Tp, typename _Ref, typename _Ptr, typename _OI>
+    _OI
+    __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
+       std::_Deque_iterator<_Tp, _Ref, _Ptr>,
+       _OI);
+
+  template<bool _IsMove,
+    typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
+    std::_Deque_iterator<_OTp, _OTp&, _OTp*>
+    __copy_move_backward_a1(
+   std::_Deque_iterator<_ITp, _IRef, _IPtr>,
+   std::_Deque_iterator<_ITp, _IRef, _IPtr>,
+   std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
+
+  template<bool _IsMove, typename _II, typename _Tp>
+    typename __gnu_cxx::__enable_if<
+      __is_random_access_iter<_II>::__value,
+      std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
+    __copy_move_backward_a1(_II, _II,
+       std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
+
+  template<bool _IsMove, typename _II, typename _OI>
+    __attribute__((__always_inline__))
+
+    inline _OI
+    __copy_move_backward_a(_II __first, _II __last, _OI __result)
+    {
+      return std::__niter_wrap(__result,
+  std::__copy_move_backward_a1<_IsMove>
+    (std::__niter_base(__first), std::__niter_base(__last),
+     std::__niter_base(__result)));
+    }
+
+  template<bool _IsMove,
+    typename _Ite, typename _Seq, typename _Cat, typename _OI>
+
+    _OI
+    __copy_move_backward_a(
+  const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
+  const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
+  _OI);
+
+  template<bool _IsMove,
+    typename _II, typename _Ite, typename _Seq, typename _Cat>
+
+    __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
+    __copy_move_backward_a(_II, _II,
+  const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
+
+  template<bool _IsMove,
+    typename _IIte, typename _ISeq, typename _ICat,
+    typename _OIte, typename _OSeq, typename _OCat>
+
+    ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
+    __copy_move_backward_a(
+  const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
+  const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
+  const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
+# 833 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _BI1, typename _BI2>
+    __attribute__((__always_inline__))
+
+    inline _BI2
+    copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
+    {
+
+
+
+
+
+                                                                       ;
+
+      return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
+      (std::__miter_base(__first), std::__miter_base(__last), __result);
+    }
+# 869 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _BI1, typename _BI2>
+    __attribute__((__always_inline__))
+
+    inline _BI2
+    move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
+    {
+
+
+
+
+
+                                                                       ;
+
+      return std::__copy_move_backward_a<true>(std::__miter_base(__first),
+            std::__miter_base(__last),
+            __result);
+    }
+
+
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<typename _ForwardIterator, typename _Tp>
+
+    inline void
+    __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
+       const _Tp& __value)
+    {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+
+
+
+
+      const bool __load_outside_loop =
+
+
+     __is_trivially_constructible(_Tp, const _Tp&)
+     && __is_trivially_assignable(__decltype(*__first), const _Tp&)
+
+
+
+
+     && sizeof(_Tp) <= sizeof(long long);
+#pragma GCC diagnostic pop
+
+
+
+      typedef typename __gnu_cxx::__conditional_type<__load_outside_loop,
+           const _Tp,
+           const _Tp&>::__type _Up;
+      _Up __val(__value);
+      for (; __first != __last; ++__first)
+ *__first = __val;
+    }
+#pragma GCC diagnostic pop
+
+
+  template<typename _Up, typename _Tp>
+
+    inline typename
+    __gnu_cxx::__enable_if<__is_byte<_Up>::__value
+        && (__are_same<_Up, _Tp>::__value
+       || __memcpyable_integer<_Tp>::__width),
+      void>::__type
+    __fill_a1(_Up* __first, _Up* __last, const _Tp& __x)
+    {
+
+
+      const _Up __val = __x;
+# 950 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+      if (const size_t __len = __last - __first)
+ __builtin_memset(__first, static_cast<unsigned char>(__val), __len);
+    }
+
+  template<typename _Ite, typename _Cont, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline void
+    __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
+       ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
+       const _Tp& __value)
+    { std::__fill_a1(__first.base(), __last.base(), __value); }
+
+  template<typename _Tp, typename _VTp>
+    void
+    __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
+       const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
+       const _VTp&);
+
+
+  void
+  __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
+     const bool&);
+
+  template<typename _FIte, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline void
+    __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
+    { std::__fill_a1(__first, __last, __value); }
+
+  template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
+
+    void
+    __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
+      const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
+      const _Tp&);
+# 1000 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _ForwardIterator, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline void
+    fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
+    {
+
+
+
+                                                     ;
+
+      std::__fill_a(__first, __last, __value);
+    }
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+
+  inline constexpr int
+  __size_to_integer(int __n) { return __n; }
+  inline constexpr unsigned
+  __size_to_integer(unsigned __n) { return __n; }
+  inline constexpr long
+  __size_to_integer(long __n) { return __n; }
+  inline constexpr unsigned long
+  __size_to_integer(unsigned long __n) { return __n; }
+  inline constexpr long long
+  __size_to_integer(long long __n) { return __n; }
+  inline constexpr unsigned long long
+  __size_to_integer(unsigned long long __n) { return __n; }
+
+
+  __extension__ inline constexpr __int128
+  __size_to_integer(__int128 __n) { return __n; }
+  __extension__ inline constexpr unsigned __int128
+  __size_to_integer(unsigned __int128 __n) { return __n; }
+# 1055 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  inline constexpr long long
+  __size_to_integer(float __n) { return (long long)__n; }
+  inline constexpr long long
+  __size_to_integer(double __n) { return (long long)__n; }
+  inline constexpr long long
+  __size_to_integer(long double __n) { return (long long)__n; }
+
+  __extension__ inline constexpr long long
+  __size_to_integer(__float128 __n) { return (long long)__n; }
+
+#pragma GCC diagnostic pop
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+#pragma GCC diagnostic ignored "-Wlong-long"
+  template<typename _OutputIterator, typename _Size, typename _Tp>
+
+    inline _OutputIterator
+    __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
+    {
+
+      const bool __load_outside_loop =
+
+
+     __is_trivially_constructible(_Tp, const _Tp&)
+     && __is_trivially_assignable(__decltype(*__first), const _Tp&)
+
+
+
+
+     && sizeof(_Tp) <= sizeof(long long);
+
+
+
+      typedef typename __gnu_cxx::__conditional_type<__load_outside_loop,
+           const _Tp,
+           const _Tp&>::__type _Up;
+      _Up __val(__value);
+      for (; __n > 0; --__n, (void) ++__first)
+ *__first = __val;
+      return __first;
+    }
+#pragma GCC diagnostic pop
+
+  template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
+    typename _Tp>
+
+    ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
+    __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
+        _Size __n, const _Tp& __value,
+        std::input_iterator_tag);
+
+  template<typename _OutputIterator, typename _Size, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline _OutputIterator
+    __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
+        std::output_iterator_tag)
+    {
+
+      static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
+
+      return __fill_n_a1(__first, __n, __value);
+    }
+
+  template<typename _OutputIterator, typename _Size, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline _OutputIterator
+    __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
+        std::input_iterator_tag)
+    {
+
+      static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
+
+      return __fill_n_a1(__first, __n, __value);
+    }
+
+  template<typename _OutputIterator, typename _Size, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline _OutputIterator
+    __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
+        std::random_access_iterator_tag)
+    {
+
+      static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
+
+      if (__n <= 0)
+ return __first;
+
+                                                    ;
+
+      std::__fill_a(__first, __first + __n, __value);
+      return __first + __n;
+    }
+# 1169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _OI, typename _Size, typename _Tp>
+    __attribute__((__always_inline__))
+
+    inline _OI
+    fill_n(_OI __first, _Size __n, const _Tp& __value)
+    {
+
+
+
+      return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
+          std::__iterator_category(__first));
+    }
+
+  template<bool _BoolType>
+    struct __equal
+    {
+      template<typename _II1, typename _II2>
+
+ static bool
+ equal(_II1 __first1, _II1 __last1, _II2 __first2)
+ {
+   for (; __first1 != __last1; ++__first1, (void) ++__first2)
+     if (!(*__first1 == *__first2))
+       return false;
+   return true;
+ }
+    };
+
+  template<>
+    struct __equal<true>
+    {
+      template<typename _Tp>
+
+ static bool
+ equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
+ {
+   if (const size_t __len = (__last1 - __first1))
+     return !std::__memcmp(__first1, __first2, __len);
+   return true;
+ }
+    };
+
+  template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
+    typename __gnu_cxx::__enable_if<
+      __is_random_access_iter<_II>::__value, bool>::__type
+    __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
+   std::_Deque_iterator<_Tp, _Ref, _Ptr>,
+   _II);
+
+  template<typename _Tp1, typename _Ref1, typename _Ptr1,
+    typename _Tp2, typename _Ref2, typename _Ptr2>
+    bool
+    __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
+   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
+   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
+
+  template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
+    typename __gnu_cxx::__enable_if<
+      __is_random_access_iter<_II>::__value, bool>::__type
+    __equal_aux1(_II, _II,
+  std::_Deque_iterator<_Tp, _Ref, _Ptr>);
+
+  template<typename _II1, typename _II2>
+
+    inline bool
+    __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
+    {
+      typedef typename iterator_traits<_II1>::value_type _ValueType1;
+      const bool __simple = ((__is_integer<_ValueType1>::__value
+
+    || __is_pointer(_ValueType1)
+
+
+
+    || is_same_v<_ValueType1, byte>
+
+        ) && __memcmpable<_II1, _II2>::__value);
+      return std::__equal<__simple>::equal(__first1, __last1, __first2);
+    }
+
+  template<typename _II1, typename _II2>
+    __attribute__((__always_inline__))
+
+    inline bool
+    __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
+    {
+      return std::__equal_aux1(std::__niter_base(__first1),
+          std::__niter_base(__last1),
+          std::__niter_base(__first2));
+    }
+
+  template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
+
+    bool
+    __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
+  const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
+  _II2);
+
+  template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
+
+    bool
+    __equal_aux(_II1, _II1,
+  const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
+
+  template<typename _II1, typename _Seq1, typename _Cat1,
+    typename _II2, typename _Seq2, typename _Cat2>
+
+    bool
+    __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
+  const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
+  const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
+
+  template<typename, typename>
+    struct __lc_rai
+    {
+      template<typename _II1, typename _II2>
+
+ static _II1
+ __newlast1(_II1, _II1 __last1, _II2, _II2)
+ { return __last1; }
+
+      template<typename _II>
+
+ static bool
+ __cnd2(_II __first, _II __last)
+ { return __first != __last; }
+    };
+
+  template<>
+    struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
+    {
+      template<typename _RAI1, typename _RAI2>
+
+ static _RAI1
+ __newlast1(_RAI1 __first1, _RAI1 __last1,
+     _RAI2 __first2, _RAI2 __last2)
+ {
+   const typename iterator_traits<_RAI1>::difference_type
+     __diff1 = __last1 - __first1;
+   const typename iterator_traits<_RAI2>::difference_type
+     __diff2 = __last2 - __first2;
+   return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
+ }
+
+      template<typename _RAI>
+ static bool
+ __cnd2(_RAI, _RAI)
+ { return true; }
+    };
+
+  template<typename _II1, typename _II2, typename _Compare>
+
+    bool
+    __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
+       _II2 __first2, _II2 __last2,
+       _Compare __comp)
+    {
+      typedef typename iterator_traits<_II1>::iterator_category _Category1;
+      typedef typename iterator_traits<_II2>::iterator_category _Category2;
+      typedef std::__lc_rai<_Category1, _Category2> __rai_type;
+
+      __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
+      for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
+    ++__first1, (void)++__first2)
+ {
+   if (__comp(__first1, __first2))
+     return true;
+   if (__comp(__first2, __first1))
+     return false;
+ }
+      return __first1 == __last1 && __first2 != __last2;
+    }
+
+  template<bool _BoolType>
+    struct __lexicographical_compare
+    {
+      template<typename _II1, typename _II2>
+
+ static bool
+ __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
+ {
+   using __gnu_cxx::__ops::__iter_less_iter;
+   return std::__lexicographical_compare_impl(__first1, __last1,
+           __first2, __last2,
+           __iter_less_iter());
+ }
+
+      template<typename _II1, typename _II2>
+
+ static int
+ __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
+ {
+   while (__first1 != __last1)
+     {
+       if (__first2 == __last2)
+  return +1;
+       if (*__first1 < *__first2)
+  return -1;
+       if (*__first2 < *__first1)
+  return +1;
+       ++__first1;
+       ++__first2;
+     }
+   return int(__first2 == __last2) - 1;
+ }
+    };
+
+  template<>
+    struct __lexicographical_compare<true>
+    {
+      template<typename _Tp, typename _Up>
+
+ static bool
+ __lc(const _Tp* __first1, const _Tp* __last1,
+      const _Up* __first2, const _Up* __last2)
+ { return __3way(__first1, __last1, __first2, __last2) < 0; }
+
+      template<typename _Tp, typename _Up>
+
+ static ptrdiff_t
+ __3way(const _Tp* __first1, const _Tp* __last1,
+        const _Up* __first2, const _Up* __last2)
+ {
+   const size_t __len1 = __last1 - __first1;
+   const size_t __len2 = __last2 - __first2;
+   if (const size_t __len = std::min(__len1, __len2))
+     if (int __result = std::__memcmp(__first1, __first2, __len))
+       return __result;
+   return ptrdiff_t(__len1 - __len2);
+ }
+    };
+
+  template<typename _II1, typename _II2>
+
+    inline bool
+    __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
+       _II2 __first2, _II2 __last2)
+    {
+      typedef typename iterator_traits<_II1>::value_type _ValueType1;
+      typedef typename iterator_traits<_II2>::value_type _ValueType2;
+
+      const bool __simple =
+ (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
+  && __is_pointer(_II1) && __is_pointer(_II2)
+
+
+
+
+
+
+
+  );
+
+
+
+
+      return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
+           __first2, __last2);
+    }
+
+  template<typename _Tp1, typename _Ref1, typename _Ptr1,
+    typename _Tp2>
+    bool
+    __lexicographical_compare_aux1(
+ std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
+ std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
+ _Tp2*, _Tp2*);
+
+  template<typename _Tp1,
+    typename _Tp2, typename _Ref2, typename _Ptr2>
+    bool
+    __lexicographical_compare_aux1(_Tp1*, _Tp1*,
+ std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
+ std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
+
+  template<typename _Tp1, typename _Ref1, typename _Ptr1,
+    typename _Tp2, typename _Ref2, typename _Ptr2>
+    bool
+    __lexicographical_compare_aux1(
+ std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
+ std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
+ std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
+ std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
+
+  template<typename _II1, typename _II2>
+
+    inline bool
+    __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
+      _II2 __first2, _II2 __last2)
+    {
+      return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
+       std::__niter_base(__last1),
+       std::__niter_base(__first2),
+       std::__niter_base(__last2));
+    }
+
+  template<typename _Iter1, typename _Seq1, typename _Cat1,
+    typename _II2>
+
+    bool
+    __lexicographical_compare_aux(
+  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
+  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
+  _II2, _II2);
+
+  template<typename _II1,
+    typename _Iter2, typename _Seq2, typename _Cat2>
+
+    bool
+    __lexicographical_compare_aux(
+  _II1, _II1,
+  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
+  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
+
+  template<typename _Iter1, typename _Seq1, typename _Cat1,
+    typename _Iter2, typename _Seq2, typename _Cat2>
+
+    bool
+    __lexicographical_compare_aux(
+  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
+  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
+  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
+  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
+
+  template<typename _ForwardIterator, typename _Tp, typename _Compare>
+
+    _ForwardIterator
+    __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
+    const _Tp& __val, _Compare __comp)
+    {
+      typedef typename iterator_traits<_ForwardIterator>::difference_type
+ _DistanceType;
+
+      _DistanceType __len = std::distance(__first, __last);
+
+      while (__len > 0)
+ {
+   _DistanceType __half = __len >> 1;
+   _ForwardIterator __middle = __first;
+   std::advance(__middle, __half);
+   if (__comp(__middle, __val))
+     {
+       __first = __middle;
+       ++__first;
+       __len = __len - __half - 1;
+     }
+   else
+     __len = __half;
+ }
+      return __first;
+    }
+# 1532 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _ForwardIterator, typename _Tp>
+    [[__nodiscard__]]
+    inline _ForwardIterator
+    lower_bound(_ForwardIterator __first, _ForwardIterator __last,
+  const _Tp& __val)
+    {
+
+
+
+
+                                                                  ;
+
+      return std::__lower_bound(__first, __last, __val,
+    __gnu_cxx::__ops::__iter_less_val());
+    }
+
+
+
+  template<typename _Tp>
+    inline constexpr _Tp
+    __lg(_Tp __n)
+    {
+
+      return std::__bit_width(make_unsigned_t<_Tp>(__n)) - 1;
+# 1568 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+    }
+# 1584 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _II1, typename _II2>
+    [[__nodiscard__]]
+    inline bool
+    equal(_II1 __first1, _II1 __last1, _II2 __first2)
+    {
+
+
+
+
+
+
+                                                                         ;
+
+      return std::__equal_aux(__first1, __last1, __first2);
+    }
+# 1615 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
+    [[__nodiscard__]]
+    inline bool
+    equal(_IIter1 __first1, _IIter1 __last1,
+   _IIter2 __first2, _BinaryPredicate __binary_pred)
+    {
+
+
+
+                                                       ;
+
+      for (; __first1 != __last1; ++__first1, (void)++__first2)
+ if (!bool(__binary_pred(*__first1, *__first2)))
+   return false;
+      return true;
+    }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+
+
+  template<typename _II1, typename _II2>
+
+    inline bool
+    __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
+    {
+      using _RATag = random_access_iterator_tag;
+      using _Cat1 = typename iterator_traits<_II1>::iterator_category;
+      using _Cat2 = typename iterator_traits<_II2>::iterator_category;
+      using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
+      if constexpr (_RAIters::value)
+ {
+   if ((__last1 - __first1) != (__last2 - __first2))
+     return false;
+   return std::equal(__first1, __last1, __first2);
+ }
+      else
+ {
+   for (; __first1 != __last1 && __first2 != __last2;
+        ++__first1, (void)++__first2)
+     if (!(*__first1 == *__first2))
+       return false;
+   return __first1 == __last1 && __first2 == __last2;
+ }
+    }
+
+
+  template<typename _II1, typename _II2, typename _BinaryPredicate>
+
+    inline bool
+    __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
+      _BinaryPredicate __binary_pred)
+    {
+      using _RATag = random_access_iterator_tag;
+      using _Cat1 = typename iterator_traits<_II1>::iterator_category;
+      using _Cat2 = typename iterator_traits<_II2>::iterator_category;
+      using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
+      if constexpr (_RAIters::value)
+ {
+   if ((__last1 - __first1) != (__last2 - __first2))
+     return false;
+   return std::equal(__first1, __last1, __first2,
+           __binary_pred);
+ }
+      else
+ {
+   for (; __first1 != __last1 && __first2 != __last2;
+        ++__first1, (void)++__first2)
+     if (!bool(__binary_pred(*__first1, *__first2)))
+       return false;
+   return __first1 == __last1 && __first2 == __last2;
+ }
+    }
+#pragma GCC diagnostic pop
+# 1706 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _II1, typename _II2>
+    [[__nodiscard__]]
+    inline bool
+    equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
+    {
+
+
+
+
+
+
+                                                       ;
+                                                       ;
+
+      return std::__equal4(__first1, __last1, __first2, __last2);
+    }
+# 1739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
+    [[__nodiscard__]]
+    inline bool
+    equal(_IIter1 __first1, _IIter1 __last1,
+   _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
+    {
+
+
+
+                                                       ;
+                                                       ;
+
+      return std::__equal4(__first1, __last1, __first2, __last2,
+          __binary_pred);
+    }
+# 1771 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _II1, typename _II2>
+    [[__nodiscard__]]
+    inline bool
+    lexicographical_compare(_II1 __first1, _II1 __last1,
+       _II2 __first2, _II2 __last2)
+    {
+# 1786 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+                                                       ;
+                                                       ;
+
+      return std::__lexicographical_compare_aux(__first1, __last1,
+      __first2, __last2);
+    }
+# 1806 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _II1, typename _II2, typename _Compare>
+    [[__nodiscard__]]
+    inline bool
+    lexicographical_compare(_II1 __first1, _II1 __last1,
+       _II2 __first2, _II2 __last2, _Compare __comp)
+    {
+
+
+
+                                                       ;
+                                                       ;
+
+      return std::__lexicographical_compare_impl
+ (__first1, __last1, __first2, __last2,
+  __gnu_cxx::__ops::__iter_comp_iter(__comp));
+    }
+# 1921 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _InputIterator1, typename _InputIterator2,
+    typename _BinaryPredicate>
+
+    pair<_InputIterator1, _InputIterator2>
+    __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
+        _InputIterator2 __first2, _BinaryPredicate __binary_pred)
+    {
+      while (__first1 != __last1 && __binary_pred(__first1, __first2))
+ {
+   ++__first1;
+   ++__first2;
+ }
+      return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
+    }
+# 1949 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _InputIterator1, typename _InputIterator2>
+    [[__nodiscard__]]
+    inline pair<_InputIterator1, _InputIterator2>
+    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
+      _InputIterator2 __first2)
+    {
+
+
+
+
+
+
+                                                       ;
+
+      return std::__mismatch(__first1, __last1, __first2,
+        __gnu_cxx::__ops::__iter_equal_to_iter());
+    }
+# 1983 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _InputIterator1, typename _InputIterator2,
+    typename _BinaryPredicate>
+    [[__nodiscard__]]
+    inline pair<_InputIterator1, _InputIterator2>
+    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
+      _InputIterator2 __first2, _BinaryPredicate __binary_pred)
+    {
+
+
+
+                                                       ;
+
+      return std::__mismatch(__first1, __last1, __first2,
+ __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
+    }
+
+
+  template<typename _InputIterator1, typename _InputIterator2,
+    typename _BinaryPredicate>
+
+    pair<_InputIterator1, _InputIterator2>
+    __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
+        _InputIterator2 __first2, _InputIterator2 __last2,
+        _BinaryPredicate __binary_pred)
+    {
+      while (__first1 != __last1 && __first2 != __last2
+      && __binary_pred(__first1, __first2))
+ {
+   ++__first1;
+   ++__first2;
+ }
+      return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
+    }
+# 2031 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _InputIterator1, typename _InputIterator2>
+    [[__nodiscard__]]
+    inline pair<_InputIterator1, _InputIterator2>
+    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
+      _InputIterator2 __first2, _InputIterator2 __last2)
+    {
+
+
+
+
+
+
+                                                       ;
+                                                       ;
+
+      return std::__mismatch(__first1, __last1, __first2, __last2,
+        __gnu_cxx::__ops::__iter_equal_to_iter());
+    }
+# 2067 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _InputIterator1, typename _InputIterator2,
+    typename _BinaryPredicate>
+    [[__nodiscard__]]
+    inline pair<_InputIterator1, _InputIterator2>
+    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
+      _InputIterator2 __first2, _InputIterator2 __last2,
+      _BinaryPredicate __binary_pred)
+    {
+
+
+
+                                                       ;
+                                                       ;
+
+      return std::__mismatch(__first1, __last1, __first2, __last2,
+        __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
+    }
+
+
+
+
+
+  template<typename _Iterator, typename _Predicate>
+
+    inline _Iterator
+    __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
+    {
+#pragma GCC unroll 4
+      while (__first != __last && !__pred(__first))
+ ++__first;
+      return __first;
+    }
+
+  template<typename _InputIterator, typename _Predicate>
+
+    typename iterator_traits<_InputIterator>::difference_type
+    __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
+    {
+      typename iterator_traits<_InputIterator>::difference_type __n = 0;
+      for (; __first != __last; ++__first)
+ if (__pred(__first))
+   ++__n;
+      return __n;
+    }
+
+  template<typename _ForwardIterator, typename _Predicate>
+
+    _ForwardIterator
+    __remove_if(_ForwardIterator __first, _ForwardIterator __last,
+  _Predicate __pred)
+    {
+      __first = std::__find_if(__first, __last, __pred);
+      if (__first == __last)
+ return __first;
+      _ForwardIterator __result = __first;
+      ++__first;
+      for (; __first != __last; ++__first)
+ if (!__pred(__first))
+   {
+     *__result = std::move(*__first);
+     ++__result;
+   }
+      return __result;
+    }
+
+  template<typename _ForwardIterator1, typename _ForwardIterator2,
+    typename _BinaryPredicate>
+
+    _ForwardIterator1
+    __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
+      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
+      _BinaryPredicate __predicate)
+    {
+
+      if (__first1 == __last1 || __first2 == __last2)
+ return __first1;
+
+
+      _ForwardIterator2 __p1(__first2);
+      if (++__p1 == __last2)
+ return std::__find_if(__first1, __last1,
+  __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
+
+
+      _ForwardIterator1 __current = __first1;
+
+      for (;;)
+ {
+   __first1 =
+     std::__find_if(__first1, __last1,
+  __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
+
+   if (__first1 == __last1)
+     return __last1;
+
+   _ForwardIterator2 __p = __p1;
+   __current = __first1;
+   if (++__current == __last1)
+     return __last1;
+
+   while (__predicate(__current, __p))
+     {
+       if (++__p == __last2)
+  return __first1;
+       if (++__current == __last1)
+  return __last1;
+     }
+   ++__first1;
+ }
+      return __first1;
+    }
+
+
+  template<typename _ForwardIterator1, typename _ForwardIterator2,
+    typename _BinaryPredicate>
+
+    bool
+    __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
+       _ForwardIterator2 __first2, _BinaryPredicate __pred)
+    {
+
+
+      for (; __first1 != __last1; ++__first1, (void)++__first2)
+ if (!__pred(__first1, __first2))
+   break;
+
+      if (__first1 == __last1)
+ return true;
+
+
+
+      _ForwardIterator2 __last2 = __first2;
+      std::advance(__last2, std::distance(__first1, __last1));
+      for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
+ {
+   if (__scan != std::__find_if(__first1, __scan,
+     __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
+     continue;
+
+   auto __matches
+     = std::__count_if(__first2, __last2,
+   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
+   if (0 == __matches ||
+       std::__count_if(__scan, __last1,
+   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
+       != __matches)
+     return false;
+ }
+      return true;
+    }
+# 2230 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _ForwardIterator1, typename _ForwardIterator2>
+
+    inline bool
+    is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
+     _ForwardIterator2 __first2)
+    {
+
+
+
+
+
+
+                                                       ;
+
+      return std::__is_permutation(__first1, __last1, __first2,
+       __gnu_cxx::__ops::__iter_equal_to_iter());
+    }
+# 2272 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
+  template<typename _ForwardIterator1, typename _ForwardIterator2,
+    typename _BinaryPredicate>
+
+    inline _ForwardIterator1
+    search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
+    _ForwardIterator2 __first2, _ForwardIterator2 __last2,
+    _BinaryPredicate __predicate)
+    {
+
+
+
+
+
+
+                                                       ;
+                                                       ;
+
+      return std::__search(__first1, __last1, __first2, __last2,
+      __gnu_cxx::__ops::__iter_comp_iter(__predicate));
+    }
+
+
+
+}
+# 54 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 1 3
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 3
+  template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
+    constexpr _Up&&
+    __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
+    { return static_cast<_Up&&>(__t); }
+
+  template<typename _Res, typename _Fn, typename... _Args>
+    constexpr _Res
+    __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
+    { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
+
+  template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
+    constexpr _Res
+    __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
+    _Args&&... __args)
+    { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
+
+  template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
+    constexpr _Res
+    __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
+    _Args&&... __args)
+    {
+      return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
+    }
+
+  template<typename _Res, typename _MemPtr, typename _Tp>
+    constexpr _Res
+    __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
+    { return __invfwd<_Tp>(__t).*__f; }
+
+  template<typename _Res, typename _MemPtr, typename _Tp>
+    constexpr _Res
+    __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
+    { return (*std::forward<_Tp>(__t)).*__f; }
+
+
+  template<typename _Callable, typename... _Args>
+    constexpr typename __invoke_result<_Callable, _Args...>::type
+    __invoke(_Callable&& __fn, _Args&&... __args)
+    noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
+    {
+      using __result = __invoke_result<_Callable, _Args...>;
+      using __type = typename __result::type;
+      using __tag = typename __result::__invoke_type;
+      return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
+     std::forward<_Args>(__args)...);
+    }
+
+
+
+  template<typename _Res, typename _Callable, typename... _Args>
+    constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
+    __invoke_r(_Callable&& __fn, _Args&&... __args)
+    noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
+    {
+      using __result = __invoke_result<_Callable, _Args...>;
+      using __type = typename __result::type;
+      using __tag = typename __result::__invoke_type;
+      if constexpr (is_void_v<_Res>)
+ std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
+     std::forward<_Args>(__args)...);
+      else
+ return std::__invoke_impl<__type>(__tag{},
+       std::forward<_Callable>(__fn),
+       std::forward<_Args>(__args)...);
+    }
+# 158 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 3
+}
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 2 3
+
+
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 58 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
+  template<typename _Res, typename... _ArgTypes>
+    struct _Maybe_unary_or_binary_function { };
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+  template<typename _Res, typename _T1>
+    struct _Maybe_unary_or_binary_function<_Res, _T1>
+    : std::unary_function<_T1, _Res> { };
+
+
+  template<typename _Res, typename _T1, typename _T2>
+    struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
+    : std::binary_function<_T1, _T2, _Res> { };
+
+#pragma GCC diagnostic pop
+
+  template<typename _Signature>
+    struct _Mem_fn_traits;
+
+  template<typename _Res, typename _Class, typename... _ArgTypes>
+    struct _Mem_fn_traits_base
+    {
+      using __result_type = _Res;
+      using __maybe_type
+ = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
+      using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
+    };
+# 109 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
+template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
+template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
+template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
+
+
+template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
+template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
+template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
+
+
+
+
+
+
+  template<typename _Functor, typename = __void_t<>>
+    struct _Maybe_get_result_type
+    { };
+
+  template<typename _Functor>
+    struct _Maybe_get_result_type<_Functor,
+      __void_t<typename _Functor::result_type>>
+    { typedef typename _Functor::result_type result_type; };
+
+
+
+
+
+  template<typename _Functor>
+    struct _Weak_result_type_impl
+    : _Maybe_get_result_type<_Functor>
+    { };
+
+
+  template<typename _Res, typename... _ArgTypes , bool _NE>
+    struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
+    { typedef _Res result_type; };
+
+
+  template<typename _Res, typename... _ArgTypes , bool _NE>
+    struct _Weak_result_type_impl<_Res(_ArgTypes...,
+           ...) noexcept (_NE)>
+    { typedef _Res result_type; };
+
+
+  template<typename _Res, typename... _ArgTypes , bool _NE>
+    struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
+    { typedef _Res result_type; };
+
+
+  template<typename _Res, typename... _ArgTypes , bool _NE>
+    struct
+    _Weak_result_type_impl<_Res(*)(_ArgTypes..., ...) noexcept (_NE)>
+    { typedef _Res result_type; };
+
+
+  template<typename _Functor,
+    bool = is_member_function_pointer<_Functor>::value>
+    struct _Weak_result_type_memfun
+    : _Weak_result_type_impl<_Functor>
+    { };
+
+
+  template<typename _MemFunPtr>
+    struct _Weak_result_type_memfun<_MemFunPtr, true>
+    {
+      using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
+    };
+
+
+  template<typename _Func, typename _Class>
+    struct _Weak_result_type_memfun<_Func _Class::*, false>
+    { };
+
+
+
+
+
+  template<typename _Functor>
+    struct _Weak_result_type
+    : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
+    { };
+
+
+
+  template<typename _Tp, typename = __void_t<>>
+    struct _Refwrap_base_arg1
+    { };
+
+
+  template<typename _Tp>
+    struct _Refwrap_base_arg1<_Tp,
+         __void_t<typename _Tp::argument_type>>
+    {
+      typedef typename _Tp::argument_type argument_type;
+    };
+
+
+  template<typename _Tp, typename = __void_t<>>
+    struct _Refwrap_base_arg2
+    { };
+
+
+  template<typename _Tp>
+    struct _Refwrap_base_arg2<_Tp,
+         __void_t<typename _Tp::first_argument_type,
+           typename _Tp::second_argument_type>>
+    {
+      typedef typename _Tp::first_argument_type first_argument_type;
+      typedef typename _Tp::second_argument_type second_argument_type;
+    };
+
+
+
+
+
+
+
+  template<typename _Tp>
+    struct _Reference_wrapper_base
+    : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
+    { };
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+  template<typename _Res, typename _T1 , bool _NE>
+    struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
+    : unary_function<_T1, _Res>
+    { };
+
+  template<typename _Res, typename _T1>
+    struct _Reference_wrapper_base<_Res(_T1) const>
+    : unary_function<_T1, _Res>
+    { };
+
+  template<typename _Res, typename _T1>
+    struct _Reference_wrapper_base<_Res(_T1) volatile>
+    : unary_function<_T1, _Res>
+    { };
+
+  template<typename _Res, typename _T1>
+    struct _Reference_wrapper_base<_Res(_T1) const volatile>
+    : unary_function<_T1, _Res>
+    { };
+
+
+  template<typename _Res, typename _T1, typename _T2 , bool _NE>
+    struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
+    : binary_function<_T1, _T2, _Res>
+    { };
+
+  template<typename _Res, typename _T1, typename _T2>
+    struct _Reference_wrapper_base<_Res(_T1, _T2) const>
+    : binary_function<_T1, _T2, _Res>
+    { };
+
+  template<typename _Res, typename _T1, typename _T2>
+    struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
+    : binary_function<_T1, _T2, _Res>
+    { };
+
+  template<typename _Res, typename _T1, typename _T2>
+    struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
+    : binary_function<_T1, _T2, _Res>
+    { };
+
+
+  template<typename _Res, typename _T1 , bool _NE>
+    struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
+    : unary_function<_T1, _Res>
+    { };
+
+
+  template<typename _Res, typename _T1, typename _T2 , bool _NE>
+    struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
+    : binary_function<_T1, _T2, _Res>
+    { };
+
+  template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
+    struct _Reference_wrapper_base_memfun
+    : _Reference_wrapper_base<_Tp>
+    { };
+
+  template<typename _MemFunPtr>
+    struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
+    : _Mem_fn_traits<_MemFunPtr>::__maybe_type
+    {
+      using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
+    };
+#pragma GCC diagnostic pop
+
+
+
+
+
+
+
+
+  template<typename _Tp>
+    class reference_wrapper
+
+
+
+    : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
+
+    {
+      _Tp* _M_data;
+
+
+      static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
+
+      static void _S_fun(_Tp&&) = delete;
+
+      template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
+ using __not_same
+   = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
+
+    public:
+      typedef _Tp type;
+
+
+
+
+      template<typename _Up, typename = __not_same<_Up>, typename
+  = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
+
+ reference_wrapper(_Up&& __uref)
+ noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
+ : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
+ { }
+
+      reference_wrapper(const reference_wrapper&) = default;
+
+      reference_wrapper&
+      operator=(const reference_wrapper&) = default;
+
+
+      operator _Tp&() const noexcept
+      { return this->get(); }
+
+
+      _Tp&
+      get() const noexcept
+      { return *_M_data; }
+
+      template<typename... _Args>
+
+ typename __invoke_result<_Tp&, _Args...>::type
+ operator()(_Args&&... __args) const
+ noexcept(__is_nothrow_invocable<_Tp&, _Args...>::value)
+ {
+
+
+
+
+   return std::__invoke(get(), std::forward<_Args>(__args)...);
+ }
+# 415 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
+    };
+
+
+  template<typename _Tp>
+    reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
+
+
+
+
+
+  template<typename _Tp>
+
+    inline reference_wrapper<_Tp>
+    ref(_Tp& __t) noexcept
+    { return reference_wrapper<_Tp>(__t); }
+
+
+  template<typename _Tp>
+
+    inline reference_wrapper<const _Tp>
+    cref(const _Tp& __t) noexcept
+    { return reference_wrapper<const _Tp>(__t); }
+
+  template<typename _Tp>
+    void ref(const _Tp&&) = delete;
+
+  template<typename _Tp>
+    void cref(const _Tp&&) = delete;
+
+
+  template<typename _Tp>
+
+    inline reference_wrapper<_Tp>
+    ref(reference_wrapper<_Tp> __t) noexcept
+    { return __t; }
+
+
+  template<typename _Tp>
+
+    inline reference_wrapper<const _Tp>
+    cref(reference_wrapper<_Tp> __t) noexcept
+    { return { __t.get() }; }
+
+
+
+
+}
+# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/initializer_list" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/initializer_list" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+  template<class _E>
+    class initializer_list
+    {
+    public:
+      typedef _E value_type;
+      typedef const _E& reference;
+      typedef const _E& const_reference;
+      typedef size_t size_type;
+      typedef const _E* iterator;
+      typedef const _E* const_iterator;
+
+    private:
+      iterator _M_array;
+      size_type _M_len;
+
+
+      constexpr initializer_list(const_iterator __a, size_type __l)
+      : _M_array(__a), _M_len(__l) { }
+
+    public:
+      constexpr initializer_list() noexcept
+      : _M_array(0), _M_len(0) { }
+
+
+      constexpr size_type
+      size() const noexcept { return _M_len; }
+
+
+      constexpr const_iterator
+      begin() const noexcept { return _M_array; }
+
+
+      constexpr const_iterator
+      end() const noexcept { return begin() + size(); }
+    };
+
+
+
+
+
+
+
+  template<class _Tp>
+    constexpr const _Tp*
+    begin(initializer_list<_Tp> __ils) noexcept
+    { return __ils.begin(); }
+
+
+
+
+
+
+
+  template<class _Tp>
+    constexpr const _Tp*
+    end(initializer_list<_Tp> __ils) noexcept
+    { return __ils.end(); }
+}
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 2 3
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    begin(_Container& __cont) noexcept(noexcept(__cont.begin()))
+    -> decltype(__cont.begin())
+    { return __cont.begin(); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    begin(const _Container& __cont) noexcept(noexcept(__cont.begin()))
+    -> decltype(__cont.begin())
+    { return __cont.begin(); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    end(_Container& __cont) noexcept(noexcept(__cont.end()))
+    -> decltype(__cont.end())
+    { return __cont.end(); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    end(const _Container& __cont) noexcept(noexcept(__cont.end()))
+    -> decltype(__cont.end())
+    { return __cont.end(); }
+
+
+
+
+
+  template<typename _Tp, size_t _Nm>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr _Tp*
+    begin(_Tp (&__arr)[_Nm]) noexcept
+    { return __arr; }
+
+
+
+
+
+
+  template<typename _Tp, size_t _Nm>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr _Tp*
+    end(_Tp (&__arr)[_Nm]) noexcept
+    { return __arr + _Nm; }
+
+
+
+  template<typename _Tp> class valarray;
+
+  template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
+  template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
+  template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
+  template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    constexpr auto
+    cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
+      -> decltype(std::begin(__cont))
+    { return std::begin(__cont); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    constexpr auto
+    cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
+      -> decltype(std::end(__cont))
+    { return std::end(__cont); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    rbegin(_Container& __cont) noexcept(noexcept(__cont.rbegin()))
+      -> decltype(__cont.rbegin())
+    { return __cont.rbegin(); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    rbegin(const _Container& __cont) noexcept(noexcept(__cont.rbegin()))
+      -> decltype(__cont.rbegin())
+    { return __cont.rbegin(); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    rend(_Container& __cont) noexcept(noexcept(__cont.rend()))
+      -> decltype(__cont.rend())
+    { return __cont.rend(); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    rend(const _Container& __cont) noexcept(noexcept(__cont.rend()))
+      -> decltype(__cont.rend())
+    { return __cont.rend(); }
+
+
+
+
+
+
+  template<typename _Tp, size_t _Nm>
+    [[__nodiscard__]]
+    inline constexpr reverse_iterator<_Tp*>
+    rbegin(_Tp (&__arr)[_Nm]) noexcept
+    { return reverse_iterator<_Tp*>(__arr + _Nm); }
+
+
+
+
+
+
+  template<typename _Tp, size_t _Nm>
+    [[__nodiscard__]]
+    inline constexpr reverse_iterator<_Tp*>
+    rend(_Tp (&__arr)[_Nm]) noexcept
+    { return reverse_iterator<_Tp*>(__arr); }
+
+
+
+
+
+
+  template<typename _Tp>
+    [[__nodiscard__]]
+    inline constexpr reverse_iterator<const _Tp*>
+    rbegin(initializer_list<_Tp> __il) noexcept
+    { return reverse_iterator<const _Tp*>(__il.end()); }
+
+
+
+
+
+
+  template<typename _Tp>
+    [[__nodiscard__]]
+    inline constexpr reverse_iterator<const _Tp*>
+    rend(initializer_list<_Tp> __il) noexcept
+    { return reverse_iterator<const _Tp*>(__il.begin()); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    crbegin(const _Container& __cont) noexcept(noexcept(std::rbegin(__cont)))
+      -> decltype(std::rbegin(__cont))
+    { return std::rbegin(__cont); }
+
+
+
+
+
+
+  template<typename _Container>
+    [[__nodiscard__, __gnu__::__always_inline__]]
+    inline constexpr auto
+    crend(const _Container& __cont) noexcept(noexcept(std::rend(__cont)))
+      -> decltype(std::rend(__cont))
+    { return std::rend(__cont); }
+# 271 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 3
+  template <typename _Container>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr auto
+    size(const _Container& __cont) noexcept(noexcept(__cont.size()))
+    -> decltype(__cont.size())
+    { return __cont.size(); }
+
+
+
+
+  template <typename _Tp, size_t _Nm>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr size_t
+    size(const _Tp (&)[_Nm]) noexcept
+    { return _Nm; }
+
+
+
+
+
+  template <typename _Container>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr auto
+    empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
+    -> decltype(__cont.empty())
+    { return __cont.empty(); }
+
+
+
+
+  template <typename _Tp, size_t _Nm>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr bool
+    empty(const _Tp (&)[_Nm]) noexcept
+    { return false; }
+
+
+
+
+
+  template <typename _Tp>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr bool
+    empty(initializer_list<_Tp> __il) noexcept
+    { return __il.size() == 0;}
+
+
+
+
+
+  template <typename _Container>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr auto
+    data(_Container& __cont) noexcept(noexcept(__cont.data()))
+    -> decltype(__cont.data())
+    { return __cont.data(); }
+
+
+
+
+
+  template <typename _Container>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr auto
+    data(const _Container& __cont) noexcept(noexcept(__cont.data()))
+    -> decltype(__cont.data())
+    { return __cont.data(); }
+
+
+
+
+
+  template <typename _Tp, size_t _Nm>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr _Tp*
+    data(_Tp (&__array)[_Nm]) noexcept
+    { return __array; }
+
+
+
+
+
+  template <typename _Tp>
+    [[nodiscard, __gnu__::__always_inline__]]
+    constexpr const _Tp*
+    data(initializer_list<_Tp> __il) noexcept
+    { return __il.begin(); }
+# 378 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 3
+}
+# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 1 3
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 1 3
+# 33 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 1 3
+# 73 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  template <typename _Tp>
+                         inline void
+    destroy_at(_Tp* __location)
+    {
+      if constexpr (201703L > 201703L && is_array_v<_Tp>)
+ {
+   for (auto& __x : *__location)
+     std::destroy_at(std::__addressof(__x));
+ }
+      else
+ __location->~_Tp();
+    }
+# 120 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+  template<typename _Tp, typename... _Args>
+
+    inline void
+    _Construct(_Tp* __p, _Args&&... __args)
+    {
+# 133 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+      ::new(static_cast<void*>(__p)) _Tp(std::forward<_Args>(__args)...);
+    }
+# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+  template<typename _T1>
+
+    inline void
+    _Construct_novalue(_T1* __p)
+    { ::new(static_cast<void*>(__p)) _T1; }
+
+  template<typename _ForwardIterator>
+                         void
+    _Destroy(_ForwardIterator __first, _ForwardIterator __last);
+
+
+
+
+  template<typename _Tp>
+    constexpr inline void
+    _Destroy(_Tp* __pointer)
+    {
+
+
+
+      __pointer->~_Tp();
+
+    }
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+# 200 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+  template<typename _ForwardIterator>
+                         inline void
+    _Destroy(_ForwardIterator __first, _ForwardIterator __last)
+    {
+      typedef typename iterator_traits<_ForwardIterator>::value_type
+                       _Value_type;
+
+
+      static_assert(is_destructible<_Value_type>::value,
+      "value type is destructible");
+      if constexpr (!__has_trivial_destructor(_Value_type))
+ for (; __first != __last; ++__first)
+   std::_Destroy(std::__addressof(*__first));
+# 222 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+    }
+# 256 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
+  template<typename _ForwardIterator, typename _Size>
+                         inline _ForwardIterator
+    _Destroy_n(_ForwardIterator __first, _Size __count)
+    {
+      typedef typename iterator_traits<_ForwardIterator>::value_type
+                       _Value_type;
+
+
+      static_assert(is_destructible<_Value_type>::value,
+      "value type is destructible");
+      if constexpr (!__has_trivial_destructor(_Value_type))
+ for (; __count > 0; (void)++__first, --__count)
+   std::_Destroy(std::__addressof(*__first));
+
+
+
+
+
+      else
+ std::advance(__first, __count);
+      return __first;
+
+
+
+
+    }
+#pragma GCC diagnostic pop
+
+
+  template <typename _ForwardIterator>
+                         inline void
+    destroy(_ForwardIterator __first, _ForwardIterator __last)
+    {
+      std::_Destroy(__first, __last);
+    }
+
+  template <typename _ForwardIterator, typename _Size>
+                         inline _ForwardIterator
+    destroy_n(_ForwardIterator __first, _Size __count)
+    {
+      return std::_Destroy_n(__first, __count);
+    }
+
+
+
+}
+# 34 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 2 3
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++14-extensions"
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+
+
+  struct __allocator_traits_base
+  {
+
+
+
+    template<typename _Tp, typename _Up, typename = void>
+
+      struct __rebind : __replace_first_arg<_Tp, _Up>
+      {
+ static_assert(is_same<
+   typename __replace_first_arg<_Tp, typename _Tp::value_type>::type,
+   _Tp>::value,
+   "allocator_traits<A>::rebind_alloc<A::value_type> must be A");
+      };
+
+    template<typename _Tp, typename _Up>
+
+
+
+
+      struct __rebind<_Tp, _Up,
+        __void_t<typename _Tp::template rebind<_Up>::other>>
+
+      {
+ using type = typename _Tp::template rebind<_Up>::other;
+
+ static_assert(is_same<
+   typename _Tp::template rebind<typename _Tp::value_type>::other,
+   _Tp>::value,
+   "allocator_traits<A>::rebind_alloc<A::value_type> must be A");
+      };
+
+  protected:
+    template<typename _Tp>
+      using __pointer = typename _Tp::pointer;
+    template<typename _Tp>
+      using __c_pointer = typename _Tp::const_pointer;
+    template<typename _Tp>
+      using __v_pointer = typename _Tp::void_pointer;
+    template<typename _Tp>
+      using __cv_pointer = typename _Tp::const_void_pointer;
+    template<typename _Tp>
+      using __pocca = typename _Tp::propagate_on_container_copy_assignment;
+    template<typename _Tp>
+      using __pocma = typename _Tp::propagate_on_container_move_assignment;
+    template<typename _Tp>
+      using __pocs = typename _Tp::propagate_on_container_swap;
+    template<typename _Tp>
+      using __equal = __type_identity<typename _Tp::is_always_equal>;
+# 115 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+    template<typename _Alloc, typename _Sz, typename _Vp>
+      using __allocate_hint_t
+ = decltype(std::declval<_Alloc&>()
+       .allocate(std::declval<_Sz>(), std::declval<_Vp>()));
+    template<typename _Alloc, typename _Sz, typename _Vp, typename = void>
+      static constexpr bool __has_allocate_hint = false;
+    template<typename _Alloc, typename _Sz, typename _Vp>
+      static constexpr bool
+      __has_allocate_hint<_Alloc, _Sz, _Vp,
+     __void_t<__allocate_hint_t<_Alloc, _Sz, _Vp>>>
+ = true;
+# 152 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+    template<typename _Alloc, typename _Tp, typename... _Args>
+      using __construct_t
+ = decltype(std::declval<_Alloc&>().construct(std::declval<_Tp*>(),
+           std::declval<_Args>()...));
+    template<typename _Alloc, typename _Tp, typename, typename... _Args>
+      static constexpr bool __has_construct_impl = false;
+    template<typename _Alloc, typename _Tp, typename... _Args>
+      static constexpr bool
+      __has_construct_impl<_Alloc, _Tp,
+      __void_t<__construct_t<_Alloc, _Tp, _Args...>>,
+      _Args...>
+ = true;
+    template<typename _Alloc, typename _Tp, typename... _Args>
+      static constexpr bool __has_construct
+ = __has_construct_impl<_Alloc, _Tp, void, _Args...>;
+    template<typename _Tp, typename... _Args>
+      using __new_expr_t
+ = decltype(::new((void*)0) _Tp(std::declval<_Args>()...));
+    template<typename _Tp, typename, typename... _Args>
+      static constexpr bool __has_new_expr = false;
+    template<typename _Tp, typename... _Args>
+      static constexpr bool
+      __has_new_expr<_Tp, __void_t<__new_expr_t<_Tp, _Args...>>, _Args...>
+ = true;
+    template<typename _Alloc, typename _Tp, typename... _Args>
+      static constexpr bool __can_construct
+ = __has_construct<_Alloc, _Tp, _Args...>
+     || __has_new_expr<_Tp, void, _Args...>;
+# 189 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+    template<typename _Alloc, typename _Tp>
+      using __destroy_t
+ = decltype(std::declval<_Alloc&>().destroy(std::declval<_Tp*>()));
+    template<typename _Alloc, typename _Tp, typename = void>
+      static constexpr bool __has_destroy = false;
+    template<typename _Alloc, typename _Tp>
+      static constexpr bool __has_destroy<_Alloc, _Tp,
+       __void_t<__destroy_t<_Alloc, _Tp>>>
+ = true;
+# 207 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+    template<typename _Alloc>
+      using __max_size_t = decltype(std::declval<const _Alloc&>().max_size());
+    template<typename _Alloc, typename = void>
+      static constexpr bool __has_max_size = false;
+    template<typename _Alloc>
+      static constexpr bool __has_max_size<_Alloc,
+        __void_t<__max_size_t<_Alloc>>>
+ = true;
+# 225 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+    template<typename _Alloc>
+      using __soccc_t
+ = decltype(std::declval<const _Alloc&>()
+       .select_on_container_copy_construction());
+    template<typename _Alloc, typename = void>
+      static constexpr bool __has_soccc = false;
+    template<typename _Alloc>
+      static constexpr bool __has_soccc<_Alloc, __void_t<__soccc_t<_Alloc>>>
+ = true;
+
+  };
+
+  template<typename _Alloc, typename _Up>
+    using __alloc_rebind
+      = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
+# 248 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+  template<typename _Alloc>
+    struct allocator_traits : __allocator_traits_base
+    {
+
+      typedef _Alloc allocator_type;
+
+      typedef typename _Alloc::value_type value_type;
+
+
+
+
+
+
+      using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
+
+    private:
+
+      template<template<typename> class _Func, typename _Tp, typename = void>
+ struct _Ptr
+ {
+   using type = typename pointer_traits<pointer>::template rebind<_Tp>;
+ };
+
+      template<template<typename> class _Func, typename _Tp>
+ struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
+ {
+   using type = _Func<_Alloc>;
+ };
+
+
+      template<typename _A2, typename _PtrT, typename = void>
+ struct _Diff
+ { using type = typename pointer_traits<_PtrT>::difference_type; };
+
+      template<typename _A2, typename _PtrT>
+ struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
+ { using type = typename _A2::difference_type; };
+
+
+      template<typename _A2, typename _DiffT, typename = void>
+ struct _Size : make_unsigned<_DiffT> { };
+
+      template<typename _A2, typename _DiffT>
+ struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
+ { using type = typename _A2::size_type; };
+
+    public:
+
+
+
+
+
+
+      using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
+
+
+
+
+
+
+
+      using void_pointer = typename _Ptr<__v_pointer, void>::type;
+
+
+
+
+
+
+
+      using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
+
+
+
+
+
+
+
+      using difference_type = typename _Diff<_Alloc, pointer>::type;
+
+
+
+
+
+
+
+      using size_type = typename _Size<_Alloc, difference_type>::type;
+
+
+
+
+
+
+
+      using propagate_on_container_copy_assignment
+ = __detected_or_t<false_type, __pocca, _Alloc>;
+
+
+
+
+
+
+
+      using propagate_on_container_move_assignment
+ = __detected_or_t<false_type, __pocma, _Alloc>;
+
+
+
+
+
+
+
+      using propagate_on_container_swap
+ = __detected_or_t<false_type, __pocs, _Alloc>;
+
+
+
+
+
+
+
+      using is_always_equal
+ = typename __detected_or_t<is_empty<_Alloc>, __equal, _Alloc>::type;
+
+      template<typename _Tp>
+ using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
+      template<typename _Tp>
+ using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
+# 383 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      [[__nodiscard__]] static pointer
+      allocate(_Alloc& __a, size_type __n)
+      { return __a.allocate(__n); }
+# 398 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      [[__nodiscard__]] static pointer
+      allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
+      {
+ if constexpr (__has_allocate_hint<_Alloc, size_type, const_void_pointer>)
+   return __a.allocate(__n, __hint);
+ else
+   return __a.allocate(__n);
+      }
+# 415 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      static void
+      deallocate(_Alloc& __a, pointer __p, size_type __n)
+      { __a.deallocate(__p, __n); }
+# 430 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      template<typename _Tp, typename... _Args>
+
+
+
+
+ static __enable_if_t<__can_construct<_Alloc, _Tp, _Args...>>
+
+ construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
+ noexcept(_S_nothrow_construct<_Tp, _Args...>())
+ {
+   if constexpr (__has_construct<_Alloc, _Tp, _Args...>)
+     __a.construct(__p, std::forward<_Args>(__args)...);
+   else
+     std::_Construct(__p, std::forward<_Args>(__args)...);
+ }
+# 454 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      template<typename _Tp>
+ static void
+ destroy(_Alloc& __a, _Tp* __p)
+ noexcept(_S_nothrow_destroy<_Tp>())
+ {
+   if constexpr (__has_destroy<_Alloc, _Tp>)
+     __a.destroy(__p);
+   else
+     std::_Destroy(__p);
+ }
+# 473 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      static size_type
+      max_size(const _Alloc& __a) noexcept
+      {
+ if constexpr (__has_max_size<_Alloc>)
+   return __a.max_size();
+ else
+
+
+   return __gnu_cxx::__numeric_traits<size_type>::__max
+     / sizeof(value_type);
+      }
+# 493 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      static _Alloc
+      select_on_container_copy_construction(const _Alloc& __rhs)
+      {
+ if constexpr (__has_soccc<_Alloc>)
+   return __rhs.select_on_container_copy_construction();
+ else
+   return __rhs;
+      }
+
+    private:
+
+      template<typename _Tp, typename... _Args>
+ static constexpr bool
+ _S_nothrow_construct(_Alloc* __a = nullptr, _Tp* __p = nullptr)
+ {
+   if constexpr (__has_construct<_Alloc, _Tp, _Args...>)
+     return noexcept(__a->construct(__p, std::declval<_Args>()...));
+   else
+     return __is_nothrow_new_constructible<_Tp, _Args...>;
+ }
+
+      template<typename _Tp>
+ static constexpr bool
+ _S_nothrow_destroy(_Alloc* __a = nullptr, _Tp* __p = nullptr)
+ {
+   if constexpr (__has_destroy<_Alloc, _Tp>)
+     return noexcept(__a->destroy(__p));
+   else
+     return is_nothrow_destructible<_Tp>::value;
+ }
+# 548 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+    };
+#pragma GCC diagnostic pop
+# 559 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+  template<typename _Tp>
+    struct allocator_traits<allocator<_Tp>>
+    {
+
+      using allocator_type = allocator<_Tp>;
+
+
+      using value_type = _Tp;
+
+
+      using pointer = _Tp*;
+
+
+      using const_pointer = const _Tp*;
+
+
+      using void_pointer = void*;
+
+
+      using const_void_pointer = const void*;
+
+
+      using difference_type = std::ptrdiff_t;
+
+
+      using size_type = std::size_t;
+
+
+      using propagate_on_container_copy_assignment = false_type;
+
+
+      using propagate_on_container_move_assignment = true_type;
+
+
+      using propagate_on_container_swap = false_type;
+
+
+      using is_always_equal = true_type;
+
+      template<typename _Up>
+ using rebind_alloc = allocator<_Up>;
+
+      template<typename _Up>
+ using rebind_traits = allocator_traits<allocator<_Up>>;
+# 611 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      [[__nodiscard__,__gnu__::__always_inline__]]
+      static pointer
+      allocate(allocator_type& __a, size_type __n)
+      { return __a.allocate(__n); }
+# 626 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      [[__nodiscard__,__gnu__::__always_inline__]]
+      static pointer
+      allocate(allocator_type& __a, size_type __n,
+        [[maybe_unused]] const_void_pointer __hint)
+      {
+
+ return __a.allocate(__n, __hint);
+
+
+
+      }
+# 646 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      [[__gnu__::__always_inline__]]
+      static void
+      deallocate(allocator_type& __a, pointer __p, size_type __n)
+      { __a.deallocate(__p, __n); }
+# 662 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      template<typename _Up, typename... _Args>
+ [[__gnu__::__always_inline__]]
+ static void
+ construct(allocator_type& __a __attribute__((__unused__)),
+    _Up* __p, _Args&&... __args)
+
+ noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
+
+
+
+ {
+
+   __a.construct(__p, std::forward<_Args>(__args)...);
+
+
+
+
+
+ }
+# 689 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      template<typename _Up>
+ [[__gnu__::__always_inline__]]
+ static void
+ destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
+ noexcept(is_nothrow_destructible<_Up>::value)
+ {
+
+   __a.destroy(__p);
+
+
+
+ }
+
+
+
+
+
+
+      [[__gnu__::__always_inline__]]
+      static size_type
+      max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
+      {
+
+ return __a.max_size();
+
+
+
+      }
+
+
+
+
+
+
+      [[__gnu__::__always_inline__]]
+      static allocator_type
+      select_on_container_copy_construction(const allocator_type& __rhs)
+      { return __rhs; }
+    };
+# 736 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+  template<>
+    struct allocator_traits<allocator<void>>
+    {
+
+      using allocator_type = allocator<void>;
+
+
+      using value_type = void;
+
+
+      using pointer = void*;
+
+
+      using const_pointer = const void*;
+
+
+      using void_pointer = void*;
+
+
+      using const_void_pointer = const void*;
+
+
+      using difference_type = std::ptrdiff_t;
+
+
+      using size_type = std::size_t;
+
+
+      using propagate_on_container_copy_assignment = false_type;
+
+
+      using propagate_on_container_move_assignment = true_type;
+
+
+      using propagate_on_container_swap = false_type;
+
+
+      using is_always_equal = true_type;
+
+      template<typename _Up>
+ using rebind_alloc = allocator<_Up>;
+
+      template<typename _Up>
+ using rebind_traits = allocator_traits<allocator<_Up>>;
+
+
+      static void*
+      allocate(allocator_type&, size_type, const void* = nullptr) = delete;
+
+
+      static void
+      deallocate(allocator_type&, void*, size_type) = delete;
+# 800 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      template<typename _Up, typename... _Args>
+ [[__gnu__::__always_inline__]]
+ static void
+ construct(allocator_type&, _Up* __p, _Args&&... __args)
+ noexcept(__is_nothrow_new_constructible<_Up, _Args...>)
+ { std::_Construct(__p, std::forward<_Args>(__args)...); }
+# 814 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+      template<typename _Up>
+ [[__gnu__::__always_inline__]]
+ static void
+ destroy(allocator_type&, _Up* __p)
+ noexcept(is_nothrow_destructible<_Up>::value)
+ { std::_Destroy(__p); }
+
+
+      static size_type
+      max_size(const allocator_type&) = delete;
+
+
+
+
+
+
+      [[__gnu__::__always_inline__]]
+      static allocator_type
+      select_on_container_copy_construction(const allocator_type& __rhs)
+      { return __rhs; }
+    };
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<typename _Alloc>
+    [[__gnu__::__always_inline__]]
+    constexpr inline void
+    __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
+    {
+      using __traits = allocator_traits<_Alloc>;
+      using __pocca =
+ typename __traits::propagate_on_container_copy_assignment::type;
+      if constexpr (__pocca::value)
+ __one = __two;
+    }
+
+  template<typename _Alloc>
+    [[__gnu__::__always_inline__]]
+    constexpr _Alloc
+    __alloc_on_copy(const _Alloc& __a)
+    {
+      typedef allocator_traits<_Alloc> __traits;
+      return __traits::select_on_container_copy_construction(__a);
+    }
+
+  template<typename _Alloc>
+    [[__gnu__::__always_inline__]]
+    constexpr inline void
+    __alloc_on_move(_Alloc& __one, _Alloc& __two)
+    {
+      using __traits = allocator_traits<_Alloc>;
+      using __pocma
+ = typename __traits::propagate_on_container_move_assignment::type;
+      if constexpr (__pocma::value)
+ __one = std::move(__two);
+    }
+
+  template<typename _Alloc>
+    [[__gnu__::__always_inline__]]
+    constexpr inline void
+    __alloc_on_swap(_Alloc& __one, _Alloc& __two)
+    {
+      using __traits = allocator_traits<_Alloc>;
+      using __pocs = typename __traits::propagate_on_container_swap::type;
+      if constexpr (__pocs::value)
+ {
+   using std::swap;
+   swap(__one, __two);
+ }
+    }
+#pragma GCC diagnostic pop
+
+  template<typename _Alloc, typename _Tp,
+    typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
+    typename = void>
+    struct __is_alloc_insertable_impl
+    : false_type
+    { };
+
+  template<typename _Alloc, typename _Tp, typename _ValueT>
+    struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
+      __void_t<decltype(allocator_traits<_Alloc>::construct(
+     std::declval<_Alloc&>(), std::declval<_ValueT*>(),
+     std::declval<_Tp>()))>>
+    : true_type
+    { };
+
+
+
+
+  template<typename _Alloc>
+    struct __is_copy_insertable
+    : __is_alloc_insertable_impl<_Alloc,
+     typename _Alloc::value_type const&>::type
+    { };
+
+
+
+  template<typename _Tp>
+    struct __is_copy_insertable<allocator<_Tp>>
+    : is_copy_constructible<_Tp>
+    { };
+
+
+
+
+
+  template<typename _Alloc>
+    struct __is_move_insertable
+    : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
+    { };
+
+
+
+  template<typename _Tp>
+    struct __is_move_insertable<allocator<_Tp>>
+    : is_move_constructible<_Tp>
+    { };
+
+
+
+  template<typename _Alloc, typename = void>
+    struct __is_allocator : false_type { };
+
+  template<typename _Alloc>
+    struct __is_allocator<_Alloc,
+      __void_t<typename _Alloc::value_type,
+        decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
+    : true_type { };
+
+  template<typename _Alloc>
+    using _RequireAllocator
+      = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
+
+  template<typename _Alloc>
+    using _RequireNotAllocator
+      = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
+# 970 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+  template<typename _Alloc, bool = __is_empty(_Alloc)>
+    struct __alloc_swap
+    { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
+
+  template<typename _Alloc>
+    struct __alloc_swap<_Alloc, false>
+    {
+      static void
+      _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
+      {
+
+ if (__one != __two)
+   swap(__one, __two);
+      }
+    };
+
+
+  template<typename _Tp, bool
+    = __or_<is_copy_constructible<typename _Tp::value_type>,
+            is_nothrow_move_constructible<typename _Tp::value_type>>::value>
+    struct __shrink_to_fit_aux
+    { static bool _S_do_it(_Tp&) noexcept { return false; } };
+
+  template<typename _Tp>
+    struct __shrink_to_fit_aux<_Tp, true>
+    {
+
+      static bool
+      _S_do_it(_Tp& __c) noexcept
+      {
+
+ try
+   {
+     _Tp(__make_move_if_noexcept_iterator(__c.begin()),
+  __make_move_if_noexcept_iterator(__c.end()),
+  __c.get_allocator()).swap(__c);
+     return true;
+   }
+ catch(...)
+   { return false; }
+
+
+
+      }
+    };
+# 1023 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
+  template<typename _ForwardIterator, typename _Allocator>
+
+    void
+    _Destroy(_ForwardIterator __first, _ForwardIterator __last,
+      _Allocator& __alloc)
+    {
+      for (; __first != __last; ++__first)
+
+
+
+ allocator_traits<_Allocator>::destroy(__alloc,
+           std::__addressof(*__first));
+
+    }
+
+
+  template<typename _ForwardIterator, typename _Tp>
+    __attribute__((__always_inline__))
+    inline void
+    _Destroy(_ForwardIterator __first, _ForwardIterator __last,
+      allocator<_Tp>&)
+    {
+      std::_Destroy(__first, __last);
+    }
+
+
+
+
+
+}
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 2 3
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+template<typename _Alloc, typename = typename _Alloc::value_type>
+  struct __alloc_traits
+
+  : std::allocator_traits<_Alloc>
+
+  {
+    typedef _Alloc allocator_type;
+
+    typedef std::allocator_traits<_Alloc> _Base_type;
+    typedef typename _Base_type::value_type value_type;
+    typedef typename _Base_type::pointer pointer;
+    typedef typename _Base_type::const_pointer const_pointer;
+    typedef typename _Base_type::size_type size_type;
+    typedef typename _Base_type::difference_type difference_type;
+
+    typedef value_type& reference;
+    typedef const value_type& const_reference;
+    using _Base_type::allocate;
+    using _Base_type::deallocate;
+    using _Base_type::construct;
+    using _Base_type::destroy;
+    using _Base_type::max_size;
+
+  private:
+    template<typename _Ptr>
+      using __is_custom_pointer
+ = std::__and_<std::is_same<pointer, _Ptr>,
+        std::__not_<std::is_pointer<_Ptr>>>;
+
+  public:
+
+    template<typename _Ptr, typename... _Args>
+      [[__gnu__::__always_inline__]]
+      static constexpr
+      std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
+      construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
+      noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
+           std::forward<_Args>(__args)...)))
+      {
+ _Base_type::construct(__a, std::__to_address(__p),
+         std::forward<_Args>(__args)...);
+      }
+
+
+    template<typename _Ptr>
+      [[__gnu__::__always_inline__]]
+      static constexpr
+      std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
+      destroy(_Alloc& __a, _Ptr __p)
+      noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
+      { _Base_type::destroy(__a, std::__to_address(__p)); }
+
+    [[__gnu__::__always_inline__]]
+    static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
+    { return _Base_type::select_on_container_copy_construction(__a); }
+
+    [[__gnu__::__always_inline__]]
+    static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
+    { std::__alloc_on_swap(__a, __b); }
+
+    [[__gnu__::__always_inline__]]
+    static constexpr bool _S_propagate_on_copy_assign()
+    { return _Base_type::propagate_on_container_copy_assignment::value; }
+
+    [[__gnu__::__always_inline__]]
+    static constexpr bool _S_propagate_on_move_assign()
+    { return _Base_type::propagate_on_container_move_assignment::value; }
+
+    [[__gnu__::__always_inline__]]
+    static constexpr bool _S_propagate_on_swap()
+    { return _Base_type::propagate_on_container_swap::value; }
+
+    [[__gnu__::__always_inline__]]
+    static constexpr bool _S_always_equal()
+    { return _Base_type::is_always_equal::value; }
+
+    __attribute__((__always_inline__))
+    static constexpr bool _S_nothrow_move()
+    { return _S_propagate_on_move_assign() || _S_always_equal(); }
+
+    template<typename _Tp>
+      struct rebind
+      { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
+# 182 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 3
+  };
+
+
+}
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
+
+
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 1 3
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 2 3
+
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
+  template<typename _Result, typename _Arg>
+    struct __hash_base
+    {
+
+      typedef _Result result_type [[__deprecated__]];
+      typedef _Arg argument_type [[__deprecated__]];
+
+    };
+
+
+
+  template<typename _Tp> struct __hash_empty_base { };
+
+
+
+  template<typename _Tp>
+    struct hash;
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++14-extensions"
+  template<typename _Tp, typename = void>
+    constexpr bool __is_hash_enabled_for = false;
+
+  template<typename _Tp>
+    constexpr bool
+    __is_hash_enabled_for<_Tp,
+     __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
+      = true;
+#pragma GCC diagnostic pop
+
+
+  template<typename _Tp>
+    struct __hash_not_enabled
+    {
+      __hash_not_enabled(__hash_not_enabled&&) = delete;
+      ~__hash_not_enabled() = delete;
+    };
+
+
+  template<typename _Tp, bool = true>
+    struct __hash_enum : public __hash_base<size_t, _Tp>
+    {
+      size_t
+      operator()(_Tp __val) const noexcept
+      {
+       using __type = typename underlying_type<_Tp>::type;
+       return hash<__type>{}(static_cast<__type>(__val));
+      }
+    };
+
+
+  template<typename _Tp>
+    struct hash
+    : __conditional_t<__is_enum(_Tp), __hash_enum<_Tp>, __hash_not_enabled<_Tp>>
+    { };
+
+
+  template<typename _Tp>
+    struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
+    {
+      size_t
+      operator()(_Tp* __p) const noexcept
+      { return reinterpret_cast<size_t>(__p); }
+    };
+# 128 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
+  template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+
+
+
+
+
+  template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
+
+
+  __extension__
+  template<> struct hash<__int128> : public __hash_base<size_t, __int128> { size_t operator()(__int128 __val) const noexcept { return static_cast<size_t>(__val); } };
+  __extension__
+  template<> struct hash<__int128 unsigned> : public __hash_base<size_t, __int128 unsigned> { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast<size_t>(__val); } };
+# 204 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
+  struct _Hash_impl
+  {
+    static size_t
+    hash(const void* __ptr, size_t __clength,
+  size_t __seed = static_cast<size_t>(0xc70f6907UL))
+    { return _Hash_bytes(__ptr, __clength, __seed); }
+
+    template<typename _Tp>
+      static size_t
+      hash(const _Tp& __val)
+      { return hash(&__val, sizeof(__val)); }
+
+    template<typename _Tp>
+      static size_t
+      __hash_combine(const _Tp& __val, size_t __hash)
+      { return hash(&__val, sizeof(__val), __hash); }
+  };
+
+
+  struct _Fnv_hash_impl
+  {
+    static size_t
+    hash(const void* __ptr, size_t __clength,
+  size_t __seed = static_cast<size_t>(2166136261UL))
+    { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
+
+    template<typename _Tp>
+      static size_t
+      hash(const _Tp& __val)
+      { return hash(&__val, sizeof(__val)); }
+
+    template<typename _Tp>
+      static size_t
+      __hash_combine(const _Tp& __val, size_t __hash)
+      { return hash(&__val, sizeof(__val), __hash); }
+  };
+
+
+  template<>
+    struct hash<float> : public __hash_base<size_t, float>
+    {
+      size_t
+      operator()(float __val) const noexcept
+      {
+
+ return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
+      }
+    };
+
+
+  template<>
+    struct hash<double> : public __hash_base<size_t, double>
+    {
+      size_t
+      operator()(double __val) const noexcept
+      {
+
+ return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
+      }
+    };
+
+
+  template<>
+    struct hash<long double>
+    : public __hash_base<size_t, long double>
+    {
+      __attribute__ ((__pure__)) size_t
+      operator()(long double __val) const noexcept;
+    };
+
+
+  template<>
+    struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
+    {
+      size_t
+      operator()(nullptr_t) const noexcept
+      { return 0; }
+    };
+# 297 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
+  template<typename _Hash>
+    struct __is_fast_hash : public std::true_type
+    { };
+
+  template<>
+    struct __is_fast_hash<hash<long double>> : public std::false_type
+    { };
+
+
+}
+# 53 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 2 3
+# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  constexpr size_t
+  __sv_check(size_t __size, size_t __pos, const char* __s)
+  {
+    if (__pos > __size)
+      __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)"), __s, __pos, __size);
+
+    return __pos;
+  }
+
+
+
+  constexpr size_t
+  __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
+  {
+   const bool __testoff = __off < __size - __pos;
+   return __testoff ? __off : __size - __pos;
+  }
+# 107 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+  template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
+    class basic_string_view
+    {
+      static_assert(!is_array_v<_CharT>);
+      static_assert(is_trivially_copyable_v<_CharT>
+   && is_trivially_default_constructible_v<_CharT>
+   && is_standard_layout_v<_CharT>);
+      static_assert(is_same_v<_CharT, typename _Traits::char_type>);
+
+    public:
+
+
+      using traits_type = _Traits;
+      using value_type = _CharT;
+      using pointer = value_type*;
+      using const_pointer = const value_type*;
+      using reference = value_type&;
+      using const_reference = const value_type&;
+      using const_iterator = const value_type*;
+      using iterator = const_iterator;
+      using const_reverse_iterator = std::reverse_iterator<const_iterator>;
+      using reverse_iterator = const_reverse_iterator;
+      using size_type = size_t;
+      using difference_type = ptrdiff_t;
+      static constexpr size_type npos = size_type(-1);
+
+
+
+      constexpr
+      basic_string_view() noexcept
+      : _M_len{0}, _M_str{nullptr}
+      { }
+
+      constexpr basic_string_view(const basic_string_view&) noexcept = default;
+
+      [[__gnu__::__nonnull__]]
+      constexpr
+      basic_string_view(const _CharT* __str) noexcept
+      : _M_len{traits_type::length(__str)},
+ _M_str{__str}
+      { }
+
+      constexpr
+      basic_string_view(const _CharT* __str, size_type __len) noexcept
+      : _M_len{__len}, _M_str{__str}
+      { }
+# 184 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+      constexpr basic_string_view&
+      operator=(const basic_string_view&) noexcept = default;
+
+
+
+      [[nodiscard]]
+      constexpr const_iterator
+      begin() const noexcept
+      { return this->_M_str; }
+
+      [[nodiscard]]
+      constexpr const_iterator
+      end() const noexcept
+      { return this->_M_str + this->_M_len; }
+
+      [[nodiscard]]
+      constexpr const_iterator
+      cbegin() const noexcept
+      { return this->_M_str; }
+
+      [[nodiscard]]
+      constexpr const_iterator
+      cend() const noexcept
+      { return this->_M_str + this->_M_len; }
+
+      [[nodiscard]]
+      constexpr const_reverse_iterator
+      rbegin() const noexcept
+      { return const_reverse_iterator(this->end()); }
+
+      [[nodiscard]]
+      constexpr const_reverse_iterator
+      rend() const noexcept
+      { return const_reverse_iterator(this->begin()); }
+
+      [[nodiscard]]
+      constexpr const_reverse_iterator
+      crbegin() const noexcept
+      { return const_reverse_iterator(this->end()); }
+
+      [[nodiscard]]
+      constexpr const_reverse_iterator
+      crend() const noexcept
+      { return const_reverse_iterator(this->begin()); }
+
+
+
+      [[nodiscard]]
+      constexpr size_type
+      size() const noexcept
+      { return this->_M_len; }
+
+      [[nodiscard]]
+      constexpr size_type
+      length() const noexcept
+      { return _M_len; }
+
+      [[nodiscard]]
+      constexpr size_type
+      max_size() const noexcept
+      {
+ return (npos - sizeof(size_type) - sizeof(void*))
+  / sizeof(value_type) / 4;
+      }
+
+      [[nodiscard]]
+      constexpr bool
+      empty() const noexcept
+      { return this->_M_len == 0; }
+
+
+
+      [[nodiscard]]
+      constexpr const_reference
+      operator[](size_type __pos) const noexcept
+      {
+ do { if (__builtin_expect(!bool(__pos < this->_M_len), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 260, __PRETTY_FUNCTION__, "__pos < this->_M_len"); } while (false);
+ return *(this->_M_str + __pos);
+      }
+
+      [[nodiscard]]
+      constexpr const_reference
+      at(size_type __pos) const
+      {
+ if (__pos >= _M_len)
+   __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)"), __pos, this->size());
+
+
+ return *(this->_M_str + __pos);
+      }
+
+      [[nodiscard]]
+      constexpr const_reference
+      front() const noexcept
+      {
+ do { if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 279, __PRETTY_FUNCTION__, "this->_M_len > 0"); } while (false);
+ return *this->_M_str;
+      }
+
+      [[nodiscard]]
+      constexpr const_reference
+      back() const noexcept
+      {
+ do { if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 287, __PRETTY_FUNCTION__, "this->_M_len > 0"); } while (false);
+ return *(this->_M_str + this->_M_len - 1);
+      }
+
+      [[nodiscard]]
+      constexpr const_pointer
+      data() const noexcept
+      { return this->_M_str; }
+
+
+
+      constexpr void
+      remove_prefix(size_type __n) noexcept
+      {
+ do { if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 301, __PRETTY_FUNCTION__, "this->_M_len >= __n"); } while (false);
+ this->_M_str += __n;
+ this->_M_len -= __n;
+      }
+
+      constexpr void
+      remove_suffix(size_type __n) noexcept
+      {
+ do { if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 309, __PRETTY_FUNCTION__, "this->_M_len >= __n"); } while (false);
+ this->_M_len -= __n;
+      }
+
+      constexpr void
+      swap(basic_string_view& __sv) noexcept
+      {
+ auto __tmp = *this;
+ *this = __sv;
+ __sv = __tmp;
+      }
+
+
+
+
+      size_type
+      copy(_CharT* __str, size_type __n, size_type __pos = 0) const
+      {
+                                          ;
+ __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
+ const size_type __rlen = std::min<size_t>(__n, _M_len - __pos);
+
+
+ traits_type::copy(__str, data() + __pos, __rlen);
+ return __rlen;
+      }
+
+      [[nodiscard]]
+      constexpr basic_string_view
+      substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
+      {
+ __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
+ const size_type __rlen = std::min<size_t>(__n, _M_len - __pos);
+ return basic_string_view{_M_str + __pos, __rlen};
+      }
+
+      [[nodiscard]]
+      constexpr int
+      compare(basic_string_view __str) const noexcept
+      {
+ const size_type __rlen = std::min(this->_M_len, __str._M_len);
+ int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
+ if (__ret == 0)
+   __ret = _S_compare(this->_M_len, __str._M_len);
+ return __ret;
+      }
+
+      [[nodiscard]]
+      constexpr int
+      compare(size_type __pos1, size_type __n1, basic_string_view __str) const
+      { return this->substr(__pos1, __n1).compare(__str); }
+
+      [[nodiscard]]
+      constexpr int
+      compare(size_type __pos1, size_type __n1,
+       basic_string_view __str, size_type __pos2, size_type __n2) const
+      {
+ return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
+      }
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr int
+      compare(const _CharT* __str) const noexcept
+      { return this->compare(basic_string_view{__str}); }
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr int
+      compare(size_type __pos1, size_type __n1, const _CharT* __str) const
+      { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
+
+      [[nodiscard]]
+      constexpr int
+      compare(size_type __pos1, size_type __n1,
+       const _CharT* __str, size_type __n2) const noexcept(false)
+      {
+ return this->substr(__pos1, __n1)
+     .compare(basic_string_view(__str, __n2));
+      }
+# 452 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+      [[nodiscard]]
+      constexpr size_type
+      find(basic_string_view __str, size_type __pos = 0) const noexcept
+      { return this->find(__str._M_str, __pos, __str._M_len); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find(_CharT __c, size_type __pos = 0) const noexcept;
+
+      [[nodiscard]]
+      constexpr size_type
+      find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr size_type
+      find(const _CharT* __str, size_type __pos = 0) const noexcept
+      { return this->find(__str, __pos, traits_type::length(__str)); }
+
+      [[nodiscard]]
+      constexpr size_type
+      rfind(basic_string_view __str, size_type __pos = npos) const noexcept
+      { return this->rfind(__str._M_str, __pos, __str._M_len); }
+
+      [[nodiscard]]
+      constexpr size_type
+      rfind(_CharT __c, size_type __pos = npos) const noexcept;
+
+      [[nodiscard]]
+      constexpr size_type
+      rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr size_type
+      rfind(const _CharT* __str, size_type __pos = npos) const noexcept
+      { return this->rfind(__str, __pos, traits_type::length(__str)); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
+      { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_first_of(_CharT __c, size_type __pos = 0) const noexcept
+      { return this->find(__c, __pos); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_first_of(const _CharT* __str, size_type __pos,
+      size_type __n) const noexcept;
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr size_type
+      find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
+      { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_last_of(basic_string_view __str,
+     size_type __pos = npos) const noexcept
+      { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_last_of(_CharT __c, size_type __pos=npos) const noexcept
+      { return this->rfind(__c, __pos); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_last_of(const _CharT* __str, size_type __pos,
+     size_type __n) const noexcept;
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr size_type
+      find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
+      { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_first_not_of(basic_string_view __str,
+   size_type __pos = 0) const noexcept
+      { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
+
+      [[nodiscard]]
+      constexpr size_type
+      find_first_not_of(const _CharT* __str,
+   size_type __pos, size_type __n) const noexcept;
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr size_type
+      find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
+      {
+ return this->find_first_not_of(__str, __pos,
+           traits_type::length(__str));
+      }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_last_not_of(basic_string_view __str,
+         size_type __pos = npos) const noexcept
+      { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
+
+      [[nodiscard]]
+      constexpr size_type
+      find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
+
+      [[nodiscard]]
+      constexpr size_type
+      find_last_not_of(const _CharT* __str,
+         size_type __pos, size_type __n) const noexcept;
+
+      [[nodiscard, __gnu__::__nonnull__]]
+      constexpr size_type
+      find_last_not_of(const _CharT* __str,
+         size_type __pos = npos) const noexcept
+      {
+ return this->find_last_not_of(__str, __pos,
+          traits_type::length(__str));
+      }
+
+    private:
+
+      static constexpr int
+      _S_compare(size_type __n1, size_type __n2) noexcept
+      {
+ using __limits = __gnu_cxx::__int_traits<int>;
+ const difference_type __diff = __n1 - __n2;
+ if (__diff > __limits::__max)
+   return __limits::__max;
+ if (__diff < __limits::__min)
+   return __limits::__min;
+ return static_cast<int>(__diff);
+      }
+
+      size_t _M_len;
+      const _CharT* _M_str;
+    };
+# 630 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator==(basic_string_view<_CharT, _Traits> __x,
+        __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
+    noexcept
+    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator==(basic_string_view<_CharT, _Traits> __x,
+        basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator!=(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return !(__x == __y); }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator!=(basic_string_view<_CharT, _Traits> __x,
+               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
+    noexcept
+    { return !(__x == __y); }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return !(__x == __y); }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator< (basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) < 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator< (basic_string_view<_CharT, _Traits> __x,
+               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
+    noexcept
+    { return __x.compare(__y) < 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) < 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator> (basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) > 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator> (basic_string_view<_CharT, _Traits> __x,
+               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
+    noexcept
+    { return __x.compare(__y) > 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) > 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator<=(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) <= 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator<=(basic_string_view<_CharT, _Traits> __x,
+               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
+    noexcept
+    { return __x.compare(__y) <= 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) <= 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator>=(basic_string_view<_CharT, _Traits> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) >= 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator>=(basic_string_view<_CharT, _Traits> __x,
+               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
+    noexcept
+    { return __x.compare(__y) >= 0; }
+
+  template<typename _CharT, typename _Traits>
+    [[nodiscard]]
+    constexpr bool
+    operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
+               basic_string_view<_CharT, _Traits> __y) noexcept
+    { return __x.compare(__y) >= 0; }
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __os,
+        basic_string_view<_CharT,_Traits> __str)
+    { return __ostream_insert(__os, __str.data(), __str.size()); }
+
+
+
+
+  using string_view = basic_string_view<char>;
+  using wstring_view = basic_string_view<wchar_t>;
+
+
+
+  using u16string_view = basic_string_view<char16_t>;
+  using u32string_view = basic_string_view<char32_t>;
+
+
+
+  template<typename _Tp>
+    struct hash;
+
+  template<>
+    struct hash<string_view>
+    : public __hash_base<size_t, string_view>
+    {
+      [[nodiscard]]
+      size_t
+      operator()(const string_view& __str) const noexcept
+      { return std::_Hash_impl::hash(__str.data(), __str.length()); }
+    };
+
+  template<>
+    struct __is_fast_hash<hash<string_view>> : std::false_type
+    { };
+
+  template<>
+    struct hash<wstring_view>
+    : public __hash_base<size_t, wstring_view>
+    {
+      [[nodiscard]]
+      size_t
+      operator()(const wstring_view& __s) const noexcept
+      { return std::_Hash_impl::hash(__s.data(),
+                                     __s.length() * sizeof(wchar_t)); }
+    };
+
+  template<>
+    struct __is_fast_hash<hash<wstring_view>> : std::false_type
+    { };
+# 832 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+  template<>
+    struct hash<u16string_view>
+    : public __hash_base<size_t, u16string_view>
+    {
+      [[nodiscard]]
+      size_t
+      operator()(const u16string_view& __s) const noexcept
+      { return std::_Hash_impl::hash(__s.data(),
+                                     __s.length() * sizeof(char16_t)); }
+    };
+
+  template<>
+    struct __is_fast_hash<hash<u16string_view>> : std::false_type
+    { };
+
+  template<>
+    struct hash<u32string_view>
+    : public __hash_base<size_t, u32string_view>
+    {
+      [[nodiscard]]
+      size_t
+      operator()(const u32string_view& __s) const noexcept
+      { return std::_Hash_impl::hash(__s.data(),
+                                     __s.length() * sizeof(char32_t)); }
+    };
+
+  template<>
+    struct __is_fast_hash<hash<u32string_view>> : std::false_type
+    { };
+
+  inline namespace literals
+  {
+  inline namespace string_view_literals
+  {
+#pragma GCC diagnostic push
+
+    inline constexpr basic_string_view<char>
+    operator""sv(const char* __str, size_t __len) noexcept
+    { return basic_string_view<char>{__str, __len}; }
+
+    inline constexpr basic_string_view<wchar_t>
+    operator""sv(const wchar_t* __str, size_t __len) noexcept
+    { return basic_string_view<wchar_t>{__str, __len}; }
+
+
+
+
+
+
+
+    inline constexpr basic_string_view<char16_t>
+    operator""sv(const char16_t* __str, size_t __len) noexcept
+    { return basic_string_view<char16_t>{__str, __len}; }
+
+    inline constexpr basic_string_view<char32_t>
+    operator""sv(const char32_t* __str, size_t __len) noexcept
+    { return basic_string_view<char32_t>{__str, __len}; }
+
+#pragma GCC diagnostic pop
+  }
+  }
+# 909 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/string_view.tcc" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/string_view.tcc" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
+    {
+                                               ;
+
+      if (__n == 0)
+ return __pos <= _M_len ? __pos : npos;
+      if (__pos >= _M_len)
+ return npos;
+
+      const _CharT __elem0 = __str[0];
+      const _CharT* __first = _M_str + __pos;
+      const _CharT* const __last = _M_str + _M_len;
+      size_type __len = _M_len - __pos;
+
+      while (__len >= __n)
+ {
+
+   __first = traits_type::find(__first, __len - __n + 1, __elem0);
+   if (!__first)
+     return npos;
+
+
+
+   if (traits_type::compare(__first, __str, __n) == 0)
+     return __first - _M_str;
+   __len = __last - ++__first;
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __ret = npos;
+      if (__pos < this->_M_len)
+ {
+   const size_type __n = this->_M_len - __pos;
+   const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
+   if (__p)
+     __ret = __p - this->_M_str;
+ }
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
+    {
+                                               ;
+
+      if (__n <= this->_M_len)
+ {
+   __pos = std::min(size_type(this->_M_len - __n), __pos);
+   do
+     {
+       if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
+  return __pos;
+     }
+   while (__pos-- > 0);
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    rfind(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __size = this->_M_len;
+      if (__size > 0)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   for (++__size; __size-- > 0; )
+     if (traits_type::eq(this->_M_str[__size], __c))
+       return __size;
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_first_of(const _CharT* __str, size_type __pos,
+    size_type __n) const noexcept
+    {
+                                               ;
+      for (; __n && __pos < this->_M_len; ++__pos)
+ {
+   const _CharT* __p = traits_type::find(__str, __n,
+      this->_M_str[__pos]);
+   if (__p)
+     return __pos;
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_last_of(const _CharT* __str, size_type __pos,
+   size_type __n) const noexcept
+    {
+                                               ;
+      size_type __size = this->size();
+      if (__size && __n)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   do
+     {
+       if (traits_type::find(__str, __n, this->_M_str[__size]))
+  return __size;
+     }
+   while (__size-- != 0);
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_first_not_of(const _CharT* __str, size_type __pos,
+        size_type __n) const noexcept
+    {
+                                               ;
+      for (; __pos < this->_M_len; ++__pos)
+ if (!traits_type::find(__str, __n, this->_M_str[__pos]))
+   return __pos;
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_first_not_of(_CharT __c, size_type __pos) const noexcept
+    {
+      for (; __pos < this->_M_len; ++__pos)
+ if (!traits_type::eq(this->_M_str[__pos], __c))
+   return __pos;
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_last_not_of(const _CharT* __str, size_type __pos,
+       size_type __n) const noexcept
+    {
+                                               ;
+      size_type __size = this->_M_len;
+      if (__size)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   do
+     {
+       if (!traits_type::find(__str, __n, this->_M_str[__size]))
+  return __size;
+     }
+   while (__size--);
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits>
+    constexpr typename basic_string_view<_CharT, _Traits>::size_type
+    basic_string_view<_CharT, _Traits>::
+    find_last_not_of(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __size = this->_M_len;
+      if (__size)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   do
+     {
+       if (!traits_type::eq(this->_M_str[__size], __c))
+  return __size;
+     }
+   while (__size--);
+ }
+      return npos;
+    }
+
+
+}
+# 912 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 2 3
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
+# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+namespace __cxx11 {
+# 93 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    class basic_string
+    {
+# 104 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
+ rebind<_CharT>::other _Char_alloc_type;
+
+
+      typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
+
+
+    public:
+      typedef _Traits traits_type;
+      typedef typename _Traits::char_type value_type;
+      typedef _Char_alloc_type allocator_type;
+      typedef typename _Alloc_traits::size_type size_type;
+      typedef typename _Alloc_traits::difference_type difference_type;
+      typedef typename _Alloc_traits::reference reference;
+      typedef typename _Alloc_traits::const_reference const_reference;
+      typedef typename _Alloc_traits::pointer pointer;
+      typedef typename _Alloc_traits::const_pointer const_pointer;
+      typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
+      typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
+       const_iterator;
+      typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
+      typedef std::reverse_iterator<iterator> reverse_iterator;
+
+
+      static const size_type npos = static_cast<size_type>(-1);
+
+    protected:
+
+
+
+
+      typedef const_iterator __const_iterator;
+
+
+    private:
+      static pointer
+      _S_allocate(_Char_alloc_type& __a, size_type __n)
+      {
+ pointer __p = _Alloc_traits::allocate(__a, __n);
+# 152 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+ return __p;
+      }
+
+
+
+      typedef basic_string_view<_CharT, _Traits> __sv_type;
+
+      template<typename _Tp, typename _Res>
+ using _If_sv = enable_if_t<
+   __and_<is_convertible<const _Tp&, __sv_type>,
+   __not_<is_convertible<const _Tp*, const basic_string*>>,
+   __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
+   _Res>;
+
+
+
+      static __sv_type
+      _S_to_string_view(__sv_type __svt) noexcept
+      { return __svt; }
+
+
+
+
+
+      struct __sv_wrapper
+      {
+                      explicit
+ __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
+
+ __sv_type _M_sv;
+      };
+# 191 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      explicit
+      basic_string(__sv_wrapper __svw, const _Alloc& __a)
+      : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
+
+
+
+      struct _Alloc_hider : allocator_type
+      {
+
+
+
+
+
+ _Alloc_hider(pointer __dat, const _Alloc& __a)
+ : allocator_type(__a), _M_p(__dat) { }
+
+
+ _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
+ : allocator_type(std::move(__a)), _M_p(__dat) { }
+
+
+ pointer _M_p;
+      };
+
+      _Alloc_hider _M_dataplus;
+      size_type _M_string_length;
+
+      enum { _S_local_capacity = 15 / sizeof(_CharT) };
+
+      union
+      {
+ _CharT _M_local_buf[_S_local_capacity + 1];
+ size_type _M_allocated_capacity;
+      };
+
+
+      void
+      _M_data(pointer __p)
+      { _M_dataplus._M_p = __p; }
+
+
+      void
+      _M_length(size_type __length)
+      { _M_string_length = __length; }
+
+
+      pointer
+      _M_data() const
+      { return _M_dataplus._M_p; }
+
+
+      pointer
+      _M_local_data()
+      {
+
+ return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
+
+
+
+      }
+
+
+      const_pointer
+      _M_local_data() const
+      {
+
+ return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
+
+
+
+      }
+
+
+      void
+      _M_capacity(size_type __capacity)
+      { _M_allocated_capacity = __capacity; }
+
+
+      void
+      _M_set_length(size_type __n)
+      {
+ _M_length(__n);
+ traits_type::assign(_M_data()[__n], _CharT());
+      }
+
+
+      bool
+      _M_is_local() const
+      {
+ if (_M_data() == _M_local_data())
+   {
+     if (_M_string_length > _S_local_capacity)
+       __builtin_unreachable();
+     return true;
+   }
+ return false;
+      }
+
+
+
+      pointer
+      _M_create(size_type&, size_type);
+
+
+      void
+      _M_dispose()
+      {
+ if (!_M_is_local())
+   _M_destroy(_M_allocated_capacity);
+      }
+
+
+      void
+      _M_destroy(size_type __size) throw()
+      { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
+# 332 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _InIterator>
+
+        void
+        _M_construct(_InIterator __beg, _InIterator __end,
+       std::input_iterator_tag);
+
+
+
+      template<typename _FwdIterator>
+
+        void
+        _M_construct(_FwdIterator __beg, _FwdIterator __end,
+       std::forward_iterator_tag);
+
+
+      void
+      _M_construct(size_type __req, _CharT __c);
+
+
+
+      template<bool _Terminated>
+
+ void
+ _M_construct(const _CharT *__c, size_type __n);
+
+
+      allocator_type&
+      _M_get_allocator()
+      { return _M_dataplus; }
+
+
+      const allocator_type&
+      _M_get_allocator() const
+      { return _M_dataplus; }
+
+
+      __attribute__((__always_inline__))
+      constexpr
+      void
+      _M_init_local_buf() noexcept
+      {
+
+
+
+
+
+      }
+
+      __attribute__((__always_inline__))
+      constexpr
+      pointer
+      _M_use_local_data() noexcept
+      {
+
+
+
+ return _M_local_data();
+      }
+
+    private:
+# 408 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      size_type
+      _M_check(size_type __pos, const char* __s) const
+      {
+ if (__pos > this->size())
+   __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)"),
+
+       __s, __pos, this->size());
+ return __pos;
+      }
+
+
+      void
+      _M_check_length(size_type __n1, size_type __n2, const char* __s) const
+      {
+ if (this->max_size() - (this->size() - __n1) < __n2)
+   __throw_length_error((__s));
+      }
+
+
+
+
+      size_type
+      _M_limit(size_type __pos, size_type __off) const noexcept
+      {
+ const bool __testoff = __off < this->size() - __pos;
+ return __testoff ? __off : this->size() - __pos;
+      }
+
+
+      bool
+      _M_disjunct(const _CharT* __s) const noexcept
+      {
+ return (less<const _CharT*>()(__s, _M_data())
+  || less<const _CharT*>()(_M_data() + this->size(), __s));
+      }
+
+
+
+
+      static void
+      _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
+      {
+ if (__n == 1)
+   traits_type::assign(*__d, *__s);
+ else
+   traits_type::copy(__d, __s, __n);
+      }
+
+
+      static void
+      _S_move(_CharT* __d, const _CharT* __s, size_type __n)
+      {
+ if (__n == 1)
+   traits_type::assign(*__d, *__s);
+ else
+   traits_type::move(__d, __s, __n);
+      }
+
+
+      static void
+      _S_assign(_CharT* __d, size_type __n, _CharT __c)
+      {
+ if (__n == 1)
+   traits_type::assign(*__d, __c);
+ else
+   traits_type::assign(__d, __n, __c);
+      }
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+
+
+      template<class _Iterator>
+
+        static void
+        _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
+        {
+
+   using _IterBase = decltype(std::__niter_base(__k1));
+   if constexpr (__or_<is_same<_IterBase, _CharT*>,
+         is_same<_IterBase, const _CharT*>>::value)
+     _S_copy(__p, std::__niter_base(__k1), __k2 - __k1);
+# 502 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+   else
+
+   for (; __k1 != __k2; ++__k1, (void)++__p)
+     traits_type::assign(*__p, static_cast<_CharT>(*__k1));
+ }
+#pragma GCC diagnostic pop
+# 550 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      static int
+      _S_compare(size_type __n1, size_type __n2) noexcept
+      {
+ const difference_type __d = difference_type(__n1 - __n2);
+
+ if (__d > __gnu_cxx::__numeric_traits<int>::__max)
+   return __gnu_cxx::__numeric_traits<int>::__max;
+ else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
+   return __gnu_cxx::__numeric_traits<int>::__min;
+ else
+   return int(__d);
+      }
+
+
+      void
+      _M_assign(const basic_string&);
+
+
+      void
+      _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
+  size_type __len2);
+
+
+      void
+      _M_erase(size_type __pos, size_type __n);
+
+    public:
+# 585 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string()
+      noexcept(is_nothrow_default_constructible<_Alloc>::value)
+
+
+
+      : _M_dataplus(_M_local_data())
+      {
+ _M_init_local_buf();
+ _M_set_length(0);
+      }
+
+
+
+
+
+      explicit
+      basic_string(const _Alloc& __a) noexcept
+      : _M_dataplus(_M_local_data(), __a)
+      {
+ _M_init_local_buf();
+ _M_set_length(0);
+      }
+
+
+
+
+
+
+      basic_string(const basic_string& __str)
+      : _M_dataplus(_M_local_data(),
+      _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
+      {
+ _M_construct<true>(__str._M_data(), __str.length());
+      }
+# 629 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string(const basic_string& __str, size_type __pos,
+     const _Alloc& __a = _Alloc())
+      : _M_dataplus(_M_local_data(), __a)
+      {
+ const _CharT* __start = __str._M_data()
+   + __str._M_check(__pos, "basic_string::basic_string");
+ _M_construct(__start, __start + __str._M_limit(__pos, npos),
+       std::forward_iterator_tag());
+      }
+# 646 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string(const basic_string& __str, size_type __pos,
+     size_type __n)
+      : _M_dataplus(_M_local_data())
+      {
+ const _CharT* __start = __str._M_data()
+   + __str._M_check(__pos, "basic_string::basic_string");
+ _M_construct(__start, __start + __str._M_limit(__pos, __n),
+       std::forward_iterator_tag());
+      }
+# 664 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string(const basic_string& __str, size_type __pos,
+     size_type __n, const _Alloc& __a)
+      : _M_dataplus(_M_local_data(), __a)
+      {
+ const _CharT* __start
+   = __str._M_data() + __str._M_check(__pos, "string::string");
+ _M_construct(__start, __start + __str._M_limit(__pos, __n),
+       std::forward_iterator_tag());
+      }
+# 684 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string(const _CharT* __s, size_type __n,
+     const _Alloc& __a = _Alloc())
+      : _M_dataplus(_M_local_data(), __a)
+      {
+
+ if (__s == 0 && __n > 0)
+   std::__throw_logic_error(("basic_string: " "construction from null is not valid"));
+
+ _M_construct(__s, __s + __n, std::forward_iterator_tag());
+      }
+# 703 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename = _RequireAllocator<_Alloc>>
+
+
+      basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
+      : _M_dataplus(_M_local_data(), __a)
+      {
+
+ if (__s == 0)
+   std::__throw_logic_error(("basic_string: " "construction from null is not valid"));
+
+ const _CharT* __end = __s + traits_type::length(__s);
+ _M_construct(__s, __end, forward_iterator_tag());
+      }
+# 726 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename = _RequireAllocator<_Alloc>>
+
+
+      basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
+      : _M_dataplus(_M_local_data(), __a)
+      { _M_construct(__n, __c); }
+# 742 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string(basic_string&& __str) noexcept
+      : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
+      {
+ if (__str._M_is_local())
+   {
+     _M_init_local_buf();
+     traits_type::copy(_M_local_buf, __str._M_local_buf,
+         __str.length() + 1);
+   }
+ else
+   {
+     _M_data(__str._M_data());
+     _M_capacity(__str._M_allocated_capacity);
+   }
+
+
+
+
+ _M_length(__str.length());
+ __str._M_data(__str._M_use_local_data());
+ __str._M_set_length(0);
+      }
+# 798 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
+      : _M_dataplus(_M_local_data(), __a)
+      { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
+
+
+      basic_string(const basic_string& __str, const _Alloc& __a)
+      : _M_dataplus(_M_local_data(), __a)
+      { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
+
+
+      basic_string(basic_string&& __str, const _Alloc& __a)
+      noexcept(_Alloc_traits::_S_always_equal())
+      : _M_dataplus(_M_local_data(), __a)
+      {
+ if (__str._M_is_local())
+   {
+     _M_init_local_buf();
+     traits_type::copy(_M_local_buf, __str._M_local_buf,
+         __str.length() + 1);
+     _M_length(__str.length());
+     __str._M_set_length(0);
+   }
+ else if (_Alloc_traits::_S_always_equal()
+     || __str.get_allocator() == __a)
+   {
+     _M_data(__str._M_data());
+     _M_length(__str.length());
+     _M_capacity(__str._M_allocated_capacity);
+     __str._M_data(__str._M_use_local_data());
+     __str._M_set_length(0);
+   }
+ else
+   _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
+      }
+# 846 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _InputIterator,
+        typename = std::_RequireInputIter<_InputIterator>>
+
+
+
+
+        basic_string(_InputIterator __beg, _InputIterator __end,
+       const _Alloc& __a = _Alloc())
+ : _M_dataplus(_M_local_data(), __a), _M_string_length(0)
+ {
+
+   _M_construct(__beg, __end, std::__iterator_category(__beg));
+
+
+
+
+ }
+# 872 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp,
+        typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
+
+ basic_string(const _Tp& __t, size_type __pos, size_type __n,
+       const _Alloc& __a = _Alloc())
+ : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
+
+
+
+
+
+
+      template<typename _Tp, typename = _If_sv<_Tp, void>>
+
+ explicit
+ basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
+ : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
+
+
+
+
+
+
+      ~basic_string()
+      { _M_dispose(); }
+
+
+
+
+
+
+      basic_string&
+      operator=(const basic_string& __str)
+      {
+ return this->assign(__str);
+      }
+
+
+
+
+
+
+      basic_string&
+      operator=(const _CharT* __s)
+      { return this->assign(__s); }
+# 926 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      operator=(_CharT __c)
+      {
+ this->assign(1, __c);
+ return *this;
+      }
+# 944 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      operator=(basic_string&& __str)
+      noexcept(_Alloc_traits::_S_nothrow_move())
+      {
+ const bool __equal_allocs = _Alloc_traits::_S_always_equal()
+   || _M_get_allocator() == __str._M_get_allocator();
+ if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
+     && !__equal_allocs)
+   {
+
+     _M_destroy(_M_allocated_capacity);
+     _M_data(_M_local_data());
+     _M_set_length(0);
+   }
+
+ std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
+
+ if (__str._M_is_local())
+   {
+
+
+
+     if (__builtin_expect(std::__addressof(__str) != this, true))
+       {
+  if (__str.size())
+    this->_S_copy(_M_data(), __str._M_data(), __str.size());
+  _M_set_length(__str.size());
+       }
+   }
+ else if (_Alloc_traits::_S_propagate_on_move_assign() || __equal_allocs)
+   {
+
+     pointer __data = nullptr;
+     size_type __capacity;
+     if (!_M_is_local())
+       {
+  if (__equal_allocs)
+    {
+
+      __data = _M_data();
+      __capacity = _M_allocated_capacity;
+    }
+  else
+    _M_destroy(_M_allocated_capacity);
+       }
+
+     _M_data(__str._M_data());
+     _M_length(__str.length());
+     _M_capacity(__str._M_allocated_capacity);
+     if (__data)
+       {
+  __str._M_data(__data);
+  __str._M_capacity(__capacity);
+       }
+     else
+       __str._M_data(__str._M_use_local_data());
+   }
+ else
+   _M_assign(__str);
+ __str.clear();
+ return *this;
+      }
+
+
+
+
+
+
+      basic_string&
+      operator=(initializer_list<_CharT> __l)
+      {
+ this->assign(__l.begin(), __l.size());
+ return *this;
+      }
+
+
+
+
+
+
+
+     template<typename _Tp>
+
+       _If_sv<_Tp, basic_string&>
+       operator=(const _Tp& __svt)
+       { return this->assign(__svt); }
+
+
+
+
+
+
+      operator __sv_type() const noexcept
+      { return __sv_type(data(), size()); }
+
+
+
+
+
+
+
+      [[__nodiscard__]]
+      iterator
+      begin() noexcept
+      { return iterator(_M_data()); }
+
+
+
+
+
+      [[__nodiscard__]]
+      const_iterator
+      begin() const noexcept
+      { return const_iterator(_M_data()); }
+
+
+
+
+
+      [[__nodiscard__]]
+      iterator
+      end() noexcept
+      { return iterator(_M_data() + this->size()); }
+
+
+
+
+
+      [[__nodiscard__]]
+      const_iterator
+      end() const noexcept
+      { return const_iterator(_M_data() + this->size()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      reverse_iterator
+      rbegin() noexcept
+      { return reverse_iterator(this->end()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      const_reverse_iterator
+      rbegin() const noexcept
+      { return const_reverse_iterator(this->end()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      reverse_iterator
+      rend() noexcept
+      { return reverse_iterator(this->begin()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      const_reverse_iterator
+      rend() const noexcept
+      { return const_reverse_iterator(this->begin()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      const_iterator
+      cbegin() const noexcept
+      { return const_iterator(this->_M_data()); }
+
+
+
+
+
+      [[__nodiscard__]]
+      const_iterator
+      cend() const noexcept
+      { return const_iterator(this->_M_data() + this->size()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      const_reverse_iterator
+      crbegin() const noexcept
+      { return const_reverse_iterator(this->end()); }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      const_reverse_iterator
+      crend() const noexcept
+      { return const_reverse_iterator(this->begin()); }
+
+
+    public:
+
+
+
+      [[__nodiscard__]]
+      size_type
+      size() const noexcept
+      {
+ size_type __sz = _M_string_length;
+ if (__sz > max_size ())
+   __builtin_unreachable ();
+ return __sz;
+      }
+
+
+
+      [[__nodiscard__]]
+      size_type
+      length() const noexcept
+      { return size(); }
+
+
+      [[__nodiscard__]]
+      size_type
+      max_size() const noexcept
+      {
+ const size_t __diffmax
+   = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_CharT);
+ const size_t __allocmax = _Alloc_traits::max_size(_M_get_allocator());
+ return (std::min)(__diffmax, __allocmax) - 1;
+      }
+# 1200 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      void
+      resize(size_type __n, _CharT __c);
+# 1214 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      void
+      resize(size_type __n)
+      { this->resize(__n, _CharT()); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+      void
+      shrink_to_fit() noexcept
+      { reserve(); }
+#pragma GCC diagnostic pop
+# 1266 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Operation>
+                      void
+ __resize_and_overwrite(size_type __n, _Operation __op);
+
+
+
+
+
+
+      [[__nodiscard__]]
+      size_type
+      capacity() const noexcept
+      {
+ size_t __sz = _M_is_local() ? size_type(_S_local_capacity)
+         : _M_allocated_capacity;
+ if (__sz < _S_local_capacity || __sz > max_size ())
+   __builtin_unreachable ();
+ return __sz;
+      }
+# 1304 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      void
+      reserve(size_type __res_arg);
+# 1314 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      void
+      reserve();
+
+
+
+
+
+      void
+      clear() noexcept
+      { _M_set_length(0); }
+
+
+
+
+
+      [[__nodiscard__]]
+      bool
+      empty() const noexcept
+      { return _M_string_length == 0; }
+# 1345 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      const_reference
+      operator[] (size_type __pos) const noexcept
+      {
+ do { if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1349, __PRETTY_FUNCTION__, "__pos <= size()"); } while (false);
+ return _M_data()[__pos];
+      }
+# 1363 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      reference
+      operator[](size_type __pos)
+      {
+
+
+ do { if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1369, __PRETTY_FUNCTION__, "__pos <= size()"); } while (false);
+
+                                                                   ;
+ return _M_data()[__pos];
+      }
+# 1385 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      const_reference
+      at(size_type __n) const
+      {
+ if (__n >= this->size())
+   __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)"),
+
+
+       __n, this->size());
+ return _M_data()[__n];
+      }
+# 1407 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      reference
+      at(size_type __n)
+      {
+ if (__n >= size())
+   __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)"),
+
+
+       __n, this->size());
+ return _M_data()[__n];
+      }
+
+
+
+
+
+
+      [[__nodiscard__]]
+      reference
+      front() noexcept
+      {
+ do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1428, __PRETTY_FUNCTION__, "!empty()"); } while (false);
+ return operator[](0);
+      }
+
+
+
+
+
+      [[__nodiscard__]]
+      const_reference
+      front() const noexcept
+      {
+ do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1440, __PRETTY_FUNCTION__, "!empty()"); } while (false);
+ return operator[](0);
+      }
+
+
+
+
+
+      [[__nodiscard__]]
+      reference
+      back() noexcept
+      {
+ do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1452, __PRETTY_FUNCTION__, "!empty()"); } while (false);
+ return operator[](this->size() - 1);
+      }
+
+
+
+
+
+      [[__nodiscard__]]
+      const_reference
+      back() const noexcept
+      {
+ do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1464, __PRETTY_FUNCTION__, "!empty()"); } while (false);
+ return operator[](this->size() - 1);
+      }
+# 1476 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      operator+=(const basic_string& __str)
+      { return this->append(__str); }
+
+
+
+
+
+
+
+      basic_string&
+      operator+=(const _CharT* __s)
+      { return this->append(__s); }
+
+
+
+
+
+
+
+      basic_string&
+      operator+=(_CharT __c)
+      {
+ this->push_back(__c);
+ return *this;
+      }
+# 1510 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      operator+=(initializer_list<_CharT> __l)
+      { return this->append(__l.begin(), __l.size()); }
+# 1521 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ operator+=(const _Tp& __svt)
+ { return this->append(__svt); }
+# 1534 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      append(const basic_string& __str)
+      { return this->append(__str._M_data(), __str.size()); }
+# 1552 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      append(const basic_string& __str, size_type __pos, size_type __n = npos)
+      { return this->append(__str._M_data()
+       + __str._M_check(__pos, "basic_string::append"),
+       __str._M_limit(__pos, __n)); }
+# 1565 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      append(const _CharT* __s, size_type __n)
+      {
+                                        ;
+ _M_check_length(size_type(0), __n, "basic_string::append");
+ return _M_append(__s, __n);
+      }
+
+
+
+
+
+
+
+      basic_string&
+      append(const _CharT* __s)
+      {
+                               ;
+ const size_type __n = traits_type::length(__s);
+ _M_check_length(size_type(0), __n, "basic_string::append");
+ return _M_append(__s, __n);
+      }
+# 1597 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      append(size_type __n, _CharT __c)
+      { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
+# 1660 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      append(initializer_list<_CharT> __l)
+      { return this->append(__l.begin(), __l.size()); }
+# 1674 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<class _InputIterator,
+        typename = std::_RequireInputIter<_InputIterator>>
+
+
+
+
+        basic_string&
+        append(_InputIterator __first, _InputIterator __last)
+        { return this->replace(end(), end(), __first, __last); }
+
+
+
+
+
+
+
+      template<typename _Tp>
+
+        _If_sv<_Tp, basic_string&>
+        append(const _Tp& __svt)
+        {
+          __sv_type __sv = __svt;
+          return this->append(__sv.data(), __sv.size());
+        }
+# 1706 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+        _If_sv<_Tp, basic_string&>
+ append(const _Tp& __svt, size_type __pos, size_type __n = npos)
+ {
+   __sv_type __sv = __svt;
+   return _M_append(__sv.data()
+       + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
+       std::__sv_limit(__sv.size(), __pos, __n));
+ }
+
+
+
+
+
+
+
+      void
+      push_back(_CharT __c)
+      {
+ const size_type __size = this->size();
+ if (__size + 1 > this->capacity())
+   this->_M_mutate(__size, size_type(0), 0, size_type(1));
+ traits_type::assign(this->_M_data()[__size], __c);
+ this->_M_set_length(__size + 1);
+      }
+
+
+
+
+
+
+
+      basic_string&
+      assign(const basic_string& __str)
+      {
+
+ if (_Alloc_traits::_S_propagate_on_copy_assign())
+   {
+     if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
+  && _M_get_allocator() != __str._M_get_allocator())
+       {
+
+
+  if (__str.size() <= _S_local_capacity)
+    {
+      _M_destroy(_M_allocated_capacity);
+      _M_data(_M_use_local_data());
+      _M_set_length(0);
+    }
+  else
+    {
+      const auto __len = __str.size();
+      auto __alloc = __str._M_get_allocator();
+
+      auto __ptr = _S_allocate(__alloc, __len + 1);
+      _M_destroy(_M_allocated_capacity);
+      _M_data(__ptr);
+      _M_capacity(__len);
+      _M_set_length(__len);
+    }
+       }
+     std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
+   }
+
+ this->_M_assign(__str);
+ return *this;
+      }
+# 1785 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      assign(basic_string&& __str)
+      noexcept(_Alloc_traits::_S_nothrow_move())
+      {
+
+
+ return *this = std::move(__str);
+      }
+# 1809 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      assign(const basic_string& __str, size_type __pos, size_type __n = npos)
+      { return _M_replace(size_type(0), this->size(), __str._M_data()
+     + __str._M_check(__pos, "basic_string::assign"),
+     __str._M_limit(__pos, __n)); }
+# 1826 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      assign(const _CharT* __s, size_type __n)
+      {
+                                        ;
+ return _M_replace(size_type(0), this->size(), __s, __n);
+      }
+# 1843 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      assign(const _CharT* __s)
+      {
+                               ;
+ return _M_replace(size_type(0), this->size(), __s,
+     traits_type::length(__s));
+      }
+# 1861 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      assign(size_type __n, _CharT __c)
+      { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
+# 1874 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+      template<class _InputIterator,
+        typename = std::_RequireInputIter<_InputIterator>>
+
+ basic_string&
+ assign(_InputIterator __first, _InputIterator __last)
+ {
+   using _IterTraits = iterator_traits<_InputIterator>;
+   if constexpr (is_pointer<decltype(std::__niter_base(__first))>::value
+     && is_same<typename _IterTraits::value_type,
+         _CharT>::value)
+     {
+                                                      ;
+       return _M_replace(size_type(0), size(),
+    std::__niter_base(__first), __last - __first);
+     }
+# 1901 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+   else
+     return *this = basic_string(__first, __last, get_allocator());
+ }
+#pragma GCC diagnostic pop
+# 1938 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      assign(initializer_list<_CharT> __l)
+      {
+
+
+ const size_type __n = __l.size();
+ if (__n > capacity())
+   *this = basic_string(__l.begin(), __l.end(), get_allocator());
+ else
+   {
+     if (__n)
+       _S_copy(_M_data(), __l.begin(), __n);
+     _M_set_length(__n);
+   }
+ return *this;
+      }
+# 1962 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ assign(const _Tp& __svt)
+ {
+   __sv_type __sv = __svt;
+   return this->assign(__sv.data(), __sv.size());
+ }
+# 1978 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
+ {
+   __sv_type __sv = __svt;
+   return _M_replace(size_type(0), this->size(),
+       __sv.data()
+       + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
+       std::__sv_limit(__sv.size(), __pos, __n));
+ }
+# 2008 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      iterator
+      insert(const_iterator __p, size_type __n, _CharT __c)
+      {
+                                                         ;
+ const size_type __pos = __p - begin();
+ this->replace(__p, __p, __n, __c);
+ return iterator(this->_M_data() + __pos);
+      }
+# 2050 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<class _InputIterator,
+        typename = std::_RequireInputIter<_InputIterator>>
+
+ iterator
+        insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
+        {
+                                                           ;
+   const size_type __pos = __p - begin();
+   this->replace(__p, __p, __beg, __end);
+   return iterator(this->_M_data() + __pos);
+ }
+# 2119 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      iterator
+      insert(const_iterator __p, initializer_list<_CharT> __l)
+      { return this->insert(__p, __l.begin(), __l.end()); }
+# 2147 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      insert(size_type __pos1, const basic_string& __str)
+      { return this->replace(__pos1, size_type(0),
+        __str._M_data(), __str.size()); }
+# 2171 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      insert(size_type __pos1, const basic_string& __str,
+      size_type __pos2, size_type __n = npos)
+      { return this->replace(__pos1, size_type(0), __str._M_data()
+        + __str._M_check(__pos2, "basic_string::insert"),
+        __str._M_limit(__pos2, __n)); }
+# 2195 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      insert(size_type __pos, const _CharT* __s, size_type __n)
+      { return this->replace(__pos, size_type(0), __s, __n); }
+# 2215 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      insert(size_type __pos, const _CharT* __s)
+      {
+                               ;
+ return this->replace(__pos, size_type(0), __s,
+        traits_type::length(__s));
+      }
+# 2240 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      insert(size_type __pos, size_type __n, _CharT __c)
+      { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
+         size_type(0), __n, __c); }
+# 2259 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      iterator
+      insert(__const_iterator __p, _CharT __c)
+      {
+                                                         ;
+ const size_type __pos = __p - begin();
+ _M_replace_aux(__pos, size_type(0), size_type(1), __c);
+ return iterator(_M_data() + __pos);
+      }
+# 2275 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ insert(size_type __pos, const _Tp& __svt)
+ {
+   __sv_type __sv = __svt;
+   return this->insert(__pos, __sv.data(), __sv.size());
+ }
+# 2292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ insert(size_type __pos1, const _Tp& __svt,
+        size_type __pos2, size_type __n = npos)
+ {
+   __sv_type __sv = __svt;
+   return this->replace(__pos1, size_type(0),
+       __sv.data()
+       + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
+       std::__sv_limit(__sv.size(), __pos2, __n));
+ }
+# 2322 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      erase(size_type __pos = 0, size_type __n = npos)
+      {
+ _M_check(__pos, "basic_string::erase");
+ if (__n == npos)
+   this->_M_set_length(__pos);
+ else if (__n != 0)
+   this->_M_erase(__pos, _M_limit(__pos, __n));
+ return *this;
+      }
+# 2342 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      iterator
+      erase(__const_iterator __position)
+      {
+
+                           ;
+ const size_type __pos = __position - begin();
+ this->_M_erase(__pos, size_type(1));
+ return iterator(_M_data() + __pos);
+      }
+# 2362 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      iterator
+      erase(__const_iterator __first, __const_iterator __last)
+      {
+
+                        ;
+        const size_type __pos = __first - begin();
+ if (__last == end())
+   this->_M_set_length(__pos);
+ else
+   this->_M_erase(__pos, __last - __first);
+ return iterator(this->_M_data() + __pos);
+      }
+# 2382 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      void
+      pop_back() noexcept
+      {
+ do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 2385, __PRETTY_FUNCTION__, "!empty()"); } while (false);
+ _M_erase(size() - 1, 1);
+      }
+# 2408 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(size_type __pos, size_type __n, const basic_string& __str)
+      { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
+# 2431 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(size_type __pos1, size_type __n1, const basic_string& __str,
+       size_type __pos2, size_type __n2 = npos)
+      { return this->replace(__pos1, __n1, __str._M_data()
+        + __str._M_check(__pos2, "basic_string::replace"),
+        __str._M_limit(__pos2, __n2)); }
+# 2457 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(size_type __pos, size_type __n1, const _CharT* __s,
+       size_type __n2)
+      {
+                                         ;
+ return _M_replace(_M_check(__pos, "basic_string::replace"),
+     _M_limit(__pos, __n1), __s, __n2);
+      }
+# 2483 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(size_type __pos, size_type __n1, const _CharT* __s)
+      {
+                               ;
+ return this->replace(__pos, __n1, __s, traits_type::length(__s));
+      }
+# 2508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
+      { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
+         _M_limit(__pos, __n1), __n2, __c); }
+# 2527 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2,
+       const basic_string& __str)
+      { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
+# 2548 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2,
+       const _CharT* __s, size_type __n)
+      {
+
+                      ;
+ return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
+      }
+# 2571 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
+      {
+                               ;
+ return this->replace(__i1, __i2, __s, traits_type::length(__s));
+      }
+# 2593 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
+       _CharT __c)
+      {
+
+                      ;
+ return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
+      }
+# 2618 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<class _InputIterator,
+        typename = std::_RequireInputIter<_InputIterator>>
+
+        basic_string&
+        replace(const_iterator __i1, const_iterator __i2,
+  _InputIterator __k1, _InputIterator __k2)
+        {
+
+                        ;
+                                             ;
+   return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
+        std::__false_type());
+ }
+# 2652 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2,
+       _CharT* __k1, _CharT* __k2)
+      {
+
+                      ;
+                                           ;
+ return this->replace(__i1 - begin(), __i2 - __i1,
+        __k1, __k2 - __k1);
+      }
+
+
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2,
+       const _CharT* __k1, const _CharT* __k2)
+      {
+
+                      ;
+                                           ;
+ return this->replace(__i1 - begin(), __i2 - __i1,
+        __k1, __k2 - __k1);
+      }
+
+
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2,
+       iterator __k1, iterator __k2)
+      {
+
+                      ;
+                                           ;
+ return this->replace(__i1 - begin(), __i2 - __i1,
+        __k1.base(), __k2 - __k1);
+      }
+
+
+      basic_string&
+      replace(__const_iterator __i1, __const_iterator __i2,
+       const_iterator __k1, const_iterator __k2)
+      {
+
+                      ;
+                                           ;
+ return this->replace(__i1 - begin(), __i2 - __i1,
+        __k1.base(), __k2 - __k1);
+      }
+# 2739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      basic_string& replace(const_iterator __i1, const_iterator __i2,
+       initializer_list<_CharT> __l)
+      { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
+# 2752 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ replace(size_type __pos, size_type __n, const _Tp& __svt)
+ {
+   __sv_type __sv = __svt;
+   return this->replace(__pos, __n, __sv.data(), __sv.size());
+ }
+# 2770 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ replace(size_type __pos1, size_type __n1, const _Tp& __svt,
+  size_type __pos2, size_type __n2 = npos)
+ {
+   __sv_type __sv = __svt;
+   return this->replace(__pos1, __n1,
+       __sv.data()
+       + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
+       std::__sv_limit(__sv.size(), __pos2, __n2));
+ }
+# 2792 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+
+ _If_sv<_Tp, basic_string&>
+ replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
+ {
+   __sv_type __sv = __svt;
+   return this->replace(__i1 - begin(), __i2 - __i1, __sv);
+ }
+
+
+    private:
+      template<class _Integer>
+
+ basic_string&
+ _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
+       _Integer __n, _Integer __val, __true_type)
+        { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
+
+      template<class _InputIterator>
+
+ basic_string&
+ _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
+       _InputIterator __k1, _InputIterator __k2,
+       __false_type);
+
+
+      basic_string&
+      _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
+       _CharT __c);
+
+      __attribute__((__noinline__, __noclone__, __cold__)) void
+      _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s,
+        const size_type __len2, const size_type __how_much);
+
+
+      basic_string&
+      _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
+   const size_type __len2);
+
+
+      basic_string&
+      _M_append(const _CharT* __s, size_type __n);
+
+    public:
+# 2850 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      size_type
+      copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
+# 2861 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      void
+      swap(basic_string& __s) noexcept;
+# 2871 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      const _CharT*
+      c_str() const noexcept
+      { return _M_data(); }
+# 2884 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      const _CharT*
+      data() const noexcept
+      { return _M_data(); }
+# 2896 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      _CharT*
+      data() noexcept
+      { return _M_data(); }
+
+
+
+
+
+      [[__nodiscard__]]
+      allocator_type
+      get_allocator() const noexcept
+      { return _M_get_allocator(); }
+# 2922 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find(const _CharT* __s, size_type __pos, size_type __n) const
+      noexcept;
+# 2937 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find(const basic_string& __str, size_type __pos = 0) const
+      noexcept
+      { return this->find(__str.data(), __pos, __str.size()); }
+# 2950 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, size_type>
+ find(const _Tp& __svt, size_type __pos = 0) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return this->find(__sv.data(), __pos, __sv.size());
+ }
+# 2971 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find(const _CharT* __s, size_type __pos = 0) const noexcept
+      {
+                               ;
+ return this->find(__s, __pos, traits_type::length(__s));
+      }
+# 2989 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find(_CharT __c, size_type __pos = 0) const noexcept;
+# 3003 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      rfind(const basic_string& __str, size_type __pos = npos) const
+      noexcept
+      { return this->rfind(__str.data(), __pos, __str.size()); }
+# 3016 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, size_type>
+ rfind(const _Tp& __svt, size_type __pos = npos) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return this->rfind(__sv.data(), __pos, __sv.size());
+ }
+# 3039 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      rfind(const _CharT* __s, size_type __pos, size_type __n) const
+      noexcept;
+# 3054 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      rfind(const _CharT* __s, size_type __pos = npos) const
+      {
+                               ;
+ return this->rfind(__s, __pos, traits_type::length(__s));
+      }
+# 3072 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      rfind(_CharT __c, size_type __pos = npos) const noexcept;
+# 3087 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_of(const basic_string& __str, size_type __pos = 0) const
+      noexcept
+      { return this->find_first_of(__str.data(), __pos, __str.size()); }
+# 3101 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, size_type>
+ find_first_of(const _Tp& __svt, size_type __pos = 0) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return this->find_first_of(__sv.data(), __pos, __sv.size());
+ }
+# 3124 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
+      noexcept;
+# 3139 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_of(const _CharT* __s, size_type __pos = 0) const
+      noexcept
+      {
+                               ;
+ return this->find_first_of(__s, __pos, traits_type::length(__s));
+      }
+# 3160 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_of(_CharT __c, size_type __pos = 0) const noexcept
+      { return this->find(__c, __pos); }
+# 3176 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_of(const basic_string& __str, size_type __pos = npos) const
+      noexcept
+      { return this->find_last_of(__str.data(), __pos, __str.size()); }
+# 3190 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, size_type>
+ find_last_of(const _Tp& __svt, size_type __pos = npos) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return this->find_last_of(__sv.data(), __pos, __sv.size());
+ }
+# 3213 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
+      noexcept;
+# 3228 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_of(const _CharT* __s, size_type __pos = npos) const
+      noexcept
+      {
+                               ;
+ return this->find_last_of(__s, __pos, traits_type::length(__s));
+      }
+# 3249 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_of(_CharT __c, size_type __pos = npos) const noexcept
+      { return this->rfind(__c, __pos); }
+# 3264 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_not_of(const basic_string& __str, size_type __pos = 0) const
+      noexcept
+      { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
+# 3278 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, size_type>
+ find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return this->find_first_not_of(__sv.data(), __pos, __sv.size());
+ }
+# 3301 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_not_of(const _CharT* __s, size_type __pos,
+   size_type __n) const noexcept;
+# 3316 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_not_of(const _CharT* __s, size_type __pos = 0) const
+      noexcept
+      {
+                               ;
+ return this->find_first_not_of(__s, __pos, traits_type::length(__s));
+      }
+# 3335 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_first_not_of(_CharT __c, size_type __pos = 0) const
+      noexcept;
+# 3351 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_not_of(const basic_string& __str, size_type __pos = npos) const
+      noexcept
+      { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
+# 3365 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, size_type>
+ find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return this->find_last_not_of(__sv.data(), __pos, __sv.size());
+ }
+# 3388 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_not_of(const _CharT* __s, size_type __pos,
+         size_type __n) const noexcept;
+# 3403 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_not_of(const _CharT* __s, size_type __pos = npos) const
+      noexcept
+      {
+                               ;
+ return this->find_last_not_of(__s, __pos, traits_type::length(__s));
+      }
+# 3422 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      size_type
+      find_last_not_of(_CharT __c, size_type __pos = npos) const
+      noexcept;
+# 3439 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      basic_string
+      substr(size_type __pos = 0, size_type __n = npos) const
+      { return basic_string(*this,
+       _M_check(__pos, "basic_string::substr"), __n); }
+# 3459 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      int
+      compare(const basic_string& __str) const
+      {
+ const size_type __size = this->size();
+ const size_type __osize = __str.size();
+ const size_type __len = std::min(__size, __osize);
+
+ int __r = traits_type::compare(_M_data(), __str.data(), __len);
+ if (!__r)
+   __r = _S_compare(__size, __osize);
+ return __r;
+      }
+
+
+
+
+
+
+
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, int>
+ compare(const _Tp& __svt) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   const size_type __size = this->size();
+   const size_type __osize = __sv.size();
+   const size_type __len = std::min(__size, __osize);
+
+   int __r = traits_type::compare(_M_data(), __sv.data(), __len);
+   if (!__r)
+     __r = _S_compare(__size, __osize);
+   return __r;
+ }
+# 3504 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, int>
+ compare(size_type __pos, size_type __n, const _Tp& __svt) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return __sv_type(*this).substr(__pos, __n).compare(__sv);
+ }
+# 3524 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename _Tp>
+ [[__nodiscard__]]
+ _If_sv<_Tp, int>
+ compare(size_type __pos1, size_type __n1, const _Tp& __svt,
+  size_type __pos2, size_type __n2 = npos) const
+ noexcept(is_same<_Tp, __sv_type>::value)
+ {
+   __sv_type __sv = __svt;
+   return __sv_type(*this)
+     .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
+ }
+# 3556 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      int
+      compare(size_type __pos, size_type __n, const basic_string& __str) const
+      {
+ _M_check(__pos, "basic_string::compare");
+ __n = _M_limit(__pos, __n);
+ const size_type __osize = __str.size();
+ const size_type __len = std::min(__n, __osize);
+ int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
+ if (!__r)
+   __r = _S_compare(__n, __osize);
+ return __r;
+      }
+# 3593 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      int
+      compare(size_type __pos1, size_type __n1, const basic_string& __str,
+       size_type __pos2, size_type __n2 = npos) const
+      {
+ _M_check(__pos1, "basic_string::compare");
+ __str._M_check(__pos2, "basic_string::compare");
+ __n1 = _M_limit(__pos1, __n1);
+ __n2 = __str._M_limit(__pos2, __n2);
+ const size_type __len = std::min(__n1, __n2);
+ int __r = traits_type::compare(_M_data() + __pos1,
+           __str.data() + __pos2, __len);
+ if (!__r)
+   __r = _S_compare(__n1, __n2);
+ return __r;
+      }
+# 3624 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      int
+      compare(const _CharT* __s) const noexcept
+      {
+                               ;
+ const size_type __size = this->size();
+ const size_type __osize = traits_type::length(__s);
+ const size_type __len = std::min(__size, __osize);
+ int __r = traits_type::compare(_M_data(), __s, __len);
+ if (!__r)
+   __r = _S_compare(__size, __osize);
+ return __r;
+      }
+# 3659 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      int
+      compare(size_type __pos, size_type __n1, const _CharT* __s) const
+      {
+                               ;
+ _M_check(__pos, "basic_string::compare");
+ __n1 = _M_limit(__pos, __n1);
+ const size_type __osize = traits_type::length(__s);
+ const size_type __len = std::min(__n1, __osize);
+ int __r = traits_type::compare(_M_data() + __pos, __s, __len);
+ if (!__r)
+   __r = _S_compare(__n1, __osize);
+ return __r;
+      }
+# 3698 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      [[__nodiscard__]]
+      int
+      compare(size_type __pos, size_type __n1, const _CharT* __s,
+       size_type __n2) const
+      {
+                                         ;
+ _M_check(__pos, "basic_string::compare");
+ __n1 = _M_limit(__pos, __n1);
+ const size_type __len = std::min(__n1, __n2);
+ int __r = traits_type::compare(_M_data() + __pos, __s, __len);
+ if (!__r)
+   __r = _S_compare(__n1, __n2);
+ return __r;
+      }
+# 3763 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+      template<typename, typename, typename> friend class basic_stringbuf;
+    };
+}
+
+}
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+namespace __cxx11 {
+  template<typename _InputIterator, typename _CharT
+      = typename iterator_traits<_InputIterator>::value_type,
+    typename _Allocator = allocator<_CharT>,
+    typename = _RequireInputIter<_InputIterator>,
+    typename = _RequireAllocator<_Allocator>>
+    basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
+      -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
+
+
+
+  template<typename _CharT, typename _Traits,
+    typename _Allocator = allocator<_CharT>,
+    typename = _RequireAllocator<_Allocator>>
+    basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
+      -> basic_string<_CharT, _Traits, _Allocator>;
+
+  template<typename _CharT, typename _Traits,
+    typename _Allocator = allocator<_CharT>,
+    typename = _RequireAllocator<_Allocator>>
+    basic_string(basic_string_view<_CharT, _Traits>,
+   typename basic_string<_CharT, _Traits, _Allocator>::size_type,
+   typename basic_string<_CharT, _Traits, _Allocator>::size_type,
+   const _Allocator& = _Allocator())
+      -> basic_string<_CharT, _Traits, _Allocator>;
+# 3809 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+}
+
+
+  template<typename _Str>
+
+    inline _Str
+    __str_concat(typename _Str::value_type const* __lhs,
+   typename _Str::size_type __lhs_len,
+   typename _Str::value_type const* __rhs,
+   typename _Str::size_type __rhs_len,
+   typename _Str::allocator_type const& __a)
+    {
+      typedef typename _Str::allocator_type allocator_type;
+      typedef __gnu_cxx::__alloc_traits<allocator_type> _Alloc_traits;
+      _Str __str(_Alloc_traits::_S_select_on_copy(__a));
+      __str.reserve(__lhs_len + __rhs_len);
+      __str.append(__lhs, __lhs_len);
+      __str.append(__rhs, __rhs_len);
+      return __str;
+    }
+# 3837 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    {
+      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
+      return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(),
+         __rhs.c_str(), __rhs.size(),
+         __lhs.get_allocator());
+    }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT,_Traits,_Alloc>
+    operator+(const _CharT* __lhs,
+       const basic_string<_CharT,_Traits,_Alloc>& __rhs)
+    {
+                                      ;
+      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
+      return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs),
+         __rhs.c_str(), __rhs.size(),
+         __rhs.get_allocator());
+    }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT,_Traits,_Alloc>
+    operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
+    {
+      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
+      return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1,
+         __rhs.c_str(), __rhs.size(),
+         __rhs.get_allocator());
+    }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       const _CharT* __rhs)
+    {
+                                      ;
+      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
+      return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(),
+         __rhs, _Traits::length(__rhs),
+         __lhs.get_allocator());
+    }
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
+    {
+      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
+      return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(),
+         __builtin_addressof(__rhs), 1,
+         __lhs.get_allocator());
+    }
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
+       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return std::move(__lhs.append(__rhs)); }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
+    { return std::move(__rhs.insert(0, __lhs)); }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
+       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
+    {
+
+      using _Alloc_traits = allocator_traits<_Alloc>;
+      bool __use_rhs = false;
+      if constexpr (typename _Alloc_traits::is_always_equal{})
+ __use_rhs = true;
+      else if (__lhs.get_allocator() == __rhs.get_allocator())
+ __use_rhs = true;
+      if (__use_rhs)
+
+ {
+   const auto __size = __lhs.size() + __rhs.size();
+   if (__size > __lhs.capacity() && __size <= __rhs.capacity())
+     return std::move(__rhs.insert(0, __lhs));
+ }
+      return std::move(__lhs.append(__rhs));
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]] [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(const _CharT* __lhs,
+       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
+    { return std::move(__rhs.insert(0, __lhs)); }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(_CharT __lhs,
+       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
+    { return std::move(__rhs.insert(0, 1, __lhs)); }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
+       const _CharT* __rhs)
+    { return std::move(__lhs.append(__rhs)); }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline basic_string<_CharT, _Traits, _Alloc>
+    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
+       _CharT __rhs)
+    { return std::move(__lhs.append(1, __rhs)); }
+# 4042 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept
+    {
+      return __lhs.size() == __rhs.size()
+        && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size());
+    }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const _CharT* __rhs)
+    {
+      return __lhs.size() == _Traits::length(__rhs)
+        && !_Traits::compare(__lhs.data(), __rhs, __lhs.size());
+    }
+# 4106 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator==(const _CharT* __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return __rhs == __lhs; }
+# 4120 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept
+    { return !(__lhs == __rhs); }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator!=(const _CharT* __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return !(__rhs == __lhs); }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const _CharT* __rhs)
+    { return !(__lhs == __rhs); }
+# 4161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept
+    { return __lhs.compare(__rhs) < 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       const _CharT* __rhs)
+    { return __lhs.compare(__rhs) < 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator<(const _CharT* __lhs,
+       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return __rhs.compare(__lhs) > 0; }
+# 4202 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept
+    { return __lhs.compare(__rhs) > 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+       const _CharT* __rhs)
+    { return __lhs.compare(__rhs) > 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator>(const _CharT* __lhs,
+       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return __rhs.compare(__lhs) < 0; }
+# 4243 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept
+    { return __lhs.compare(__rhs) <= 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const _CharT* __rhs)
+    { return __lhs.compare(__rhs) <= 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator<=(const _CharT* __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return __rhs.compare(__lhs) >= 0; }
+# 4284 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept
+    { return __lhs.compare(__rhs) >= 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
+        const _CharT* __rhs)
+    { return __lhs.compare(__rhs) >= 0; }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    [[__nodiscard__]]
+    inline bool
+    operator>=(const _CharT* __lhs,
+      const basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    { return __rhs.compare(__lhs) <= 0; }
+# 4326 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    inline void
+    swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
+  basic_string<_CharT, _Traits, _Alloc>& __rhs)
+    noexcept(noexcept(__lhs.swap(__rhs)))
+    { __lhs.swap(__rhs); }
+# 4347 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    basic_istream<_CharT, _Traits>&
+    operator>>(basic_istream<_CharT, _Traits>& __is,
+        basic_string<_CharT, _Traits, _Alloc>& __str);
+
+  template<>
+    basic_istream<char>&
+    operator>>(basic_istream<char>& __is, basic_string<char>& __str);
+# 4365 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    inline basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __os,
+        const basic_string<_CharT, _Traits, _Alloc>& __str)
+    {
+
+
+      return __ostream_insert(__os, __str.data(), __str.size());
+    }
+# 4388 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    basic_istream<_CharT, _Traits>&
+    getline(basic_istream<_CharT, _Traits>& __is,
+     basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
+# 4405 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    inline basic_istream<_CharT, _Traits>&
+    getline(basic_istream<_CharT, _Traits>& __is,
+     basic_string<_CharT, _Traits, _Alloc>& __str)
+    { return std::getline(__is, __str, __is.widen('\n')); }
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    inline basic_istream<_CharT, _Traits>&
+    getline(basic_istream<_CharT, _Traits>&& __is,
+     basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
+    { return std::getline(__is, __str, __delim); }
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    inline basic_istream<_CharT, _Traits>&
+    getline(basic_istream<_CharT, _Traits>&& __is,
+     basic_string<_CharT, _Traits, _Alloc>& __str)
+    { return std::getline(__is, __str); }
+
+
+  template<>
+    basic_istream<char>&
+    getline(basic_istream<char>& __in, basic_string<char>& __str,
+     char __delim);
+
+
+  template<>
+    basic_istream<wchar_t>&
+    getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
+     wchar_t __delim);
+
+
+
+}
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 1 3
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 1 3
+# 80 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdlib.h" 1 3
+# 16 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdlib.h" 3
+# 1 "/usr/include/stdlib.h" 1 3 4
+# 26 "/usr/include/stdlib.h" 3 4
+# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
+# 27 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 4
+# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 33 "/usr/include/stdlib.h" 2 3 4
+
+extern "C" {
+
+
+
+
+
+# 1 "/usr/include/bits/waitflags.h" 1 3 4
+# 41 "/usr/include/stdlib.h" 2 3 4
+# 1 "/usr/include/bits/waitstatus.h" 1 3 4
+# 42 "/usr/include/stdlib.h" 2 3 4
+# 59 "/usr/include/stdlib.h" 3 4
+typedef struct
+  {
+    int quot;
+    int rem;
+  } div_t;
+
+
+
+typedef struct
+  {
+    long int quot;
+    long int rem;
+  } ldiv_t;
+
+
+
+
+
+__extension__ typedef struct
+  {
+    long long int quot;
+    long long int rem;
+  } lldiv_t;
+# 98 "/usr/include/stdlib.h" 3 4
+extern size_t __ctype_get_mb_cur_max (void) noexcept (true) ;
+
+
+
+extern double atof (const char *__nptr)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+extern int atoi (const char *__nptr)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+extern long int atol (const char *__nptr)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+__extension__ extern long long int atoll (const char *__nptr)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+extern double strtod (const char *__restrict __nptr,
+        char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern float strtof (const char *__restrict __nptr,
+       char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+extern long double strtold (const char *__restrict __nptr,
+       char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 141 "/usr/include/stdlib.h" 3 4
+extern _Float32 strtof32 (const char *__restrict __nptr,
+     char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern _Float64 strtof64 (const char *__restrict __nptr,
+     char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern _Float128 strtof128 (const char *__restrict __nptr,
+       char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern _Float32x strtof32x (const char *__restrict __nptr,
+       char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern _Float64x strtof64x (const char *__restrict __nptr,
+       char **__restrict __endptr)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 177 "/usr/include/stdlib.h" 3 4
+extern long int strtol (const char *__restrict __nptr,
+   char **__restrict __endptr, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+extern unsigned long int strtoul (const char *__restrict __nptr,
+      char **__restrict __endptr, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+__extension__
+extern long long int strtoq (const char *__restrict __nptr,
+        char **__restrict __endptr, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+__extension__
+extern unsigned long long int strtouq (const char *__restrict __nptr,
+           char **__restrict __endptr, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+__extension__
+extern long long int strtoll (const char *__restrict __nptr,
+         char **__restrict __endptr, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+__extension__
+extern unsigned long long int strtoull (const char *__restrict __nptr,
+     char **__restrict __endptr, int __base)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtol")
+
+
+     __attribute__ ((__nonnull__ (1)));
+extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoul")
+
+
+
+     __attribute__ ((__nonnull__ (1)));
+
+__extension__
+extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll")
+
+
+     __attribute__ ((__nonnull__ (1)));
+__extension__
+extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull")
+
+
+
+     __attribute__ ((__nonnull__ (1)));
+
+__extension__
+extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll")
+
+
+     __attribute__ ((__nonnull__ (1)));
+__extension__
+extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull")
+
+
+
+     __attribute__ ((__nonnull__ (1)));
+# 278 "/usr/include/stdlib.h" 3 4
+extern int strfromd (char *__dest, size_t __size, const char *__format,
+       double __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+extern int strfromf (char *__dest, size_t __size, const char *__format,
+       float __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+extern int strfroml (char *__dest, size_t __size, const char *__format,
+       long double __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+# 298 "/usr/include/stdlib.h" 3 4
+extern int strfromf32 (char *__dest, size_t __size, const char * __format,
+         _Float32 __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+
+
+extern int strfromf64 (char *__dest, size_t __size, const char * __format,
+         _Float64 __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+
+
+extern int strfromf128 (char *__dest, size_t __size, const char * __format,
+   _Float128 __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+
+
+extern int strfromf32x (char *__dest, size_t __size, const char * __format,
+   _Float32x __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+
+
+
+extern int strfromf64x (char *__dest, size_t __size, const char * __format,
+   _Float64x __f)
+     noexcept (true) __attribute__ ((__nonnull__ (3)));
+# 340 "/usr/include/stdlib.h" 3 4
+extern long int strtol_l (const char *__restrict __nptr,
+     char **__restrict __endptr, int __base,
+     locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
+
+extern unsigned long int strtoul_l (const char *__restrict __nptr,
+        char **__restrict __endptr,
+        int __base, locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
+
+__extension__
+extern long long int strtoll_l (const char *__restrict __nptr,
+    char **__restrict __endptr, int __base,
+    locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
+
+__extension__
+extern unsigned long long int strtoull_l (const char *__restrict __nptr,
+       char **__restrict __endptr,
+       int __base, locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
+
+
+
+
+
+extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtol_l")
+
+
+
+     __attribute__ ((__nonnull__ (1, 4)));
+extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoul_l")
+
+
+
+
+     __attribute__ ((__nonnull__ (1, 4)));
+__extension__
+extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoll_l")
+
+
+
+
+     __attribute__ ((__nonnull__ (1, 4)));
+__extension__
+extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoull_l")
+
+
+
+
+     __attribute__ ((__nonnull__ (1, 4)));
+# 415 "/usr/include/stdlib.h" 3 4
+extern double strtod_l (const char *__restrict __nptr,
+   char **__restrict __endptr, locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+extern float strtof_l (const char *__restrict __nptr,
+         char **__restrict __endptr, locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+extern long double strtold_l (const char *__restrict __nptr,
+         char **__restrict __endptr,
+         locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+# 436 "/usr/include/stdlib.h" 3 4
+extern _Float32 strtof32_l (const char *__restrict __nptr,
+       char **__restrict __endptr,
+       locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern _Float64 strtof64_l (const char *__restrict __nptr,
+       char **__restrict __endptr,
+       locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern _Float128 strtof128_l (const char *__restrict __nptr,
+         char **__restrict __endptr,
+         locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern _Float32x strtof32x_l (const char *__restrict __nptr,
+         char **__restrict __endptr,
+         locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern _Float64x strtof64x_l (const char *__restrict __nptr,
+         char **__restrict __endptr,
+         locale_t __loc)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
+# 505 "/usr/include/stdlib.h" 3 4
+extern char *l64a (long int __n) noexcept (true) ;
+
+
+extern long int a64l (const char *__s)
+     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+# 1 "/usr/include/sys/types.h" 1 3 4
+# 27 "/usr/include/sys/types.h" 3 4
+extern "C" {
+
+
+
+
+
+typedef __u_char u_char;
+typedef __u_short u_short;
+typedef __u_int u_int;
+typedef __u_long u_long;
+typedef __quad_t quad_t;
+typedef __u_quad_t u_quad_t;
+typedef __fsid_t fsid_t;
+
+
+typedef __loff_t loff_t;
+
+
+
+
+typedef __ino_t ino_t;
+
+
+
+
+
+
+typedef __ino64_t ino64_t;
+
+
+
+
+typedef __dev_t dev_t;
+
+
+
+
+typedef __gid_t gid_t;
+
+
+
+
+typedef __mode_t mode_t;
+
+
+
+
+typedef __nlink_t nlink_t;
+
+
+
+
+typedef __uid_t uid_t;
+
+
+
+
+
+typedef __off_t off_t;
+
+
+
+
+
+
+typedef __off64_t off64_t;
+# 103 "/usr/include/sys/types.h" 3 4
+typedef __id_t id_t;
+
+
+
+
+typedef __ssize_t ssize_t;
+
+
+
+
+
+typedef __daddr_t daddr_t;
+typedef __caddr_t caddr_t;
+
+
+
+
+
+typedef __key_t key_t;
+# 134 "/usr/include/sys/types.h" 3 4
+typedef __useconds_t useconds_t;
+
+
+
+typedef __suseconds_t suseconds_t;
+
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 145 "/usr/include/sys/types.h" 2 3 4
+
+
+
+typedef unsigned long int ulong;
+typedef unsigned short int ushort;
+typedef unsigned int uint;
+
+
+
+
+# 1 "/usr/include/bits/stdint-intn.h" 1 3 4
+# 24 "/usr/include/bits/stdint-intn.h" 3 4
+typedef __int8_t int8_t;
+typedef __int16_t int16_t;
+typedef __int32_t int32_t;
+typedef __int64_t int64_t;
+# 156 "/usr/include/sys/types.h" 2 3 4
+
+
+typedef __uint8_t u_int8_t;
+typedef __uint16_t u_int16_t;
+typedef __uint32_t u_int32_t;
+typedef __uint64_t u_int64_t;
+
+
+typedef int register_t __attribute__ ((__mode__ (__word__)));
+# 176 "/usr/include/sys/types.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/endian.h" 1 3 4
+# 14 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/endian.h" 3 4
+# 1 "/usr/include/endian.h" 1 3 4
+# 35 "/usr/include/endian.h" 3 4
+# 1 "/usr/include/bits/byteswap.h" 1 3 4
+# 33 "/usr/include/bits/byteswap.h" 3 4
+static __inline __uint16_t
+__bswap_16 (__uint16_t __bsx)
+{
+
+
+
+  return ((__uint16_t) ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)));
+
+}
+
+
+
+
+
+
+static __inline __uint32_t
+__bswap_32 (__uint32_t __bsx)
+{
+
+
+
+  return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >> 8) | (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu) << 24));
+
+}
+# 69 "/usr/include/bits/byteswap.h" 3 4
+__extension__ static __inline __uint64_t
+__bswap_64 (__uint64_t __bsx)
+{
+
+
+
+  return ((((__bsx) & 0xff00000000000000ull) >> 56) | (((__bsx) & 0x00ff000000000000ull) >> 40) | (((__bsx) & 0x0000ff0000000000ull) >> 24) | (((__bsx) & 0x000000ff00000000ull) >> 8) | (((__bsx) & 0x00000000ff000000ull) << 8) | (((__bsx) & 0x0000000000ff0000ull) << 24) | (((__bsx) & 0x000000000000ff00ull) << 40) | (((__bsx) & 0x00000000000000ffull) << 56));
+
+}
+# 36 "/usr/include/endian.h" 2 3 4
+# 1 "/usr/include/bits/uintn-identity.h" 1 3 4
+# 32 "/usr/include/bits/uintn-identity.h" 3 4
+static __inline __uint16_t
+__uint16_identity (__uint16_t __x)
+{
+  return __x;
+}
+
+static __inline __uint32_t
+__uint32_identity (__uint32_t __x)
+{
+  return __x;
+}
+
+static __inline __uint64_t
+__uint64_identity (__uint64_t __x)
+{
+  return __x;
+}
+# 37 "/usr/include/endian.h" 2 3 4
+# 15 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/endian.h" 2 3 4
+# 177 "/usr/include/sys/types.h" 2 3 4
+
+
+# 1 "/usr/include/sys/select.h" 1 3 4
+# 30 "/usr/include/sys/select.h" 3 4
+# 1 "/usr/include/bits/select.h" 1 3 4
+# 31 "/usr/include/sys/select.h" 2 3 4
+
+
+# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4
+
+
+
+
+
+
+typedef __sigset_t sigset_t;
+# 34 "/usr/include/sys/select.h" 2 3 4
+# 49 "/usr/include/sys/select.h" 3 4
+typedef long int __fd_mask;
+# 59 "/usr/include/sys/select.h" 3 4
+typedef struct
+  {
+
+
+
+    __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
+
+
+
+
+
+  } fd_set;
+
+
+
+
+
+
+typedef __fd_mask fd_mask;
+# 91 "/usr/include/sys/select.h" 3 4
+extern "C" {
+# 102 "/usr/include/sys/select.h" 3 4
+extern int select (int __nfds, fd_set *__restrict __readfds,
+     fd_set *__restrict __writefds,
+     fd_set *__restrict __exceptfds,
+     struct timeval *__restrict __timeout);
+# 127 "/usr/include/sys/select.h" 3 4
+extern int pselect (int __nfds, fd_set *__restrict __readfds,
+      fd_set *__restrict __writefds,
+      fd_set *__restrict __exceptfds,
+      const struct timespec *__restrict __timeout,
+      const __sigset_t *__restrict __sigmask);
+# 153 "/usr/include/sys/select.h" 3 4
+}
+# 180 "/usr/include/sys/types.h" 2 3 4
+
+
+
+
+
+typedef __blksize_t blksize_t;
+
+
+
+
+
+
+typedef __blkcnt_t blkcnt_t;
+
+
+
+typedef __fsblkcnt_t fsblkcnt_t;
+
+
+
+typedef __fsfilcnt_t fsfilcnt_t;
+# 219 "/usr/include/sys/types.h" 3 4
+typedef __blkcnt64_t blkcnt64_t;
+typedef __fsblkcnt64_t fsblkcnt64_t;
+typedef __fsfilcnt64_t fsfilcnt64_t;
+# 230 "/usr/include/sys/types.h" 3 4
+}
+# 515 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+
+extern long int random (void) noexcept (true);
+
+
+extern void srandom (unsigned int __seed) noexcept (true);
+
+
+
+
+
+extern char *initstate (unsigned int __seed, char *__statebuf,
+   size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+
+extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+struct random_data
+  {
+    int32_t *fptr;
+    int32_t *rptr;
+    int32_t *state;
+    int rand_type;
+    int rand_deg;
+    int rand_sep;
+    int32_t *end_ptr;
+  };
+
+extern int random_r (struct random_data *__restrict __buf,
+       int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int srandom_r (unsigned int __seed, struct random_data *__buf)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
+   size_t __statelen,
+   struct random_data *__restrict __buf)
+     noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
+
+extern int setstate_r (char *__restrict __statebuf,
+         struct random_data *__restrict __buf)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern int rand (void) noexcept (true);
+
+extern void srand (unsigned int __seed) noexcept (true);
+
+
+
+extern int rand_r (unsigned int *__seed) noexcept (true);
+
+
+
+
+
+
+
+extern double drand48 (void) noexcept (true);
+extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int lrand48 (void) noexcept (true);
+extern long int nrand48 (unsigned short int __xsubi[3])
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int mrand48 (void) noexcept (true);
+extern long int jrand48 (unsigned short int __xsubi[3])
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern void srand48 (long int __seedval) noexcept (true);
+extern unsigned short int *seed48 (unsigned short int __seed16v[3])
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+struct drand48_data
+  {
+    unsigned short int __x[3];
+    unsigned short int __old_x[3];
+    unsigned short int __c;
+    unsigned short int __init;
+    __extension__ unsigned long long int __a;
+
+  };
+
+
+extern int drand48_r (struct drand48_data *__restrict __buffer,
+        double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+extern int erand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int lrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+extern int nrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int mrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+extern int jrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+extern int seed48_r (unsigned short int __seed16v[3],
+       struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int lcong48_r (unsigned short int __param[7],
+        struct drand48_data *__buffer)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern __uint32_t arc4random (void)
+     noexcept (true) ;
+
+
+extern void arc4random_buf (void *__buf, size_t __size)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
+     noexcept (true) ;
+
+
+
+
+extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
+                                         ;
+
+extern void *calloc (size_t __nmemb, size_t __size)
+     noexcept (true) __attribute__ ((__malloc__)) ;
+
+
+
+
+
+
+extern void *realloc (void *__ptr, size_t __size)
+     noexcept (true) __attribute__ ((__warn_unused_result__)) ;
+
+
+extern void free (void *__ptr) noexcept (true);
+
+
+
+
+
+
+
+extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
+     noexcept (true) __attribute__ ((__warn_unused_result__))
+
+                       ;
+
+
+extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
+     noexcept (true) ;
+
+
+
+# 1 "/usr/include/alloca.h" 1 3 4
+# 24 "/usr/include/alloca.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 25 "/usr/include/alloca.h" 2 3 4
+
+extern "C" {
+
+
+
+
+
+extern void *alloca (size_t __size) noexcept (true);
+
+
+
+
+
+}
+# 707 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
+                                         ;
+
+
+
+
+extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
+     noexcept (true) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+extern void *aligned_alloc (size_t __alignment, size_t __size)
+     noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
+                                         ;
+
+
+
+extern void abort (void) noexcept (true) __attribute__ ((__noreturn__)) __attribute__ ((__cold__));
+
+
+
+extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern "C++" int at_quick_exit (void (*__func) (void))
+     noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
+# 749 "/usr/include/stdlib.h" 3 4
+extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
+
+
+
+
+
+extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
+
+
+
+
+
+extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
+
+
+
+
+extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+extern char *secure_getenv (const char *__name)
+     noexcept (true) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+
+extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int setenv (const char *__name, const char *__value, int __replace)
+     noexcept (true) __attribute__ ((__nonnull__ (2)));
+
+
+extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int clearenv (void) noexcept (true);
+# 814 "/usr/include/stdlib.h" 3 4
+extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 827 "/usr/include/stdlib.h" 3 4
+extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
+# 837 "/usr/include/stdlib.h" 3 4
+extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
+# 849 "/usr/include/stdlib.h" 3 4
+extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
+# 859 "/usr/include/stdlib.h" 3 4
+extern int mkstemps64 (char *__template, int __suffixlen)
+     __attribute__ ((__nonnull__ (1))) ;
+# 870 "/usr/include/stdlib.h" 3 4
+extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) ;
+# 881 "/usr/include/stdlib.h" 3 4
+extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
+# 891 "/usr/include/stdlib.h" 3 4
+extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
+# 901 "/usr/include/stdlib.h" 3 4
+extern int mkostemps (char *__template, int __suffixlen, int __flags)
+     __attribute__ ((__nonnull__ (1))) ;
+# 913 "/usr/include/stdlib.h" 3 4
+extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
+     __attribute__ ((__nonnull__ (1))) ;
+# 923 "/usr/include/stdlib.h" 3 4
+extern int system (const char *__command) ;
+
+
+
+
+
+extern char *canonicalize_file_name (const char *__name)
+     noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
+                              ;
+# 940 "/usr/include/stdlib.h" 3 4
+extern char *realpath (const char *__restrict __name,
+         char *__restrict __resolved) noexcept (true) ;
+
+
+
+
+
+
+typedef int (*__compar_fn_t) (const void *, const void *);
+
+
+typedef __compar_fn_t comparison_fn_t;
+
+
+
+typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
+
+
+
+
+extern void *bsearch (const void *__key, const void *__base,
+        size_t __nmemb, size_t __size, __compar_fn_t __compar)
+     __attribute__ ((__nonnull__ (1, 2, 5))) ;
+
+
+
+
+
+
+
+extern void qsort (void *__base, size_t __nmemb, size_t __size,
+     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
+
+extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
+       __compar_d_fn_t __compar, void *__arg)
+  __attribute__ ((__nonnull__ (1, 4)));
+
+
+
+
+extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) ;
+extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) ;
+
+
+__extension__ extern long long int llabs (long long int __x)
+     noexcept (true) __attribute__ ((__const__)) ;
+
+
+
+
+
+
+extern div_t div (int __numer, int __denom)
+     noexcept (true) __attribute__ ((__const__)) ;
+extern ldiv_t ldiv (long int __numer, long int __denom)
+     noexcept (true) __attribute__ ((__const__)) ;
+
+
+__extension__ extern lldiv_t lldiv (long long int __numer,
+        long long int __denom)
+     noexcept (true) __attribute__ ((__const__)) ;
+# 1012 "/usr/include/stdlib.h" 3 4
+extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
+
+
+
+
+extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
+
+
+
+
+extern char *gcvt (double __value, int __ndigit, char *__buf)
+     noexcept (true) __attribute__ ((__nonnull__ (3))) ;
+
+
+
+
+extern char *qecvt (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign)
+     noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
+extern char *qfcvt (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign)
+     noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
+extern char *qgcvt (long double __value, int __ndigit, char *__buf)
+     noexcept (true) __attribute__ ((__nonnull__ (3))) ;
+
+
+
+
+extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign, char *__restrict __buf,
+     size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
+extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign, char *__restrict __buf,
+     size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
+
+extern int qecvt_r (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign,
+      char *__restrict __buf, size_t __len)
+     noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
+extern int qfcvt_r (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign,
+      char *__restrict __buf, size_t __len)
+     noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
+
+
+
+
+
+extern int mblen (const char *__s, size_t __n) noexcept (true);
+
+
+extern int mbtowc (wchar_t *__restrict __pwc,
+     const char *__restrict __s, size_t __n) noexcept (true);
+
+
+extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
+
+
+
+extern size_t mbstowcs (wchar_t *__restrict __pwcs,
+   const char *__restrict __s, size_t __n) noexcept (true)
+                                      ;
+
+extern size_t wcstombs (char *__restrict __s,
+   const wchar_t *__restrict __pwcs, size_t __n)
+     noexcept (true)
+
+                                    ;
+
+
+
+
+
+
+extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) ;
+# 1099 "/usr/include/stdlib.h" 3 4
+extern int getsubopt (char **__restrict __optionp,
+        char *const *__restrict __tokens,
+        char **__restrict __valuep)
+     noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) ;
+
+
+
+
+
+
+
+extern int posix_openpt (int __oflag) ;
+
+
+
+
+
+
+
+extern int grantpt (int __fd) noexcept (true);
+
+
+
+extern int unlockpt (int __fd) noexcept (true);
+
+
+
+
+extern char *ptsname (int __fd) noexcept (true) ;
+
+
+
+
+
+
+extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
+     noexcept (true) __attribute__ ((__nonnull__ (2))) ;
+
+
+extern int getpt (void);
+
+
+
+
+
+
+extern int getloadavg (double __loadavg[], int __nelem)
+     noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 1155 "/usr/include/stdlib.h" 3 4
+# 1 "/usr/include/bits/stdlib-float.h" 1 3 4
+# 1156 "/usr/include/stdlib.h" 2 3 4
+# 1167 "/usr/include/stdlib.h" 3 4
+}
+# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdlib.h" 2 3
+
+
+
+
+
+
+
+#pragma omp begin declare target
+
+
+
+#pragma omp end declare target
+# 84 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 2 3
+
+#pragma GCC diagnostic pop
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+#pragma GCC diagnostic ignored "-Wlong-long"
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
+extern "C++"
+{
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  using ::abs;
+
+
+  inline long
+  abs(long __i) { return __builtin_labs(__i); }
+
+
+
+  inline long long
+  abs(long long __x) { return __builtin_llabs (__x); }
+# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
+  inline constexpr double
+  abs(double __x)
+  { return __builtin_fabs(__x); }
+
+  inline constexpr float
+  abs(float __x)
+  { return __builtin_fabsf(__x); }
+
+  inline constexpr long double
+  abs(long double __x)
+  { return __builtin_fabsl(__x); }
+
+
+
+  __extension__ inline constexpr __int128
+  abs(__int128 __x) { return __x >= 0 ? __x : -__x; }
+# 141 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
+  __extension__ inline constexpr
+  __float128
+  abs(__float128 __x)
+  {
+
+
+
+    return __builtin_fabsf128(__x);
+
+
+
+
+  }
+
+
+
+}
+}
+
+#pragma GCC diagnostic pop
+# 88 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 2 3
+# 131 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
+extern "C++"
+{
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  using ::div_t;
+  using ::ldiv_t;
+
+  using ::abort;
+
+  using ::aligned_alloc;
+
+  using ::atexit;
+
+
+  using ::at_quick_exit;
+
+
+  using ::atof;
+  using ::atoi;
+  using ::atol;
+  using ::bsearch;
+  using ::calloc;
+  using ::div;
+  using ::exit;
+  using ::free;
+  using ::getenv;
+  using ::labs;
+  using ::ldiv;
+  using ::malloc;
+
+  using ::mblen;
+  using ::mbstowcs;
+  using ::mbtowc;
+
+  using ::qsort;
+
+
+  using ::quick_exit;
+
+
+  using ::rand;
+  using ::realloc;
+  using ::srand;
+  using ::strtod;
+  using ::strtol;
+  using ::strtoul;
+  using ::system;
+
+  using ::wcstombs;
+  using ::wctomb;
+
+
+
+  inline ldiv_t
+  div(long __i, long __j) noexcept { return ldiv(__i, __j); }
+
+
+
+
+}
+# 205 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  using ::lldiv_t;
+
+
+
+
+
+  using ::_Exit;
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+  using ::llabs;
+
+  inline lldiv_t
+  div(long long __n, long long __d)
+  { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
+
+  using ::lldiv;
+#pragma GCC diagnostic pop
+# 240 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
+  using ::atoll;
+  using ::strtoll;
+  using ::strtoull;
+
+  using ::strtof;
+  using ::strtold;
+
+
+}
+
+namespace std
+{
+
+  using ::__gnu_cxx::lldiv_t;
+
+  using ::__gnu_cxx::_Exit;
+
+  using ::__gnu_cxx::llabs;
+  using ::__gnu_cxx::div;
+  using ::__gnu_cxx::lldiv;
+
+  using ::__gnu_cxx::atoll;
+  using ::__gnu_cxx::strtof;
+  using ::__gnu_cxx::strtoll;
+  using ::__gnu_cxx::strtoull;
+  using ::__gnu_cxx::strtold;
+}
+# 284 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
+}
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 1 3
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 1 3
+# 16 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 3
+# 1 "/usr/include/stdio.h" 1 3 4
+# 28 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
+# 29 "/usr/include/stdio.h" 2 3 4
+
+extern "C" {
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
+# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
+# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
+# 35 "/usr/include/stdio.h" 2 3 4
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 1 3 4
+# 38 "/usr/include/stdio.h" 2 3 4
+
+
+# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4
+# 10 "/usr/include/bits/types/__fpos_t.h" 3 4
+typedef struct _G_fpos_t
+{
+  __off_t __pos;
+  __mbstate_t __state;
+} __fpos_t;
+# 41 "/usr/include/stdio.h" 2 3 4
+# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4
+# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4
+typedef struct _G_fpos64_t
+{
+  __off64_t __pos;
+  __mbstate_t __state;
+} __fpos64_t;
+# 42 "/usr/include/stdio.h" 2 3 4
+
+
+# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4
+# 36 "/usr/include/bits/types/struct_FILE.h" 3 4
+struct _IO_FILE;
+struct _IO_marker;
+struct _IO_codecvt;
+struct _IO_wide_data;
+
+
+
+
+typedef void _IO_lock_t;
+
+
+
+
+
+struct _IO_FILE
+{
+  int _flags;
+
+
+  char *_IO_read_ptr;
+  char *_IO_read_end;
+  char *_IO_read_base;
+  char *_IO_write_base;
+  char *_IO_write_ptr;
+  char *_IO_write_end;
+  char *_IO_buf_base;
+  char *_IO_buf_end;
+
+
+  char *_IO_save_base;
+  char *_IO_backup_base;
+  char *_IO_save_end;
+
+  struct _IO_marker *_markers;
+
+  struct _IO_FILE *_chain;
+
+  int _fileno;
+  int _flags2:24;
+
+  char _short_backupbuf[1];
+  __off_t _old_offset;
+
+
+  unsigned short _cur_column;
+  signed char _vtable_offset;
+  char _shortbuf[1];
+
+  _IO_lock_t *_lock;
+
+
+
+
+
+
+
+  __off64_t _offset;
+
+  struct _IO_codecvt *_codecvt;
+  struct _IO_wide_data *_wide_data;
+  struct _IO_FILE *_freeres_list;
+  void *_freeres_buf;
+  struct _IO_FILE **_prevchain;
+  int _mode;
+
+  char _unused2[15 * sizeof (int) - 5 * sizeof (void *)];
+};
+# 45 "/usr/include/stdio.h" 2 3 4
+
+
+# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4
+# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4
+typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
+                                          size_t __nbytes);
+
+
+
+
+
+
+
+typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
+                                           size_t __nbytes);
+
+
+
+
+
+
+
+typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
+
+
+typedef int cookie_close_function_t (void *__cookie);
+
+
+
+
+
+
+typedef struct _IO_cookie_io_functions_t
+{
+  cookie_read_function_t *read;
+  cookie_write_function_t *write;
+  cookie_seek_function_t *seek;
+  cookie_close_function_t *close;
+} cookie_io_functions_t;
+# 48 "/usr/include/stdio.h" 2 3 4
+# 85 "/usr/include/stdio.h" 3 4
+typedef __fpos_t fpos_t;
+
+
+
+
+typedef __fpos64_t fpos64_t;
+# 129 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
+# 130 "/usr/include/stdio.h" 2 3 4
+# 149 "/usr/include/stdio.h" 3 4
+extern FILE *stdin;
+extern FILE *stdout;
+extern FILE *stderr;
+
+
+
+
+
+
+extern int remove (const char *__filename) noexcept (true);
+
+extern int rename (const char *__old, const char *__new) noexcept (true);
+
+
+
+extern int renameat (int __oldfd, const char *__old, int __newfd,
+       const char *__new) noexcept (true);
+# 176 "/usr/include/stdio.h" 3 4
+extern int renameat2 (int __oldfd, const char *__old, int __newfd,
+        const char *__new, unsigned int __flags) noexcept (true);
+
+
+
+
+
+
+extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+# 194 "/usr/include/stdio.h" 3 4
+extern FILE *tmpfile (void)
+  __attribute__ ((__malloc__)) ;
+# 206 "/usr/include/stdio.h" 3 4
+extern FILE *tmpfile64 (void)
+   __attribute__ ((__malloc__)) ;
+
+
+
+extern char *tmpnam (char[20]) noexcept (true) ;
+
+
+
+
+extern char *tmpnam_r (char __s[20]) noexcept (true) ;
+# 228 "/usr/include/stdio.h" 3 4
+extern char *tempnam (const char *__dir, const char *__pfx)
+   noexcept (true) __attribute__ ((__malloc__)) ;
+
+
+
+
+
+
+extern int fflush (FILE *__stream);
+# 245 "/usr/include/stdio.h" 3 4
+extern int fflush_unlocked (FILE *__stream);
+# 255 "/usr/include/stdio.h" 3 4
+extern int fcloseall (void);
+# 264 "/usr/include/stdio.h" 3 4
+extern FILE *fopen (const char *__restrict __filename,
+      const char *__restrict __modes)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+extern FILE *freopen (const char *__restrict __filename,
+        const char *__restrict __modes,
+        FILE *__restrict __stream) __attribute__ ((__nonnull__ (3)));
+# 289 "/usr/include/stdio.h" 3 4
+extern FILE *fopen64 (const char *__restrict __filename,
+        const char *__restrict __modes)
+  __attribute__ ((__malloc__)) ;
+extern FILE *freopen64 (const char *__restrict __filename,
+   const char *__restrict __modes,
+   FILE *__restrict __stream) __attribute__ ((__nonnull__ (3)));
+
+
+
+
+extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+
+extern FILE *fopencookie (void *__restrict __magic_cookie,
+     const char *__restrict __modes,
+     cookie_io_functions_t __io_funcs) noexcept (true)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
+  noexcept (true) __attribute__ ((__malloc__)) ;
+
+
+
+
+extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+
+extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+
+extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true)
+  __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
+      int __modes, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
+         size_t __size) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern void setlinebuf (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int fprintf (FILE *__restrict __stream,
+      const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int printf (const char *__restrict __format, ...);
+
+extern int sprintf (char *__restrict __s,
+      const char *__restrict __format, ...) noexcept (true);
+
+
+
+
+
+extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
+       __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
+
+extern int vsprintf (char *__restrict __s, const char *__restrict __format,
+       __gnuc_va_list __arg) noexcept (true);
+
+
+
+extern int snprintf (char *__restrict __s, size_t __maxlen,
+       const char *__restrict __format, ...)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
+
+extern int vsnprintf (char *__restrict __s, size_t __maxlen,
+        const char *__restrict __format, __gnuc_va_list __arg)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
+
+
+
+
+
+extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
+        __gnuc_va_list __arg)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) ;
+extern int __asprintf (char **__restrict __ptr,
+         const char *__restrict __fmt, ...)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ;
+extern int asprintf (char **__restrict __ptr,
+       const char *__restrict __fmt, ...)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ;
+
+
+
+
+extern int vdprintf (int __fd, const char *__restrict __fmt,
+       __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__printf__, 2, 0)));
+extern int dprintf (int __fd, const char *__restrict __fmt, ...)
+     __attribute__ ((__format__ (__printf__, 2, 3)));
+
+
+
+
+
+
+
+extern int fscanf (FILE *__restrict __stream,
+     const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int scanf (const char *__restrict __format, ...) ;
+
+extern int sscanf (const char *__restrict __s,
+     const char *__restrict __format, ...) noexcept (true);
+# 442 "/usr/include/stdio.h" 3 4
+extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc23_fscanf") __attribute__ ((__nonnull__ (1)));
+
+
+extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc23_scanf") ;
+
+extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_sscanf");
+# 490 "/usr/include/stdio.h" 3 4
+extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
+      __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
+
+
+extern int vsscanf (const char *__restrict __s,
+      const char *__restrict __format, __gnuc_va_list __arg)
+     noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
+
+
+
+
+
+
+extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfscanf")
+
+
+
+     __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1)));
+extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vscanf")
+
+     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
+extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vsscanf")
+
+
+
+     __attribute__ ((__format__ (__scanf__, 2, 0)));
+# 575 "/usr/include/stdio.h" 3 4
+extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int getchar (void);
+
+
+
+
+
+
+extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+extern int getchar_unlocked (void);
+# 600 "/usr/include/stdio.h" 3 4
+extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+# 611 "/usr/include/stdio.h" 3 4
+extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
+extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int putchar (int __c);
+# 627 "/usr/include/stdio.h" 3 4
+extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+
+extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
+extern int putchar_unlocked (int __c);
+
+
+
+
+
+
+extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+
+
+extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+
+extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
+                                                          __attribute__ ((__nonnull__ (3)));
+# 677 "/usr/include/stdio.h" 3 4
+extern char *fgets_unlocked (char *__restrict __s, int __n,
+        FILE *__restrict __stream)
+                                                   __attribute__ ((__nonnull__ (3)));
+# 689 "/usr/include/stdio.h" 3 4
+extern __ssize_t __getdelim (char **__restrict __lineptr,
+                             size_t *__restrict __n, int __delimiter,
+                             FILE *__restrict __stream) __attribute__ ((__nonnull__ (4)));
+extern __ssize_t getdelim (char **__restrict __lineptr,
+                           size_t *__restrict __n, int __delimiter,
+                           FILE *__restrict __stream) __attribute__ ((__nonnull__ (4)));
+
+
+extern __ssize_t getline (char **__restrict __lineptr,
+                          size_t *__restrict __n,
+                          FILE *__restrict __stream) __attribute__ ((__nonnull__ (3)));
+
+
+
+
+
+
+
+extern int fputs (const char *__restrict __s, FILE *__restrict __stream)
+  __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int puts (const char *__s);
+
+
+
+
+
+
+extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+extern size_t fread (void *__restrict __ptr, size_t __size,
+       size_t __n, FILE *__restrict __stream)
+  __attribute__ ((__nonnull__ (4)));
+
+
+
+
+extern size_t fwrite (const void *__restrict __ptr, size_t __size,
+        size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4)));
+# 745 "/usr/include/stdio.h" 3 4
+extern int fputs_unlocked (const char *__restrict __s,
+      FILE *__restrict __stream) __attribute__ ((__nonnull__ (2)));
+# 756 "/usr/include/stdio.h" 3 4
+extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
+         size_t __n, FILE *__restrict __stream)
+  __attribute__ ((__nonnull__ (4)));
+extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
+          size_t __n, FILE *__restrict __stream)
+  __attribute__ ((__nonnull__ (4)));
+
+
+
+
+
+
+
+extern int fseek (FILE *__stream, long int __off, int __whence)
+  __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern long int ftell (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+# 793 "/usr/include/stdio.h" 3 4
+extern int fseeko (FILE *__stream, __off_t __off, int __whence)
+  __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern __off_t ftello (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+# 819 "/usr/include/stdio.h" 3 4
+extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
+  __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1)));
+# 841 "/usr/include/stdio.h" 3 4
+extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence)
+  __attribute__ ((__nonnull__ (1)));
+extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos)
+  __attribute__ ((__nonnull__ (1)));
+extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern void clearerr (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern void clearerr_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern void perror (const char *__s) __attribute__ ((__cold__));
+
+
+
+
+extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 887 "/usr/include/stdio.h" 3 4
+extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern FILE *popen (const char *__command, const char *__modes)
+  __attribute__ ((__malloc__)) ;
+
+
+
+
+
+
+extern char *ctermid (char *__s) noexcept (true)
+                                     ;
+
+
+
+
+
+extern char *cuserid (char *__s)
+                                     ;
+
+
+
+
+struct obstack;
+
+
+extern int obstack_printf (struct obstack *__restrict __obstack,
+      const char *__restrict __format, ...)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
+extern int obstack_vprintf (struct obstack *__restrict __obstack,
+       const char *__restrict __format,
+       __gnuc_va_list __args)
+     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
+
+
+
+
+
+
+
+extern void flockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+
+
+extern void funlockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
+# 949 "/usr/include/stdio.h" 3 4
+extern int __uflow (FILE *);
+extern int __overflow (FILE *, int);
+# 973 "/usr/include/stdio.h" 3 4
+}
+# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 2 3
+# 35 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 3
+#pragma omp begin declare target
+
+             extern FILE *stderr;
+             extern FILE *stdin;
+             extern FILE *stdout;
+
+#pragma omp end declare target
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 2 3
+# 98 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
+namespace std
+{
+  using ::FILE;
+  using ::fpos_t;
+
+  using ::clearerr;
+  using ::fclose;
+  using ::feof;
+  using ::ferror;
+  using ::fflush;
+  using ::fgetc;
+  using ::fgetpos;
+  using ::fgets;
+  using ::fopen;
+  using ::fprintf;
+  using ::fputc;
+  using ::fputs;
+  using ::fread;
+  using ::freopen;
+  using ::fscanf;
+  using ::fseek;
+  using ::fsetpos;
+  using ::ftell;
+  using ::fwrite;
+  using ::getc;
+  using ::getchar;
+
+
+
+
+  using ::perror;
+  using ::printf;
+  using ::putc;
+  using ::putchar;
+  using ::puts;
+  using ::remove;
+  using ::rename;
+  using ::rewind;
+  using ::scanf;
+  using ::setbuf;
+  using ::setvbuf;
+  using ::sprintf;
+  using ::sscanf;
+  using ::tmpfile;
+
+  using ::tmpnam;
+
+  using ::ungetc;
+  using ::vfprintf;
+  using ::vprintf;
+  using ::vsprintf;
+}
+# 159 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
+namespace __gnu_cxx
+{
+# 177 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
+  using ::snprintf;
+  using ::vfscanf;
+  using ::vscanf;
+  using ::vsnprintf;
+  using ::vsscanf;
+
+}
+
+namespace std
+{
+  using ::__gnu_cxx::snprintf;
+  using ::__gnu_cxx::vfscanf;
+  using ::__gnu_cxx::vscanf;
+  using ::__gnu_cxx::vsnprintf;
+  using ::__gnu_cxx::vsscanf;
+}
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cerrno" 1 3
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cerrno" 3
+# 1 "/usr/include/errno.h" 1 3 4
+# 28 "/usr/include/errno.h" 3 4
+# 1 "/usr/include/bits/errno.h" 1 3 4
+# 26 "/usr/include/bits/errno.h" 3 4
+# 1 "/usr/include/linux/errno.h" 1 3 4
+# 1 "/usr/include/asm/errno.h" 1 3 4
+# 1 "/usr/include/asm-generic/errno.h" 1 3 4
+
+
+
+
+# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
+# 6 "/usr/include/asm-generic/errno.h" 2 3 4
+# 2 "/usr/include/asm/errno.h" 2 3 4
+# 2 "/usr/include/linux/errno.h" 2 3 4
+# 27 "/usr/include/bits/errno.h" 2 3 4
+# 29 "/usr/include/errno.h" 2 3 4
+
+
+
+
+
+extern "C" {
+
+
+extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
+
+
+
+
+
+
+
+extern char *program_invocation_name;
+extern char *program_invocation_short_name;
+
+# 1 "/usr/include/bits/types/error_t.h" 1 3 4
+# 22 "/usr/include/bits/types/error_t.h" 3 4
+typedef int error_t;
+# 49 "/usr/include/errno.h" 2 3 4
+
+
+
+}
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cerrno" 2 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 2 3
+
+namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  template<typename _TRet, typename _Ret = _TRet, typename _CharT,
+    typename... _Base>
+    _Ret
+    __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
+    const char* __name, const _CharT* __str, std::size_t* __idx,
+    _Base... __base)
+    {
+      _Ret __ret;
+
+      _CharT* __endptr;
+
+      struct _Save_errno {
+ _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
+ ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
+ int _M_errno;
+      } const __save_errno;
+
+      struct _Range_chk {
+   static bool
+   _S_chk(_TRet, std::false_type) { return false; }
+
+   static bool
+   _S_chk(_TRet __val, std::true_type)
+   {
+     return __val < _TRet(__numeric_traits<int>::__min)
+       || __val > _TRet(__numeric_traits<int>::__max);
+   }
+      };
+
+      const _TRet __tmp = __convf(__str, &__endptr, __base...);
+
+      if (__endptr == __str)
+ std::__throw_invalid_argument(__name);
+      else if ((*__errno_location ()) == 34
+   || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
+ std::__throw_out_of_range(__name);
+      else
+ __ret = __tmp;
+
+      if (__idx)
+ *__idx = __endptr - __str;
+
+      return __ret;
+    }
+
+
+  template<typename _String, typename _CharT = typename _String::value_type>
+    _String
+    __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
+     __builtin_va_list), std::size_t __n,
+   const _CharT* __fmt, ...)
+    {
+
+
+      _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+         * __n));
+
+      __builtin_va_list __args;
+      __builtin_va_start(__args, __fmt);
+
+      const int __len = __convf(__s, __n, __fmt, __args);
+
+      __builtin_va_end(__args);
+
+      return _String(__s, __s + __len);
+    }
+
+
+}
+# 4445 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/charconv.h" 1 3
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/charconv.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+namespace __detail
+{
+
+
+  template<typename _Tp>
+    constexpr bool __integer_to_chars_is_unsigned
+      = ! __gnu_cxx::__int_traits<_Tp>::__is_signed;
+
+
+
+  template<typename _Tp>
+    constexpr unsigned
+    __to_chars_len(_Tp __value, int __base = 10) noexcept
+    {
+
+      static_assert(__integer_to_chars_is_unsigned<_Tp>, "implementation bug");
+
+
+      unsigned __n = 1;
+      const unsigned __b2 = __base * __base;
+      const unsigned __b3 = __b2 * __base;
+      const unsigned long __b4 = __b3 * __base;
+      for (;;)
+ {
+   if (__value < (unsigned)__base) return __n;
+   if (__value < __b2) return __n + 1;
+   if (__value < __b3) return __n + 2;
+   if (__value < __b4) return __n + 3;
+   __value /= __b4;
+   __n += 4;
+ }
+    }
+
+
+
+
+  template<typename _Tp>
+                         void
+    __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
+    {
+
+      static_assert(__integer_to_chars_is_unsigned<_Tp>, "implementation bug");
+
+
+      constexpr char __digits[201] =
+ "0001020304050607080910111213141516171819"
+ "2021222324252627282930313233343536373839"
+ "4041424344454647484950515253545556575859"
+ "6061626364656667686970717273747576777879"
+ "8081828384858687888990919293949596979899";
+      unsigned __pos = __len - 1;
+      while (__val >= 100)
+ {
+   auto const __num = (__val % 100) * 2;
+   __val /= 100;
+   __first[__pos] = __digits[__num + 1];
+   __first[__pos - 1] = __digits[__num];
+   __pos -= 2;
+ }
+      if (__val >= 10)
+ {
+   auto const __num = __val * 2;
+   __first[1] = __digits[__num + 1];
+   __first[0] = __digits[__num];
+ }
+      else
+ __first[0] = '0' + __val;
+    }
+
+}
+
+}
+# 4446 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+namespace __cxx11 {
+
+
+  inline int
+  stoi(const string& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
+     __idx, __base); }
+
+  inline long
+  stol(const string& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
+        __idx, __base); }
+
+  inline unsigned long
+  stoul(const string& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
+        __idx, __base); }
+
+
+  inline long long
+  stoll(const string& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
+        __idx, __base); }
+
+  inline unsigned long long
+  stoull(const string& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
+        __idx, __base); }
+# 4488 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  inline double
+  stod(const string& __str, size_t* __idx = 0)
+  { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
+
+
+
+  inline float
+  stof(const string& __str, size_t* __idx = 0)
+  { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
+# 4516 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  inline long double
+  stold(const string& __str, size_t* __idx = 0)
+  { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
+# 4528 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  [[__nodiscard__]]
+  inline string
+  to_string(int __val)
+
+  noexcept
+
+  {
+    const bool __neg = __val < 0;
+    const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
+    const auto __len = __detail::__to_chars_len(__uval);
+    string __str;
+    __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) {
+      __p[0] = '-';
+      __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval);
+      return __n;
+    });
+    return __str;
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(unsigned __val)
+
+  noexcept
+
+  {
+    const auto __len = __detail::__to_chars_len(__val);
+    string __str;
+    __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) {
+      __detail::__to_chars_10_impl(__p, __n, __val);
+      return __n;
+    });
+    return __str;
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(long __val)
+
+
+
+  {
+    const bool __neg = __val < 0;
+    const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
+    const auto __len = __detail::__to_chars_len(__uval);
+    string __str;
+    __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) {
+      __p[0] = '-';
+      __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval);
+      return __n;
+    });
+    return __str;
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(unsigned long __val)
+
+
+
+  {
+    const auto __len = __detail::__to_chars_len(__val);
+    string __str;
+    __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) {
+      __detail::__to_chars_10_impl(__p, __n, __val);
+      return __n;
+    });
+    return __str;
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(long long __val)
+  {
+    const bool __neg = __val < 0;
+    const unsigned long long __uval
+      = __neg ? (unsigned long long)~__val + 1ull : __val;
+    const auto __len = __detail::__to_chars_len(__uval);
+    string __str;
+    __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) {
+      __p[0] = '-';
+      __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval);
+      return __n;
+    });
+    return __str;
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(unsigned long long __val)
+  {
+    const auto __len = __detail::__to_chars_len(__val);
+    string __str;
+    __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) {
+      __detail::__to_chars_10_impl(__p, __n, __val);
+      return __n;
+    });
+    return __str;
+  }
+# 4687 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+#pragma GCC diagnostic push
+
+
+
+  [[__nodiscard__]]
+  inline string
+  to_string(float __val)
+  {
+    const int __n =
+      __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
+    return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
+        "%f", __val);
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(double __val)
+  {
+    const int __n =
+      __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
+    return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
+        "%f", __val);
+  }
+
+  [[__nodiscard__]]
+  inline string
+  to_string(long double __val)
+  {
+    const int __n =
+      __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
+    return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
+        "%Lf", __val);
+  }
+#pragma GCC diagnostic pop
+
+
+
+  inline int
+  stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
+     __idx, __base); }
+
+  inline long
+  stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
+        __idx, __base); }
+
+  inline unsigned long
+  stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
+        __idx, __base); }
+
+  inline long long
+  stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
+        __idx, __base); }
+
+  inline unsigned long long
+  stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
+  { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
+        __idx, __base); }
+
+
+  inline float
+  stof(const wstring& __str, size_t* __idx = 0)
+  { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
+
+  inline double
+  stod(const wstring& __str, size_t* __idx = 0)
+  { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
+
+  inline long double
+  stold(const wstring& __str, size_t* __idx = 0)
+  { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+
+  inline void
+  __to_wstring_numeric(const char* __s, int __len, wchar_t* __wout)
+  {
+
+
+    if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-'
+      && wchar_t('.') == L'.' && wchar_t('e') == L'e')
+      {
+ for (int __i = 0; __i < __len; ++__i)
+   __wout[__i] = (wchar_t) __s[__i];
+      }
+    else
+      {
+ wchar_t __wc[256];
+ for (int __i = '0'; __i <= '9'; ++__i)
+   __wc[__i] = L'0' + __i;
+ __wc['.'] = L'.';
+ __wc['+'] = L'+';
+ __wc['-'] = L'-';
+ __wc['a'] = L'a';
+ __wc['b'] = L'b';
+ __wc['c'] = L'c';
+ __wc['d'] = L'd';
+ __wc['e'] = L'e';
+ __wc['f'] = L'f';
+ __wc['i'] = L'i';
+ __wc['n'] = L'n';
+ __wc['p'] = L'p';
+ __wc['x'] = L'x';
+ __wc['A'] = L'A';
+ __wc['B'] = L'B';
+ __wc['C'] = L'C';
+ __wc['D'] = L'D';
+ __wc['E'] = L'E';
+ __wc['F'] = L'F';
+ __wc['I'] = L'I';
+ __wc['N'] = L'N';
+ __wc['P'] = L'P';
+ __wc['X'] = L'X';
+
+ for (int __i = 0; __i < __len; ++__i)
+   __wout[__i] = __wc[(int)__s[__i]];
+      }
+  }
+
+
+
+
+  inline wstring
+
+  __to_wstring_numeric(string_view __s)
+
+
+
+  {
+    if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-'
+      && wchar_t('.') == L'.' && wchar_t('e') == L'e')
+      return wstring(__s.data(), __s.data() + __s.size());
+    else
+      {
+ wstring __ws;
+ auto __f = __s.data();
+ __ws.__resize_and_overwrite(__s.size(),
+        [__f] (wchar_t* __to, int __n) {
+          std::__to_wstring_numeric(__f, __n, __to);
+          return __n;
+        });
+ return __ws;
+      }
+  }
+#pragma GCC diagnostic pop
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(int __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(unsigned __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(long __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(unsigned long __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(long long __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(unsigned long long __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(float __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(double __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+  [[__nodiscard__]]
+  inline wstring
+  to_wstring(long double __val)
+  { return std::__to_wstring_numeric(std::to_string(__val)); }
+
+
+
+}
+
+}
+
+
+
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+  template<typename _CharT, typename _Alloc,
+    typename _StrT = basic_string<_CharT, char_traits<_CharT>, _Alloc>>
+    struct __str_hash_base
+    : public __hash_base<size_t, _StrT>
+    {
+      [[__nodiscard__]]
+      size_t
+      operator()(const _StrT& __s) const noexcept
+      { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(_CharT)); }
+    };
+
+
+
+  template<typename _Alloc>
+    struct hash<basic_string<char, char_traits<char>, _Alloc>>
+    : public __str_hash_base<char, _Alloc>
+    { };
+
+
+  template<typename _Alloc>
+    struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Alloc>>
+    : public __str_hash_base<wchar_t, _Alloc>
+    { };
+
+  template<typename _Alloc>
+    struct __is_fast_hash<hash<basic_string<wchar_t, char_traits<wchar_t>,
+         _Alloc>>>
+    : std::false_type
+    { };
+# 4944 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  template<typename _Alloc>
+    struct hash<basic_string<char16_t, char_traits<char16_t>, _Alloc>>
+    : public __str_hash_base<char16_t, _Alloc>
+    { };
+
+
+  template<typename _Alloc>
+    struct hash<basic_string<char32_t, char_traits<char32_t>, _Alloc>>
+    : public __str_hash_base<char32_t, _Alloc>
+    { };
+
+
+
+  template<> struct __is_fast_hash<hash<string>> : std::false_type { };
+  template<> struct __is_fast_hash<hash<wstring>> : std::false_type { };
+  template<> struct __is_fast_hash<hash<u16string>> : std::false_type { };
+  template<> struct __is_fast_hash<hash<u32string>> : std::false_type { };
+# 4973 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+  inline namespace literals
+  {
+  inline namespace string_literals
+  {
+#pragma GCC diagnostic push
+
+
+
+
+
+
+
+
+    __attribute ((__abi_tag__ ("cxx11")))
+    inline basic_string<char>
+    operator""s(const char* __str, size_t __len)
+    { return basic_string<char>{__str, __len}; }
+
+    __attribute ((__abi_tag__ ("cxx11")))
+    inline basic_string<wchar_t>
+    operator""s(const wchar_t* __str, size_t __len)
+    { return basic_string<wchar_t>{__str, __len}; }
+# 5003 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
+    __attribute ((__abi_tag__ ("cxx11")))
+    inline basic_string<char16_t>
+    operator""s(const char16_t* __str, size_t __len)
+    { return basic_string<char16_t>{__str, __len}; }
+
+    __attribute ((__abi_tag__ ("cxx11")))
+    inline basic_string<char32_t>
+    operator""s(const char32_t* __str, size_t __len)
+    { return basic_string<char32_t>{__str, __len}; }
+
+
+#pragma GCC diagnostic pop
+  }
+  }
+
+
+
+  namespace __detail::__variant
+  {
+    template<typename> struct _Never_valueless_alt;
+
+
+
+    template<typename _Tp, typename _Traits, typename _Alloc>
+      struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
+      : __and_<
+ is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
+ is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
+ >::type
+      { };
+  }
+
+
+
+}
+# 57 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 1 3
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    const typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::npos;
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    swap(basic_string& __s) noexcept
+    {
+      if (this == std::__addressof(__s))
+ return;
+
+      _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
+
+      if (_M_is_local())
+ if (__s._M_is_local())
+   {
+     if (length() && __s.length())
+       {
+  _CharT __tmp_data[_S_local_capacity + 1];
+  traits_type::copy(__tmp_data, __s._M_local_buf,
+      __s.length() + 1);
+  traits_type::copy(__s._M_local_buf, _M_local_buf,
+      length() + 1);
+  traits_type::copy(_M_local_buf, __tmp_data,
+      __s.length() + 1);
+       }
+     else if (__s.length())
+       {
+  _M_init_local_buf();
+  traits_type::copy(_M_local_buf, __s._M_local_buf,
+      __s.length() + 1);
+  _M_length(__s.length());
+  __s._M_set_length(0);
+  return;
+       }
+     else if (length())
+       {
+  __s._M_init_local_buf();
+  traits_type::copy(__s._M_local_buf, _M_local_buf,
+      length() + 1);
+  __s._M_length(length());
+  _M_set_length(0);
+  return;
+       }
+   }
+ else
+   {
+     const size_type __tmp_capacity = __s._M_allocated_capacity;
+     __s._M_init_local_buf();
+     traits_type::copy(__s._M_local_buf, _M_local_buf,
+         length() + 1);
+     _M_data(__s._M_data());
+     __s._M_data(__s._M_local_buf);
+     _M_capacity(__tmp_capacity);
+   }
+      else
+ {
+   const size_type __tmp_capacity = _M_allocated_capacity;
+   if (__s._M_is_local())
+     {
+       _M_init_local_buf();
+       traits_type::copy(_M_local_buf, __s._M_local_buf,
+    __s.length() + 1);
+       __s._M_data(_M_data());
+       _M_data(_M_local_buf);
+     }
+   else
+     {
+       pointer __tmp_ptr = _M_data();
+       _M_data(__s._M_data());
+       __s._M_data(__tmp_ptr);
+       _M_capacity(__s._M_allocated_capacity);
+     }
+   __s._M_capacity(__tmp_capacity);
+ }
+
+      const size_type __tmp_length = length();
+      _M_length(__s.length());
+      __s._M_length(__tmp_length);
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::pointer
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_create(size_type& __capacity, size_type __old_capacity)
+    {
+
+
+      if (__capacity > max_size())
+ std::__throw_length_error(("basic_string::_M_create"));
+
+
+
+
+      if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
+ {
+   __capacity = 2 * __old_capacity;
+
+   if (__capacity > max_size())
+     __capacity = max_size();
+ }
+
+
+
+      return _S_allocate(_M_get_allocator(), __capacity + 1);
+    }
+
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    template<typename _InIterator>
+
+      void
+      basic_string<_CharT, _Traits, _Alloc>::
+      _M_construct(_InIterator __beg, _InIterator __end,
+     std::input_iterator_tag)
+      {
+ size_type __len = 0;
+ size_type __capacity = size_type(_S_local_capacity);
+
+ _M_init_local_buf();
+
+ while (__beg != __end && __len < __capacity)
+   {
+     _M_local_buf[__len++] = *__beg;
+     ++__beg;
+   }
+
+ struct _Guard
+ {
+
+   explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
+
+
+   ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
+
+   basic_string* _M_guarded;
+ } __guard(this);
+
+ while (__beg != __end)
+   {
+     if (__len == __capacity)
+       {
+
+  __capacity = __len + 1;
+  pointer __another = _M_create(__capacity, __len);
+  this->_S_copy(__another, _M_data(), __len);
+  _M_dispose();
+  _M_data(__another);
+  _M_capacity(__capacity);
+       }
+     traits_type::assign(_M_data()[__len++],
+    static_cast<_CharT>(*__beg));
+     ++__beg;
+   }
+
+ __guard._M_guarded = 0;
+
+ _M_set_length(__len);
+      }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    template<typename _InIterator>
+
+      void
+      basic_string<_CharT, _Traits, _Alloc>::
+      _M_construct(_InIterator __beg, _InIterator __end,
+     std::forward_iterator_tag)
+      {
+ size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
+
+ if (__dnew > size_type(_S_local_capacity))
+   {
+     _M_data(_M_create(__dnew, size_type(0)));
+     _M_capacity(__dnew);
+   }
+ else
+   _M_init_local_buf();
+
+
+ struct _Guard
+ {
+
+   explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
+
+
+   ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
+
+   basic_string* _M_guarded;
+ } __guard(this);
+
+ this->_S_copy_chars(_M_data(), __beg, __end);
+
+ __guard._M_guarded = 0;
+
+ _M_set_length(__dnew);
+      }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_construct(size_type __n, _CharT __c)
+    {
+      if (__n > size_type(_S_local_capacity))
+ {
+   _M_data(_M_create(__n, size_type(0)));
+   _M_capacity(__n);
+ }
+      else
+ _M_init_local_buf();
+
+      if (__n)
+ this->_S_assign(_M_data(), __n, __c);
+
+      _M_set_length(__n);
+    }
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    template<bool _Terminated>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_construct(const _CharT* __str, size_type __n)
+    {
+      if (__n > size_type(_S_local_capacity))
+ {
+   _M_data(_M_create(__n, size_type(0)));
+   _M_capacity(__n);
+ }
+      else
+ _M_init_local_buf();
+
+      if (__n || _Terminated)
+ this->_S_copy(_M_data(), __str, __n + _Terminated);
+
+      _M_length(__n);
+      if (!_Terminated)
+ traits_type::assign(_M_data()[__n], _CharT());
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_assign(const basic_string& __str)
+    {
+      if (this != std::__addressof(__str))
+ {
+   const size_type __rsize = __str.length();
+   const size_type __capacity = capacity();
+
+   if (__rsize > __capacity)
+     {
+       size_type __new_capacity = __rsize;
+       pointer __tmp = _M_create(__new_capacity, __capacity);
+       _M_dispose();
+       _M_data(__tmp);
+       _M_capacity(__new_capacity);
+     }
+
+   if (__rsize)
+     this->_S_copy(_M_data(), __str._M_data(), __rsize);
+
+   _M_set_length(__rsize);
+ }
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    reserve(size_type __res)
+    {
+      const size_type __capacity = capacity();
+
+
+
+
+      if (__res <= __capacity)
+ return;
+
+      pointer __tmp = _M_create(__res, __capacity);
+      this->_S_copy(__tmp, _M_data(), length() + 1);
+      _M_dispose();
+      _M_data(__tmp);
+      _M_capacity(__res);
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
+       size_type __len2)
+    {
+      const size_type __how_much = length() - __pos - __len1;
+
+      size_type __new_capacity = length() + __len2 - __len1;
+      pointer __r = _M_create(__new_capacity, capacity());
+
+      if (__pos)
+ this->_S_copy(__r, _M_data(), __pos);
+      if (__s && __len2)
+ this->_S_copy(__r + __pos, __s, __len2);
+      if (__how_much)
+ this->_S_copy(__r + __pos + __len2,
+        _M_data() + __pos + __len1, __how_much);
+
+      _M_dispose();
+      _M_data(__r);
+      _M_capacity(__new_capacity);
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_erase(size_type __pos, size_type __n)
+    {
+      const size_type __how_much = length() - __pos - __n;
+
+      if (__how_much && __n)
+ this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
+
+      _M_set_length(length() - __n);
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    reserve()
+    {
+      if (_M_is_local())
+ return;
+
+      const size_type __length = length();
+      const size_type __capacity = _M_allocated_capacity;
+
+      if (__length <= size_type(_S_local_capacity))
+ {
+   _M_init_local_buf();
+   this->_S_copy(_M_local_buf, _M_data(), __length + 1);
+   _M_destroy(__capacity);
+   _M_data(_M_local_data());
+ }
+
+      else if (__length < __capacity)
+ try
+   {
+     pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1);
+     this->_S_copy(__tmp, _M_data(), __length + 1);
+     _M_dispose();
+     _M_data(__tmp);
+     _M_capacity(__length);
+   }
+ catch (const __cxxabiv1::__forced_unwind&)
+   { throw; }
+ catch (...)
+   { }
+
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    void
+    basic_string<_CharT, _Traits, _Alloc>::
+    resize(size_type __n, _CharT __c)
+    {
+      const size_type __size = this->size();
+      if (__size < __n)
+ this->append(__n - __size, __c);
+      else if (__n < __size)
+ this->_M_set_length(__n);
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    basic_string<_CharT, _Traits, _Alloc>&
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_append(const _CharT* __s, size_type __n)
+    {
+      const size_type __len = __n + this->size();
+
+      if (__len <= this->capacity())
+ {
+   if (__n)
+     this->_S_copy(this->_M_data() + this->size(), __s, __n);
+ }
+      else
+ this->_M_mutate(this->size(), size_type(0), __s, __n);
+
+      this->_M_set_length(__len);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    template<typename _InputIterator>
+
+      basic_string<_CharT, _Traits, _Alloc>&
+      basic_string<_CharT, _Traits, _Alloc>::
+      _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
+     _InputIterator __k1, _InputIterator __k2,
+     std::__false_type)
+      {
+
+
+ const basic_string __s(__k1, __k2, this->get_allocator());
+ const size_type __n1 = __i2 - __i1;
+ return _M_replace(__i1 - begin(), __n1, __s._M_data(),
+     __s.size());
+      }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    basic_string<_CharT, _Traits, _Alloc>&
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
+     _CharT __c)
+    {
+      _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
+
+      const size_type __old_size = this->size();
+      const size_type __new_size = __old_size + __n2 - __n1;
+
+      if (__new_size <= this->capacity())
+ {
+   pointer __p = this->_M_data() + __pos1;
+
+   const size_type __how_much = __old_size - __pos1 - __n1;
+   if (__how_much && __n1 != __n2)
+     this->_S_move(__p + __n2, __p + __n1, __how_much);
+ }
+      else
+ this->_M_mutate(__pos1, __n1, 0, __n2);
+
+      if (__n2)
+ this->_S_assign(this->_M_data() + __pos1, __n2, __c);
+
+      this->_M_set_length(__new_size);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    __attribute__((__noinline__, __noclone__, __cold__)) void
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s,
+      const size_type __len2, const size_type __how_much)
+    {
+
+      if (__len2 && __len2 <= __len1)
+ this->_S_move(__p, __s, __len2);
+      if (__how_much && __len1 != __len2)
+ this->_S_move(__p + __len2, __p + __len1, __how_much);
+      if (__len2 > __len1)
+ {
+   if (__s + __len2 <= __p + __len1)
+     this->_S_move(__p, __s, __len2);
+   else if (__s >= __p + __len1)
+     {
+
+
+       const size_type __poff = (__s - __p) + (__len2 - __len1);
+       this->_S_copy(__p, __p + __poff, __len2);
+     }
+   else
+     {
+       const size_type __nleft = (__p + __len1) - __s;
+       this->_S_move(__p, __s, __nleft);
+       this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft);
+     }
+ }
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    basic_string<_CharT, _Traits, _Alloc>&
+    basic_string<_CharT, _Traits, _Alloc>::
+    _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
+        const size_type __len2)
+    {
+      _M_check_length(__len1, __len2, "basic_string::_M_replace");
+
+      const size_type __old_size = this->size();
+      const size_type __new_size = __old_size + __len2 - __len1;
+
+      if (__new_size <= this->capacity())
+ {
+   pointer __p = this->_M_data() + __pos;
+
+   const size_type __how_much = __old_size - __pos - __len1;
+# 568 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
+   if (__builtin_expect(_M_disjunct(__s), true))
+     {
+       if (__how_much && __len1 != __len2)
+  this->_S_move(__p + __len2, __p + __len1, __how_much);
+       if (__len2)
+  this->_S_copy(__p, __s, __len2);
+     }
+   else
+     _M_replace_cold(__p, __len1, __s, __len2, __how_much);
+ }
+      else
+ this->_M_mutate(__pos, __len1, __s, __len2);
+
+      this->_M_set_length(__new_size);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    copy(_CharT* __s, size_type __n, size_type __pos) const
+    {
+      _M_check(__pos, "basic_string::copy");
+      __n = _M_limit(__pos, __n);
+                                             ;
+      if (__n)
+ _S_copy(__s, _M_data() + __pos, __n);
+
+      return __n;
+    }
+# 611 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+  template<typename _Operation>
+                         void
+    basic_string<_CharT, _Traits, _Alloc>::
+
+
+
+    __resize_and_overwrite(const size_type __n, _Operation __op)
+
+    {
+      reserve(__n);
+      _CharT* const __p = _M_data();
+
+
+
+
+      struct _Terminator {
+                      ~_Terminator() { _M_this->_M_set_length(_M_r); }
+ basic_string* _M_this;
+ size_type _M_r;
+      };
+      _Terminator __term{this, 0};
+      auto __r = std::move(__op)(__p + 0, __n + 0);
+
+
+
+      static_assert(__gnu_cxx::__is_integer_nonstrict<decltype(__r)>::__value,
+      "resize_and_overwrite operation must return an integer");
+
+                                                              ;
+      __term._M_r = size_type(__r);
+      if (__term._M_r > __n)
+ __builtin_unreachable();
+    }
+# 654 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find(const _CharT* __s, size_type __pos, size_type __n) const
+    noexcept
+    {
+                                             ;
+      const size_type __size = this->size();
+
+      if (__n == 0)
+ return __pos <= __size ? __pos : npos;
+      if (__pos >= __size)
+ return npos;
+
+      const _CharT __elem0 = __s[0];
+      const _CharT* const __data = data();
+      const _CharT* __first = __data + __pos;
+      const _CharT* const __last = __data + __size;
+      size_type __len = __size - __pos;
+
+      while (__len >= __n)
+ {
+
+   __first = traits_type::find(__first, __len - __n + 1, __elem0);
+   if (!__first)
+     return npos;
+
+
+
+   if (traits_type::compare(__first, __s, __n) == 0)
+     return __first - __data;
+   __len = __last - ++__first;
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __ret = npos;
+      const size_type __size = this->size();
+      if (__pos < __size)
+ {
+   const _CharT* __data = _M_data();
+   const size_type __n = __size - __pos;
+   const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
+   if (__p)
+     __ret = __p - __data;
+ }
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    rfind(const _CharT* __s, size_type __pos, size_type __n) const
+    noexcept
+    {
+                                             ;
+      const size_type __size = this->size();
+      if (__n <= __size)
+ {
+   __pos = std::min(size_type(__size - __n), __pos);
+   const _CharT* __data = _M_data();
+   do
+     {
+       if (traits_type::compare(__data + __pos, __s, __n) == 0)
+  return __pos;
+     }
+   while (__pos-- > 0);
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    rfind(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __size = this->size();
+      if (__size)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   for (++__size; __size-- > 0; )
+     if (traits_type::eq(_M_data()[__size], __c))
+       return __size;
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
+    noexcept
+    {
+                                             ;
+      for (; __n && __pos < this->size(); ++__pos)
+ {
+   const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
+   if (__p)
+     return __pos;
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
+    noexcept
+    {
+                                             ;
+      size_type __size = this->size();
+      if (__size && __n)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   do
+     {
+       if (traits_type::find(__s, __n, _M_data()[__size]))
+  return __size;
+     }
+   while (__size-- != 0);
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
+    noexcept
+    {
+                                             ;
+      for (; __pos < this->size(); ++__pos)
+ if (!traits_type::find(__s, __n, _M_data()[__pos]))
+   return __pos;
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find_first_not_of(_CharT __c, size_type __pos) const noexcept
+    {
+      for (; __pos < this->size(); ++__pos)
+ if (!traits_type::eq(_M_data()[__pos], __c))
+   return __pos;
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
+    noexcept
+    {
+                                             ;
+      size_type __size = this->size();
+      if (__size)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   do
+     {
+       if (!traits_type::find(__s, __n, _M_data()[__size]))
+  return __size;
+     }
+   while (__size--);
+ }
+      return npos;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+
+    typename basic_string<_CharT, _Traits, _Alloc>::size_type
+    basic_string<_CharT, _Traits, _Alloc>::
+    find_last_not_of(_CharT __c, size_type __pos) const noexcept
+    {
+      size_type __size = this->size();
+      if (__size)
+ {
+   if (--__size > __pos)
+     __size = __pos;
+   do
+     {
+       if (!traits_type::eq(_M_data()[__size], __c))
+  return __size;
+     }
+   while (__size--);
+ }
+      return npos;
+    }
+
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    basic_istream<_CharT, _Traits>&
+    operator>>(basic_istream<_CharT, _Traits>& __in,
+        basic_string<_CharT, _Traits, _Alloc>& __str)
+    {
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
+      typedef typename __istream_type::ios_base __ios_base;
+      typedef typename __istream_type::int_type __int_type;
+      typedef typename __string_type::size_type __size_type;
+      typedef ctype<_CharT> __ctype_type;
+      typedef typename __ctype_type::ctype_base __ctype_base;
+
+      __size_type __extracted = 0;
+      typename __ios_base::iostate __err = __ios_base::goodbit;
+      typename __istream_type::sentry __cerb(__in, false);
+      if (__cerb)
+ {
+   try
+     {
+
+       __str.erase();
+       _CharT __buf[128];
+       __size_type __len = 0;
+       const streamsize __w = __in.width();
+       const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
+                                : __str.max_size();
+       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
+       const __int_type __eof = _Traits::eof();
+       __int_type __c = __in.rdbuf()->sgetc();
+
+       while (__extracted < __n
+       && !_Traits::eq_int_type(__c, __eof)
+       && !__ct.is(__ctype_base::space,
+     _Traits::to_char_type(__c)))
+  {
+    if (__len == sizeof(__buf) / sizeof(_CharT))
+      {
+        __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
+        __len = 0;
+      }
+    __buf[__len++] = _Traits::to_char_type(__c);
+    ++__extracted;
+    __c = __in.rdbuf()->snextc();
+  }
+       __str.append(__buf, __len);
+
+       if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
+  __err |= __ios_base::eofbit;
+       __in.width(0);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __in._M_setstate(__ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     {
+
+
+
+       __in._M_setstate(__ios_base::badbit);
+     }
+ }
+
+      if (!__extracted)
+ __err |= __ios_base::failbit;
+      if (__err)
+ __in.setstate(__err);
+      return __in;
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    basic_istream<_CharT, _Traits>&
+    getline(basic_istream<_CharT, _Traits>& __in,
+     basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
+    {
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
+      typedef typename __istream_type::ios_base __ios_base;
+      typedef typename __istream_type::int_type __int_type;
+      typedef typename __string_type::size_type __size_type;
+
+      __size_type __extracted = 0;
+      const __size_type __n = __str.max_size();
+      typename __ios_base::iostate __err = __ios_base::goodbit;
+      typename __istream_type::sentry __cerb(__in, true);
+      if (__cerb)
+ {
+   try
+     {
+       __str.erase();
+       const __int_type __idelim = _Traits::to_int_type(__delim);
+       const __int_type __eof = _Traits::eof();
+       __int_type __c = __in.rdbuf()->sgetc();
+
+       while (__extracted < __n
+       && !_Traits::eq_int_type(__c, __eof)
+       && !_Traits::eq_int_type(__c, __idelim))
+  {
+    __str += _Traits::to_char_type(__c);
+    ++__extracted;
+    __c = __in.rdbuf()->snextc();
+  }
+
+       if (_Traits::eq_int_type(__c, __eof))
+  __err |= __ios_base::eofbit;
+       else if (_Traits::eq_int_type(__c, __idelim))
+  {
+    ++__extracted;
+    __in.rdbuf()->sbumpc();
+  }
+       else
+  __err |= __ios_base::failbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __in._M_setstate(__ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     {
+
+
+
+       __in._M_setstate(__ios_base::badbit);
+     }
+ }
+      if (!__extracted)
+ __err |= __ios_base::failbit;
+      if (__err)
+ __in.setstate(__err);
+      return __in;
+    }
+# 1021 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
+  extern template
+    basic_istream<char>&
+    operator>>(basic_istream<char>&, string&);
+  extern template
+    basic_ostream<char>&
+    operator<<(basic_ostream<char>&, const string&);
+  extern template
+    basic_istream<char>&
+    getline(basic_istream<char>&, string&, char);
+  extern template
+    basic_istream<char>&
+    getline(basic_istream<char>&, string&);
+# 1047 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
+  extern template
+    basic_istream<wchar_t>&
+    operator>>(basic_istream<wchar_t>&, wstring&);
+  extern template
+    basic_ostream<wchar_t>&
+    operator<<(basic_ostream<wchar_t>&, const wstring&);
+  extern template
+    basic_istream<wchar_t>&
+    getline(basic_istream<wchar_t>&, wstring&, wchar_t);
+  extern template
+    basic_istream<wchar_t>&
+    getline(basic_istream<wchar_t>&, wstring&);
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 58 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+# 69 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 70 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 1 3
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3
+# 88 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3
+# 89 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+
+
+
+
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3
+# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3
+# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 113 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3
+# 114 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 128 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
+# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_offsetof.h" 1 3
+# 129 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
+# 53 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 2 3
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
+extern "C++"
+{
+
+namespace std
+{
+
+  using ::max_align_t;
+}
+
+
+
+namespace std
+{
+
+
+  enum class byte : unsigned char {};
+
+  template<typename _IntegerType> struct __byte_operand { };
+  template<> struct __byte_operand<bool> { using __type = byte; };
+  template<> struct __byte_operand<char> { using __type = byte; };
+  template<> struct __byte_operand<signed char> { using __type = byte; };
+  template<> struct __byte_operand<unsigned char> { using __type = byte; };
+  template<> struct __byte_operand<wchar_t> { using __type = byte; };
+
+
+
+  template<> struct __byte_operand<char16_t> { using __type = byte; };
+  template<> struct __byte_operand<char32_t> { using __type = byte; };
+  template<> struct __byte_operand<short> { using __type = byte; };
+  template<> struct __byte_operand<unsigned short> { using __type = byte; };
+  template<> struct __byte_operand<int> { using __type = byte; };
+  template<> struct __byte_operand<unsigned int> { using __type = byte; };
+  template<> struct __byte_operand<long> { using __type = byte; };
+  template<> struct __byte_operand<unsigned long> { using __type = byte; };
+  template<> struct __byte_operand<long long> { using __type = byte; };
+  template<> struct __byte_operand<unsigned long long> { using __type = byte; };
+
+  template<> struct __byte_operand<__int128>
+  { using __type = byte; };
+  template<> struct __byte_operand<unsigned __int128>
+  { using __type = byte; };
+# 114 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 3
+  template<typename _IntegerType>
+    struct __byte_operand<const _IntegerType>
+    : __byte_operand<_IntegerType> { };
+  template<typename _IntegerType>
+    struct __byte_operand<volatile _IntegerType>
+    : __byte_operand<_IntegerType> { };
+  template<typename _IntegerType>
+    struct __byte_operand<const volatile _IntegerType>
+    : __byte_operand<_IntegerType> { };
+
+  template<typename _IntegerType>
+    using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
+
+  template<typename _IntegerType>
+    [[__gnu__::__always_inline__]]
+    constexpr __byte_op_t<_IntegerType>
+    operator<<(byte __b, _IntegerType __shift) noexcept
+    { return (byte)(unsigned char)((unsigned)__b << __shift); }
+
+  template<typename _IntegerType>
+    [[__gnu__::__always_inline__]]
+    constexpr __byte_op_t<_IntegerType>
+    operator>>(byte __b, _IntegerType __shift) noexcept
+    { return (byte)(unsigned char)((unsigned)__b >> __shift); }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte
+  operator|(byte __l, byte __r) noexcept
+  { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte
+  operator&(byte __l, byte __r) noexcept
+  { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte
+  operator^(byte __l, byte __r) noexcept
+  { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte
+  operator~(byte __b) noexcept
+  { return (byte)(unsigned char)~(unsigned)__b; }
+
+  template<typename _IntegerType>
+    [[__gnu__::__always_inline__]]
+    constexpr __byte_op_t<_IntegerType>&
+    operator<<=(byte& __b, _IntegerType __shift) noexcept
+    { return __b = __b << __shift; }
+
+  template<typename _IntegerType>
+    [[__gnu__::__always_inline__]]
+    constexpr __byte_op_t<_IntegerType>&
+    operator>>=(byte& __b, _IntegerType __shift) noexcept
+    { return __b = __b >> __shift; }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte&
+  operator|=(byte& __l, byte __r) noexcept
+  { return __l = __l | __r; }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte&
+  operator&=(byte& __l, byte __r) noexcept
+  { return __l = __l & __r; }
+
+  [[__gnu__::__always_inline__]]
+  constexpr byte&
+  operator^=(byte& __l, byte __r) noexcept
+  { return __l = __l ^ __r; }
+
+  template<typename _IntegerType>
+    [[nodiscard,__gnu__::__always_inline__]]
+    constexpr _IntegerType
+    to_integer(__byte_op_t<_IntegerType> __b) noexcept
+    { return _IntegerType(__b); }
+
+
+}
+
+}
+
+#pragma GCC diagnostic pop
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator.h" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  struct __erased_type { };
+
+
+
+
+  template<typename _Alloc, typename _Tp>
+    using __is_erased_or_convertible
+      = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
+
+
+  struct allocator_arg_t { explicit allocator_arg_t() = default; };
+
+  inline constexpr allocator_arg_t allocator_arg =
+    allocator_arg_t();
+
+  template<typename _Tp, typename _Alloc, typename = __void_t<>>
+    struct __uses_allocator_helper
+    : false_type { };
+
+  template<typename _Tp, typename _Alloc>
+    struct __uses_allocator_helper<_Tp, _Alloc,
+       __void_t<typename _Tp::allocator_type>>
+    : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
+    { };
+
+
+  template<typename _Tp, typename _Alloc>
+    struct uses_allocator
+    : __uses_allocator_helper<_Tp, _Alloc>::type
+    { };
+
+  struct __uses_alloc_base { };
+
+  struct __uses_alloc0 : __uses_alloc_base
+  {
+    struct _Sink { void operator=(const void*) { } } _M_a;
+  };
+
+  template<typename _Alloc>
+    struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
+
+  template<typename _Alloc>
+    struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
+
+  template<bool, typename _Tp, typename _Alloc, typename... _Args>
+    struct __uses_alloc;
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    struct __uses_alloc<true, _Tp, _Alloc, _Args...>
+    : __conditional_t<
+        is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
+        __uses_alloc1<_Alloc>,
+        __uses_alloc2<_Alloc>>
+    {
+
+
+      static_assert(__or_<
+   is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
+   is_constructible<_Tp, _Args..., const _Alloc&>>::value,
+   "construction with an allocator must be possible"
+   " if uses_allocator is true");
+    };
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    struct __uses_alloc<false, _Tp, _Alloc, _Args...>
+    : __uses_alloc0 { };
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    using __uses_alloc_t =
+      __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+
+    inline __uses_alloc_t<_Tp, _Alloc, _Args...>
+    __use_alloc(const _Alloc& __a)
+    {
+      __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
+      __ret._M_a = std::__addressof(__a);
+      return __ret;
+    }
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    void
+    __use_alloc(const _Alloc&&) = delete;
+
+
+  template <typename _Tp, typename _Alloc>
+    inline constexpr bool uses_allocator_v =
+      uses_allocator<_Tp, _Alloc>::value;
+
+
+
+
+
+
+
+  template<template<typename...> class _Predicate,
+    typename _Tp, typename _Alloc, typename... _Args>
+    struct __is_uses_allocator_predicate
+    : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
+      __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
+     _Predicate<_Tp, _Args..., _Alloc>>,
+      _Predicate<_Tp, _Args...>> { };
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    struct __is_uses_allocator_constructible
+    : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
+    { };
+
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    inline constexpr bool __is_uses_allocator_constructible_v =
+      __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
+
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    struct __is_nothrow_uses_allocator_constructible
+    : __is_uses_allocator_predicate<is_nothrow_constructible,
+        _Tp, _Alloc, _Args...>
+    { };
+
+
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    inline constexpr bool
+    __is_nothrow_uses_allocator_constructible_v =
+      __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
+
+
+  template<typename _Tp, typename... _Args>
+    void __uses_allocator_construct_impl(__uses_alloc0, _Tp* __ptr,
+      _Args&&... __args)
+    { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
+      _Args&&... __args)
+    {
+      ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
+          std::forward<_Args>(__args)...);
+    }
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
+      _Args&&... __args)
+    { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
+
+  template<typename _Tp, typename _Alloc, typename... _Args>
+    void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
+        _Args&&... __args)
+    {
+      std::__uses_allocator_construct_impl(
+   std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
+   std::forward<_Args>(__args)...);
+    }
+
+
+
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator_args.h" 1 3
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator_args.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator_args.h" 2 3
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
+
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 1 3
+# 57 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 58 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+
+  template<typename... _Elements>
+    class tuple;
+
+
+  template<typename _Tp>
+    struct __is_empty_non_tuple : is_empty<_Tp> { };
+
+
+  template<typename _El0, typename... _El>
+    struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
+
+
+  template<typename _Tp>
+    using __empty_not_final
+    = __conditional_t<__is_final(_Tp), false_type,
+        __is_empty_non_tuple<_Tp>>;
+
+  template<size_t _Idx, typename _Head,
+    bool = __empty_not_final<_Head>::value>
+    struct _Head_base;
+
+
+  template<size_t _Idx, typename _Head>
+    struct _Head_base<_Idx, _Head, true>
+    {
+      constexpr _Head_base()
+      : _M_head_impl() { }
+
+      constexpr _Head_base(const _Head& __h)
+      : _M_head_impl(__h) { }
+
+      constexpr _Head_base(const _Head_base&) = default;
+      constexpr _Head_base(_Head_base&&) = default;
+
+      template<typename _UHead>
+ constexpr _Head_base(_UHead&& __h)
+ : _M_head_impl(std::forward<_UHead>(__h)) { }
+
+
+      _Head_base(allocator_arg_t, __uses_alloc0)
+      : _M_head_impl() { }
+
+      template<typename _Alloc>
+
+ _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
+ : _M_head_impl(allocator_arg, *__a._M_a) { }
+
+      template<typename _Alloc>
+
+ _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
+ : _M_head_impl(*__a._M_a) { }
+
+      template<typename _UHead>
+
+ _Head_base(__uses_alloc0, _UHead&& __uhead)
+ : _M_head_impl(std::forward<_UHead>(__uhead)) { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
+ : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
+ { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
+ : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
+
+      static constexpr _Head&
+      _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
+
+      static constexpr const _Head&
+      _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
+
+      [[__no_unique_address__]] _Head _M_head_impl;
+    };
+# 199 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+  template<size_t _Idx, typename _Head>
+    struct _Head_base<_Idx, _Head, false>
+    {
+      constexpr _Head_base()
+      : _M_head_impl() { }
+
+      constexpr _Head_base(const _Head& __h)
+      : _M_head_impl(__h) { }
+
+      constexpr _Head_base(const _Head_base&) = default;
+      constexpr _Head_base(_Head_base&&) = default;
+
+      template<typename _UHead>
+        constexpr _Head_base(_UHead&& __h)
+ : _M_head_impl(std::forward<_UHead>(__h)) { }
+
+
+      _Head_base(allocator_arg_t, __uses_alloc0)
+      : _M_head_impl() { }
+
+      template<typename _Alloc>
+
+ _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
+ : _M_head_impl(allocator_arg, *__a._M_a) { }
+
+      template<typename _Alloc>
+
+ _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
+ : _M_head_impl(*__a._M_a) { }
+
+      template<typename _UHead>
+
+ _Head_base(__uses_alloc0, _UHead&& __uhead)
+ : _M_head_impl(std::forward<_UHead>(__uhead)) { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
+ : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
+ { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
+ : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
+
+      static constexpr _Head&
+      _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
+
+      static constexpr const _Head&
+      _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
+
+      _Head _M_head_impl;
+    };
+# 272 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+  template<size_t _Idx, typename... _Elements>
+    struct _Tuple_impl;
+
+
+
+
+
+
+  template<size_t _Idx, typename _Head, typename... _Tail>
+    struct _Tuple_impl<_Idx, _Head, _Tail...>
+    : public _Tuple_impl<_Idx + 1, _Tail...>,
+      private _Head_base<_Idx, _Head>
+    {
+      template<size_t, typename...> friend struct _Tuple_impl;
+
+      typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
+      typedef _Head_base<_Idx, _Head> _Base;
+
+      static constexpr _Head&
+      _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
+
+      static constexpr const _Head&
+      _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
+
+      static constexpr _Inherited&
+      _M_tail(_Tuple_impl& __t) noexcept { return __t; }
+
+      static constexpr const _Inherited&
+      _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
+
+      constexpr _Tuple_impl()
+      : _Inherited(), _Base() { }
+
+      explicit constexpr
+      _Tuple_impl(const _Head& __head, const _Tail&... __tail)
+      : _Inherited(__tail...), _Base(__head)
+      { }
+
+      template<typename _UHead, typename... _UTail,
+        typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
+ explicit constexpr
+ _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
+ : _Inherited(std::forward<_UTail>(__tail)...),
+   _Base(std::forward<_UHead>(__head))
+ { }
+
+      constexpr _Tuple_impl(const _Tuple_impl&) = default;
+
+
+
+      _Tuple_impl& operator=(const _Tuple_impl&) = delete;
+
+      _Tuple_impl(_Tuple_impl&&) = default;
+
+      template<typename... _UElements>
+ constexpr
+ _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
+ : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
+   _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
+ { }
+
+      template<typename _UHead, typename... _UTails>
+ constexpr
+ _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
+ : _Inherited(std::move
+       (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
+   _Base(std::forward<_UHead>
+  (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
+ { }
+# 368 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
+ : _Inherited(__tag, __a),
+   _Base(__tag, __use_alloc<_Head>(__a))
+ { }
+
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
+      const _Head& __head, const _Tail&... __tail)
+ : _Inherited(__tag, __a, __tail...),
+   _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
+ { }
+
+      template<typename _Alloc, typename _UHead, typename... _UTail,
+        typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
+      _UHead&& __head, _UTail&&... __tail)
+ : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
+   _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
+  std::forward<_UHead>(__head))
+ { }
+
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
+      const _Tuple_impl& __in)
+ : _Inherited(__tag, __a, _M_tail(__in)),
+   _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
+ { }
+
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
+      _Tuple_impl&& __in)
+ : _Inherited(__tag, __a, std::move(_M_tail(__in))),
+   _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
+  std::forward<_Head>(_M_head(__in)))
+ { }
+
+      template<typename _Alloc, typename _UHead, typename... _UTails>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
+      const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
+ : _Inherited(__tag, __a,
+       _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
+   _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
+  _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
+ { }
+
+      template<typename _Alloc, typename _UHead, typename... _UTails>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
+      _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
+ : _Inherited(__tag, __a, std::move
+       (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
+   _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
+  std::forward<_UHead>
+  (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
+ { }
+# 463 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+      template<typename... _UElements>
+
+ void
+ _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
+ {
+   _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
+   _M_tail(*this)._M_assign(
+       _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
+ }
+
+      template<typename _UHead, typename... _UTails>
+
+ void
+ _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
+ {
+   _M_head(*this) = std::forward<_UHead>
+     (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
+   _M_tail(*this)._M_assign(
+       std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
+ }
+# 523 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    protected:
+
+      void
+      _M_swap(_Tuple_impl& __in)
+      {
+ using std::swap;
+ swap(_M_head(*this), _M_head(__in));
+ _Inherited::_M_swap(_M_tail(__in));
+      }
+# 542 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    };
+
+
+  template<size_t _Idx, typename _Head>
+    struct _Tuple_impl<_Idx, _Head>
+    : private _Head_base<_Idx, _Head>
+    {
+      template<size_t, typename...> friend struct _Tuple_impl;
+
+      typedef _Head_base<_Idx, _Head> _Base;
+
+      static constexpr _Head&
+      _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
+
+      static constexpr const _Head&
+      _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
+
+      constexpr
+      _Tuple_impl()
+      : _Base() { }
+
+      explicit constexpr
+      _Tuple_impl(const _Head& __head)
+      : _Base(__head)
+      { }
+
+      template<typename _UHead>
+ explicit constexpr
+ _Tuple_impl(_UHead&& __head)
+ : _Base(std::forward<_UHead>(__head))
+ { }
+
+      constexpr _Tuple_impl(const _Tuple_impl&) = default;
+
+
+
+      _Tuple_impl& operator=(const _Tuple_impl&) = delete;
+
+
+
+
+      constexpr
+      _Tuple_impl(_Tuple_impl&& __in)
+      noexcept(is_nothrow_move_constructible<_Head>::value)
+      : _Base(static_cast<_Base&&>(__in))
+      { }
+
+
+      template<typename _UHead>
+ constexpr
+ _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
+ : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
+ { }
+
+      template<typename _UHead>
+ constexpr
+ _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
+ : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
+ { }
+# 624 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
+ : _Base(__tag, __use_alloc<_Head>(__a))
+ { }
+
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t, const _Alloc& __a,
+      const _Head& __head)
+ : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
+ { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Tuple_impl(allocator_arg_t, const _Alloc& __a,
+      _UHead&& __head)
+ : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
+  std::forward<_UHead>(__head))
+ { }
+
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t, const _Alloc& __a,
+      const _Tuple_impl& __in)
+ : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
+ { }
+
+      template<typename _Alloc>
+
+ _Tuple_impl(allocator_arg_t, const _Alloc& __a,
+      _Tuple_impl&& __in)
+ : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
+  std::forward<_Head>(_M_head(__in)))
+ { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Tuple_impl(allocator_arg_t, const _Alloc& __a,
+      const _Tuple_impl<_Idx, _UHead>& __in)
+ : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
+  _Tuple_impl<_Idx, _UHead>::_M_head(__in))
+ { }
+
+      template<typename _Alloc, typename _UHead>
+
+ _Tuple_impl(allocator_arg_t, const _Alloc& __a,
+      _Tuple_impl<_Idx, _UHead>&& __in)
+ : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
+  std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
+ { }
+# 703 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+      template<typename _UHead>
+
+ void
+ _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
+ {
+   _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
+ }
+
+      template<typename _UHead>
+
+ void
+ _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
+ {
+   _M_head(*this)
+     = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
+ }
+# 749 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    protected:
+
+      void
+      _M_swap(_Tuple_impl& __in)
+      {
+ using std::swap;
+ swap(_M_head(*this), _M_head(__in));
+      }
+# 766 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    };
+
+
+
+  template<bool, typename... _Types>
+    struct _TupleConstraints
+    {
+      template<typename... _UTypes>
+ using __constructible = __and_<is_constructible<_Types, _UTypes>...>;
+
+      template<typename... _UTypes>
+ using __convertible = __and_<is_convertible<_UTypes, _Types>...>;
+
+
+
+
+      template<typename... _UTypes>
+ static constexpr bool __is_implicitly_constructible()
+ {
+   return __and_<__constructible<_UTypes...>,
+   __convertible<_UTypes...>
+   >::value;
+ }
+
+
+
+
+      template<typename... _UTypes>
+ static constexpr bool __is_explicitly_constructible()
+ {
+   return __and_<__constructible<_UTypes...>,
+   __not_<__convertible<_UTypes...>>
+   >::value;
+ }
+
+      static constexpr bool __is_implicitly_default_constructible()
+      {
+ return __and_<std::__is_implicitly_default_constructible<_Types>...
+        >::value;
+      }
+
+      static constexpr bool __is_explicitly_default_constructible()
+      {
+ return __and_<is_default_constructible<_Types>...,
+        __not_<__and_<
+   std::__is_implicitly_default_constructible<_Types>...>
+        >>::value;
+      }
+    };
+
+
+
+  template<typename... _Types>
+    struct _TupleConstraints<false, _Types...>
+    {
+      template<typename... _UTypes>
+ static constexpr bool __is_implicitly_constructible()
+ { return false; }
+
+      template<typename... _UTypes>
+ static constexpr bool __is_explicitly_constructible()
+ { return false; }
+    };
+
+
+
+  template<typename... _Elements>
+    class tuple : public _Tuple_impl<0, _Elements...>
+    {
+      using _Inherited = _Tuple_impl<0, _Elements...>;
+# 1352 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+      template<bool _Cond>
+ using _TCC = _TupleConstraints<_Cond, _Elements...>;
+
+
+      template<bool _Dummy>
+ using _ImplicitDefaultCtor = __enable_if_t<
+   _TCC<_Dummy>::__is_implicitly_default_constructible(),
+   bool>;
+
+
+      template<bool _Dummy>
+ using _ExplicitDefaultCtor = __enable_if_t<
+   _TCC<_Dummy>::__is_explicitly_default_constructible(),
+   bool>;
+
+
+      template<bool _Cond, typename... _Args>
+ using _ImplicitCtor = __enable_if_t<
+   _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
+   bool>;
+
+
+      template<bool _Cond, typename... _Args>
+ using _ExplicitCtor = __enable_if_t<
+   _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
+   bool>;
+
+
+      template<typename... _UElements>
+ static constexpr bool __nothrow_constructible()
+ {
+   return
+     __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
+ }
+
+
+      template<typename _Up>
+ static constexpr bool __valid_args()
+ {
+   return sizeof...(_Elements) == 1
+     && !is_same<tuple, __remove_cvref_t<_Up>>::value;
+ }
+
+
+      template<typename, typename, typename... _Tail>
+ static constexpr bool __valid_args()
+ { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
+# 1409 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+      template<typename _Tuple, typename = tuple,
+        typename = __remove_cvref_t<_Tuple>>
+ struct _UseOtherCtor
+ : false_type
+ { };
+
+
+      template<typename _Tuple, typename _Tp, typename _Up>
+ struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
+ : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>::type
+ { };
+
+
+      template<typename _Tuple, typename _Tp>
+ struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
+ : true_type
+ { };
+
+
+
+
+      template<typename _Tuple>
+ static constexpr bool __use_other_ctor()
+ { return _UseOtherCtor<_Tuple>::value; }
+# 1455 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    public:
+      template<typename _Dummy = void,
+        _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
+ constexpr
+ tuple()
+ noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
+ : _Inherited() { }
+
+      template<typename _Dummy = void,
+        _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
+ explicit constexpr
+ tuple()
+ noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
+ : _Inherited() { }
+
+      template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
+        _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
+ constexpr
+ tuple(const _Elements&... __elements)
+ noexcept(__nothrow_constructible<const _Elements&...>())
+ : _Inherited(__elements...) { }
+
+      template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
+        _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
+ explicit constexpr
+ tuple(const _Elements&... __elements)
+ noexcept(__nothrow_constructible<const _Elements&...>())
+ : _Inherited(__elements...) { }
+
+      template<typename... _UElements,
+        bool _Valid = __valid_args<_UElements...>(),
+        _ImplicitCtor<_Valid, _UElements...> = true>
+ constexpr
+ tuple(_UElements&&... __elements)
+ noexcept(__nothrow_constructible<_UElements...>())
+ : _Inherited(std::forward<_UElements>(__elements)...)
+ { ; }
+
+      template<typename... _UElements,
+        bool _Valid = __valid_args<_UElements...>(),
+        _ExplicitCtor<_Valid, _UElements...> = false>
+ explicit constexpr
+ tuple(_UElements&&... __elements)
+ noexcept(__nothrow_constructible<_UElements...>())
+ : _Inherited(std::forward<_UElements>(__elements)...)
+ { ; }
+
+      constexpr tuple(const tuple&) = default;
+
+      constexpr tuple(tuple&&) = default;
+
+      template<typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+      && !__use_other_ctor<const tuple<_UElements...>&>(),
+        _ImplicitCtor<_Valid, const _UElements&...> = true>
+ constexpr
+ tuple(const tuple<_UElements...>& __in)
+ noexcept(__nothrow_constructible<const _UElements&...>())
+ : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+ { ; }
+
+      template<typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+      && !__use_other_ctor<const tuple<_UElements...>&>(),
+        _ExplicitCtor<_Valid, const _UElements&...> = false>
+ explicit constexpr
+ tuple(const tuple<_UElements...>& __in)
+ noexcept(__nothrow_constructible<const _UElements&...>())
+ : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+ { ; }
+
+      template<typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+        && !__use_other_ctor<tuple<_UElements...>&&>(),
+        _ImplicitCtor<_Valid, _UElements...> = true>
+ constexpr
+ tuple(tuple<_UElements...>&& __in)
+ noexcept(__nothrow_constructible<_UElements...>())
+ : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+ { ; }
+
+      template<typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+        && !__use_other_ctor<tuple<_UElements...>&&>(),
+        _ExplicitCtor<_Valid, _UElements...> = false>
+ explicit constexpr
+ tuple(tuple<_UElements...>&& __in)
+ noexcept(__nothrow_constructible<_UElements...>())
+ : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+ { ; }
+
+
+
+      template<typename _Alloc,
+        _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a)
+ : _Inherited(__tag, __a) { }
+
+      template<typename _Alloc,
+        _ExplicitDefaultCtor<is_object<_Alloc>::value> = false>
+
+ explicit
+ tuple(allocator_arg_t __tag, const _Alloc& __a)
+ : _Inherited(__tag, __a) { }
+
+      template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
+        _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const _Elements&... __elements)
+ : _Inherited(__tag, __a, __elements...) { }
+
+      template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
+        _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
+
+ explicit
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const _Elements&... __elements)
+ : _Inherited(__tag, __a, __elements...) { }
+
+      template<typename _Alloc, typename... _UElements,
+        bool _Valid = __valid_args<_UElements...>(),
+        _ImplicitCtor<_Valid, _UElements...> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       _UElements&&... __elements)
+ : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
+ { ; }
+
+      template<typename _Alloc, typename... _UElements,
+   bool _Valid = __valid_args<_UElements...>(),
+        _ExplicitCtor<_Valid, _UElements...> = false>
+
+ explicit
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       _UElements&&... __elements)
+ : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
+ { ; }
+
+      template<typename _Alloc>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
+ : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
+
+      template<typename _Alloc>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
+ : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
+
+      template<typename _Alloc, typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+        && !__use_other_ctor<const tuple<_UElements...>&>(),
+        _ImplicitCtor<_Valid, const _UElements&...> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const tuple<_UElements...>& __in)
+ : _Inherited(__tag, __a,
+       static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+        && !__use_other_ctor<const tuple<_UElements...>&>(),
+        _ExplicitCtor<_Valid, const _UElements&...> = false>
+
+ explicit
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const tuple<_UElements...>& __in)
+ : _Inherited(__tag, __a,
+       static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+        && !__use_other_ctor<tuple<_UElements...>&&>(),
+        _ImplicitCtor<_Valid, _UElements...> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       tuple<_UElements...>&& __in)
+ : _Inherited(__tag, __a,
+       static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename... _UElements,
+        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
+        && !__use_other_ctor<tuple<_UElements...>&&>(),
+        _ExplicitCtor<_Valid, _UElements...> = false>
+
+ explicit
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       tuple<_UElements...>&& __in)
+ : _Inherited(__tag, __a,
+       static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
+ { ; }
+# 1887 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    private:
+      template<typename... _UElements>
+ static constexpr
+ __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
+ __assignable()
+ { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
+
+
+      template<typename... _UElements>
+ static constexpr bool __nothrow_assignable()
+ {
+   return
+     __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
+ }
+
+    public:
+
+
+      tuple&
+      operator=(__conditional_t<__assignable<const _Elements&...>(),
+    const tuple&,
+    const __nonesuch&> __in)
+      noexcept(__nothrow_assignable<const _Elements&...>())
+      {
+ this->_M_assign(__in);
+ return *this;
+      }
+
+
+      tuple&
+      operator=(__conditional_t<__assignable<_Elements...>(),
+    tuple&&,
+    __nonesuch&&> __in)
+      noexcept(__nothrow_assignable<_Elements...>())
+      {
+ this->_M_assign(std::move(__in));
+ return *this;
+      }
+
+      template<typename... _UElements>
+
+ __enable_if_t<__assignable<const _UElements&...>(), tuple&>
+ operator=(const tuple<_UElements...>& __in)
+ noexcept(__nothrow_assignable<const _UElements&...>())
+ {
+   this->_M_assign(__in);
+   return *this;
+ }
+
+      template<typename... _UElements>
+
+ __enable_if_t<__assignable<_UElements...>(), tuple&>
+ operator=(tuple<_UElements...>&& __in)
+ noexcept(__nothrow_assignable<_UElements...>())
+ {
+   this->_M_assign(std::move(__in));
+   return *this;
+ }
+
+
+
+
+      void
+      swap(tuple& __in)
+      noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
+      { _Inherited::_M_swap(__in); }
+# 1967 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    };
+
+
+  template<typename... _UTypes>
+    tuple(_UTypes...) -> tuple<_UTypes...>;
+  template<typename _T1, typename _T2>
+    tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
+  template<typename _Alloc, typename... _UTypes>
+    tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
+  template<typename _Alloc, typename _T1, typename _T2>
+    tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
+  template<typename _Alloc, typename... _UTypes>
+    tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
+
+
+
+  template<>
+    class tuple<>
+    {
+    public:
+
+      void swap(tuple&) noexcept { }
+
+
+
+
+
+      tuple() = default;
+
+      template<typename _Alloc>
+
+ tuple(allocator_arg_t, const _Alloc&) noexcept { }
+      template<typename _Alloc>
+
+ tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
+    };
+
+
+
+
+  template<typename _T1, typename _T2>
+    class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
+    {
+      typedef _Tuple_impl<0, _T1, _T2> _Inherited;
+
+
+      template<bool _Dummy, typename _U1, typename _U2>
+ using _ImplicitDefaultCtor = __enable_if_t<
+   _TupleConstraints<_Dummy, _U1, _U2>::
+     __is_implicitly_default_constructible(),
+   bool>;
+
+
+      template<bool _Dummy, typename _U1, typename _U2>
+ using _ExplicitDefaultCtor = __enable_if_t<
+   _TupleConstraints<_Dummy, _U1, _U2>::
+     __is_explicitly_default_constructible(),
+   bool>;
+
+      template<bool _Dummy>
+ using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
+
+
+      template<bool _Cond, typename _U1, typename _U2>
+ using _ImplicitCtor = __enable_if_t<
+   _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
+   bool>;
+
+
+      template<bool _Cond, typename _U1, typename _U2>
+ using _ExplicitCtor = __enable_if_t<
+   _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
+   bool>;
+
+      template<typename _U1, typename _U2>
+ static constexpr bool __assignable()
+ {
+   return __and_<is_assignable<_T1&, _U1>,
+   is_assignable<_T2&, _U2>>::value;
+ }
+
+      template<typename _U1, typename _U2>
+ static constexpr bool __nothrow_assignable()
+ {
+   return __and_<is_nothrow_assignable<_T1&, _U1>,
+   is_nothrow_assignable<_T2&, _U2>>::value;
+ }
+
+      template<typename _U1, typename _U2>
+ static constexpr bool __nothrow_constructible()
+ {
+   return __and_<is_nothrow_constructible<_T1, _U1>,
+       is_nothrow_constructible<_T2, _U2>>::value;
+ }
+
+      static constexpr bool __nothrow_default_constructible()
+      {
+ return __and_<is_nothrow_default_constructible<_T1>,
+        is_nothrow_default_constructible<_T2>>::value;
+      }
+
+      template<typename _U1>
+ static constexpr bool __is_alloc_arg()
+ { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
+# 2086 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+    public:
+      template<bool _Dummy = true,
+        _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
+ constexpr
+ tuple()
+ noexcept(__nothrow_default_constructible())
+ : _Inherited() { }
+
+      template<bool _Dummy = true,
+        _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
+ explicit constexpr
+ tuple()
+ noexcept(__nothrow_default_constructible())
+ : _Inherited() { }
+
+      template<bool _Dummy = true,
+        _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
+ constexpr
+ tuple(const _T1& __a1, const _T2& __a2)
+ noexcept(__nothrow_constructible<const _T1&, const _T2&>())
+ : _Inherited(__a1, __a2) { }
+
+      template<bool _Dummy = true,
+        _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
+ explicit constexpr
+ tuple(const _T1& __a1, const _T2& __a2)
+ noexcept(__nothrow_constructible<const _T1&, const _T2&>())
+ : _Inherited(__a1, __a2) { }
+
+      template<typename _U1, typename _U2,
+        _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
+ constexpr
+ tuple(_U1&& __a1, _U2&& __a2)
+ noexcept(__nothrow_constructible<_U1, _U2>())
+ : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2))
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
+ explicit constexpr
+ tuple(_U1&& __a1, _U2&& __a2)
+ noexcept(__nothrow_constructible<_U1, _U2>())
+ : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2))
+ { ; }
+
+      constexpr tuple(const tuple&) = default;
+
+      constexpr tuple(tuple&&) = default;
+
+      template<typename _U1, typename _U2,
+        _ImplicitCtor<true, const _U1&, const _U2&> = true>
+ constexpr
+ tuple(const tuple<_U1, _U2>& __in)
+ noexcept(__nothrow_constructible<const _U1&, const _U2&>())
+ : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ExplicitCtor<true, const _U1&, const _U2&> = false>
+ explicit constexpr
+ tuple(const tuple<_U1, _U2>& __in)
+ noexcept(__nothrow_constructible<const _U1&, const _U2&>())
+ : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ImplicitCtor<true, _U1, _U2> = true>
+ constexpr
+ tuple(tuple<_U1, _U2>&& __in)
+ noexcept(__nothrow_constructible<_U1, _U2>())
+ : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ExplicitCtor<true, _U1, _U2> = false>
+ explicit constexpr
+ tuple(tuple<_U1, _U2>&& __in)
+ noexcept(__nothrow_constructible<_U1, _U2>())
+ : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ImplicitCtor<true, const _U1&, const _U2&> = true>
+ constexpr
+ tuple(const pair<_U1, _U2>& __in)
+ noexcept(__nothrow_constructible<const _U1&, const _U2&>())
+ : _Inherited(__in.first, __in.second)
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ExplicitCtor<true, const _U1&, const _U2&> = false>
+ explicit constexpr
+ tuple(const pair<_U1, _U2>& __in)
+ noexcept(__nothrow_constructible<const _U1&, const _U2&>())
+ : _Inherited(__in.first, __in.second)
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ImplicitCtor<true, _U1, _U2> = true>
+ constexpr
+ tuple(pair<_U1, _U2>&& __in)
+ noexcept(__nothrow_constructible<_U1, _U2>())
+ : _Inherited(std::forward<_U1>(__in.first),
+       std::forward<_U2>(__in.second))
+ { ; }
+
+      template<typename _U1, typename _U2,
+        _ExplicitCtor<true, _U1, _U2> = false>
+ explicit constexpr
+ tuple(pair<_U1, _U2>&& __in)
+ noexcept(__nothrow_constructible<_U1, _U2>())
+ : _Inherited(std::forward<_U1>(__in.first),
+       std::forward<_U2>(__in.second))
+ { ; }
+
+
+
+      template<typename _Alloc,
+        _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a)
+ : _Inherited(__tag, __a) { }
+
+      template<typename _Alloc,
+        _ExplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = false>
+
+ explicit
+ tuple(allocator_arg_t __tag, const _Alloc& __a)
+ : _Inherited(__tag, __a) { }
+
+      template<typename _Alloc, bool _Dummy = true,
+        _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const _T1& __a1, const _T2& __a2)
+ : _Inherited(__tag, __a, __a1, __a2) { }
+
+      template<typename _Alloc, bool _Dummy = true,
+        _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
+ explicit
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const _T1& __a1, const _T2& __a2)
+ : _Inherited(__tag, __a, __a1, __a2) { }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ImplicitCtor<true, _U1, _U2> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
+ : _Inherited(__tag, __a, std::forward<_U1>(__a1),
+       std::forward<_U2>(__a2))
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ExplicitCtor<true, _U1, _U2> = false>
+ explicit
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       _U1&& __a1, _U2&& __a2)
+ : _Inherited(__tag, __a, std::forward<_U1>(__a1),
+       std::forward<_U2>(__a2))
+ { ; }
+
+      template<typename _Alloc>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
+ : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
+
+      template<typename _Alloc>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
+ : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ImplicitCtor<true, const _U1&, const _U2&> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const tuple<_U1, _U2>& __in)
+ : _Inherited(__tag, __a,
+       static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ExplicitCtor<true, const _U1&, const _U2&> = false>
+ explicit
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const tuple<_U1, _U2>& __in)
+ : _Inherited(__tag, __a,
+       static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ImplicitCtor<true, _U1, _U2> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
+ : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ExplicitCtor<true, _U1, _U2> = false>
+ explicit
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
+ : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ImplicitCtor<true, const _U1&, const _U2&> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const pair<_U1, _U2>& __in)
+ : _Inherited(__tag, __a, __in.first, __in.second)
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ExplicitCtor<true, const _U1&, const _U2&> = false>
+ explicit
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a,
+       const pair<_U1, _U2>& __in)
+ : _Inherited(__tag, __a, __in.first, __in.second)
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ImplicitCtor<true, _U1, _U2> = true>
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
+ : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
+       std::forward<_U2>(__in.second))
+ { ; }
+
+      template<typename _Alloc, typename _U1, typename _U2,
+        _ExplicitCtor<true, _U1, _U2> = false>
+ explicit
+
+ tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
+ : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
+       std::forward<_U2>(__in.second))
+ { ; }
+
+
+
+
+      tuple&
+      operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
+    const tuple&,
+    const __nonesuch&> __in)
+      noexcept(__nothrow_assignable<const _T1&, const _T2&>())
+      {
+ this->_M_assign(__in);
+ return *this;
+      }
+
+
+      tuple&
+      operator=(__conditional_t<__assignable<_T1, _T2>(),
+    tuple&&,
+    __nonesuch&&> __in)
+      noexcept(__nothrow_assignable<_T1, _T2>())
+      {
+ this->_M_assign(std::move(__in));
+ return *this;
+      }
+
+      template<typename _U1, typename _U2>
+
+ __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
+ operator=(const tuple<_U1, _U2>& __in)
+ noexcept(__nothrow_assignable<const _U1&, const _U2&>())
+ {
+   this->_M_assign(__in);
+   return *this;
+ }
+
+      template<typename _U1, typename _U2>
+
+ __enable_if_t<__assignable<_U1, _U2>(), tuple&>
+ operator=(tuple<_U1, _U2>&& __in)
+ noexcept(__nothrow_assignable<_U1, _U2>())
+ {
+   this->_M_assign(std::move(__in));
+   return *this;
+ }
+
+      template<typename _U1, typename _U2>
+
+ __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
+ operator=(const pair<_U1, _U2>& __in)
+ noexcept(__nothrow_assignable<const _U1&, const _U2&>())
+ {
+   this->_M_head(*this) = __in.first;
+   this->_M_tail(*this)._M_head(*this) = __in.second;
+   return *this;
+ }
+
+      template<typename _U1, typename _U2>
+
+ __enable_if_t<__assignable<_U1, _U2>(), tuple&>
+ operator=(pair<_U1, _U2>&& __in)
+ noexcept(__nothrow_assignable<_U1, _U2>())
+ {
+   this->_M_head(*this) = std::forward<_U1>(__in.first);
+   this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
+   return *this;
+ }
+
+
+      void
+      swap(tuple& __in)
+      noexcept(__and_<__is_nothrow_swappable<_T1>,
+        __is_nothrow_swappable<_T2>>::value)
+      { _Inherited::_M_swap(__in); }
+    };
+
+
+
+  template<typename... _Elements>
+    struct tuple_size<tuple<_Elements...>>
+    : public integral_constant<size_t, sizeof...(_Elements)> { };
+
+
+  template<typename... _Types>
+    inline constexpr size_t tuple_size_v<tuple<_Types...>>
+      = sizeof...(_Types);
+
+  template<typename... _Types>
+    inline constexpr size_t tuple_size_v<const tuple<_Types...>>
+      = sizeof...(_Types);
+
+
+
+  template<size_t __i, typename... _Types>
+    struct tuple_element<__i, tuple<_Types...>>
+    {
+      static_assert(__i < sizeof...(_Types), "tuple index must be in range");
+
+      using type = typename _Nth_type<__i, _Types...>::type;
+    };
+
+  template<size_t __i, typename _Head, typename... _Tail>
+    constexpr _Head&
+    __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
+    { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+
+  template<size_t __i, typename _Head, typename... _Tail>
+    constexpr const _Head&
+    __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
+    { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
+
+
+  template<size_t __i, typename... _Types>
+    __enable_if_t<(__i >= sizeof...(_Types))>
+    __get_helper(const tuple<_Types...>&) = delete;
+
+
+  template<size_t __i, typename... _Elements>
+    constexpr __tuple_element_t<__i, tuple<_Elements...>>&
+    get(tuple<_Elements...>& __t) noexcept
+    { return std::__get_helper<__i>(__t); }
+
+
+  template<size_t __i, typename... _Elements>
+    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
+    get(const tuple<_Elements...>& __t) noexcept
+    { return std::__get_helper<__i>(__t); }
+
+
+  template<size_t __i, typename... _Elements>
+    constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
+    get(tuple<_Elements...>&& __t) noexcept
+    {
+      typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
+      return std::forward<__element_type>(std::__get_helper<__i>(__t));
+    }
+
+
+  template<size_t __i, typename... _Elements>
+    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
+    get(const tuple<_Elements...>&& __t) noexcept
+    {
+      typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
+      return std::forward<const __element_type>(std::__get_helper<__i>(__t));
+    }
+
+
+
+  template<size_t __i, typename... _Elements>
+    constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
+    get(const tuple<_Elements...>&) = delete;
+
+
+
+
+  template <typename _Tp, typename... _Types>
+    constexpr _Tp&
+    get(tuple<_Types...>& __t) noexcept
+    {
+      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
+      static_assert(__idx < sizeof...(_Types),
+   "the type T in std::get<T> must occur exactly once in the tuple");
+      return std::__get_helper<__idx>(__t);
+    }
+
+
+  template <typename _Tp, typename... _Types>
+    constexpr _Tp&&
+    get(tuple<_Types...>&& __t) noexcept
+    {
+      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
+      static_assert(__idx < sizeof...(_Types),
+   "the type T in std::get<T> must occur exactly once in the tuple");
+      return std::forward<_Tp>(std::__get_helper<__idx>(__t));
+    }
+
+
+  template <typename _Tp, typename... _Types>
+    constexpr const _Tp&
+    get(const tuple<_Types...>& __t) noexcept
+    {
+      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
+      static_assert(__idx < sizeof...(_Types),
+   "the type T in std::get<T> must occur exactly once in the tuple");
+      return std::__get_helper<__idx>(__t);
+    }
+
+
+
+  template <typename _Tp, typename... _Types>
+    constexpr const _Tp&&
+    get(const tuple<_Types...>&& __t) noexcept
+    {
+      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
+      static_assert(__idx < sizeof...(_Types),
+   "the type T in std::get<T> must occur exactly once in the tuple");
+      return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
+    }
+# 2578 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+  template<typename _Tp, typename _Up, size_t __i, size_t __size>
+    struct __tuple_compare
+    {
+      static constexpr bool
+      __eq(const _Tp& __t, const _Up& __u)
+      {
+ return bool(std::get<__i>(__t) == std::get<__i>(__u))
+   && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
+      }
+
+      static constexpr bool
+      __less(const _Tp& __t, const _Up& __u)
+      {
+ return bool(std::get<__i>(__t) < std::get<__i>(__u))
+   || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
+       && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
+      }
+    };
+
+  template<typename _Tp, typename _Up, size_t __size>
+    struct __tuple_compare<_Tp, _Up, __size, __size>
+    {
+      static constexpr bool
+      __eq(const _Tp&, const _Up&) { return true; }
+
+      static constexpr bool
+      __less(const _Tp&, const _Up&) { return false; }
+    };
+
+  template<typename... _TElements, typename... _UElements>
+    [[__nodiscard__]]
+    constexpr bool
+    operator==(const tuple<_TElements...>& __t,
+        const tuple<_UElements...>& __u)
+    {
+      static_assert(sizeof...(_TElements) == sizeof...(_UElements),
+   "tuple objects can only be compared if they have equal sizes.");
+      using __compare = __tuple_compare<tuple<_TElements...>,
+     tuple<_UElements...>,
+     0, sizeof...(_TElements)>;
+      return __compare::__eq(__t, __u);
+    }
+
+  template<typename... _TElements, typename... _UElements>
+    [[__nodiscard__]]
+    constexpr bool
+    operator<(const tuple<_TElements...>& __t,
+       const tuple<_UElements...>& __u)
+    {
+      static_assert(sizeof...(_TElements) == sizeof...(_UElements),
+   "tuple objects can only be compared if they have equal sizes.");
+      using __compare = __tuple_compare<tuple<_TElements...>,
+     tuple<_UElements...>,
+     0, sizeof...(_TElements)>;
+      return __compare::__less(__t, __u);
+    }
+
+  template<typename... _TElements, typename... _UElements>
+    [[__nodiscard__]]
+    constexpr bool
+    operator!=(const tuple<_TElements...>& __t,
+        const tuple<_UElements...>& __u)
+    { return !(__t == __u); }
+
+  template<typename... _TElements, typename... _UElements>
+    [[__nodiscard__]]
+    constexpr bool
+    operator>(const tuple<_TElements...>& __t,
+       const tuple<_UElements...>& __u)
+    { return __u < __t; }
+
+  template<typename... _TElements, typename... _UElements>
+    [[__nodiscard__]]
+    constexpr bool
+    operator<=(const tuple<_TElements...>& __t,
+        const tuple<_UElements...>& __u)
+    { return !(__u < __t); }
+
+  template<typename... _TElements, typename... _UElements>
+    [[__nodiscard__]]
+    constexpr bool
+    operator>=(const tuple<_TElements...>& __t,
+        const tuple<_UElements...>& __u)
+    { return !(__t < __u); }
+
+
+
+
+  template<typename... _Elements>
+    constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
+    make_tuple(_Elements&&... __args)
+    {
+      typedef tuple<typename __decay_and_strip<_Elements>::__type...>
+ __result_type;
+      return __result_type(std::forward<_Elements>(__args)...);
+    }
+
+
+
+
+  template<typename... _Elements>
+    constexpr tuple<_Elements&&...>
+    forward_as_tuple(_Elements&&... __args) noexcept
+    { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
+
+
+  template<size_t, typename, typename, size_t>
+    struct __make_tuple_impl;
+
+  template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
+    struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
+    : __make_tuple_impl<_Idx + 1,
+   tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
+   _Tuple, _Nm>
+    { };
+
+  template<size_t _Nm, typename _Tuple, typename... _Tp>
+    struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
+    {
+      typedef tuple<_Tp...> __type;
+    };
+
+  template<typename _Tuple>
+    struct __do_make_tuple
+    : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
+    { };
+
+
+  template<typename _Tuple>
+    struct __make_tuple
+    : public __do_make_tuple<__remove_cvref_t<_Tuple>>
+    { };
+
+
+  template<typename...>
+    struct __combine_tuples;
+
+  template<>
+    struct __combine_tuples<>
+    {
+      typedef tuple<> __type;
+    };
+
+  template<typename... _Ts>
+    struct __combine_tuples<tuple<_Ts...>>
+    {
+      typedef tuple<_Ts...> __type;
+    };
+
+  template<typename... _T1s, typename... _T2s, typename... _Rem>
+    struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
+    {
+      typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
+     _Rem...>::__type __type;
+    };
+
+
+  template<typename... _Tpls>
+    struct __tuple_cat_result
+    {
+      typedef typename __combine_tuples
+        <typename __make_tuple<_Tpls>::__type...>::__type __type;
+    };
+
+
+
+  template<typename...>
+    struct __make_1st_indices;
+
+  template<>
+    struct __make_1st_indices<>
+    {
+      typedef _Index_tuple<> __type;
+    };
+
+  template<typename _Tp, typename... _Tpls>
+    struct __make_1st_indices<_Tp, _Tpls...>
+    {
+      typedef typename _Build_index_tuple<tuple_size<
+ typename remove_reference<_Tp>::type>::value>::__type __type;
+    };
+
+
+
+
+  template<typename _Ret, typename _Indices, typename... _Tpls>
+    struct __tuple_concater;
+
+  template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
+    struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
+    {
+      template<typename... _Us>
+        static constexpr _Ret
+        _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
+        {
+   typedef typename __make_1st_indices<_Tpls...>::__type __idx;
+   typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
+   return __next::_S_do(std::forward<_Tpls>(__tps)...,
+          std::forward<_Us>(__us)...,
+          std::get<_Is>(std::forward<_Tp>(__tp))...);
+ }
+    };
+
+  template<typename _Ret>
+    struct __tuple_concater<_Ret, _Index_tuple<>>
+    {
+      template<typename... _Us>
+ static constexpr _Ret
+ _S_do(_Us&&... __us)
+        {
+   return _Ret(std::forward<_Us>(__us)...);
+ }
+    };
+
+  template<typename... _Tps>
+    struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
+    { };
+
+
+
+
+
+
+  template<typename... _Tpls, typename = typename
+           enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
+
+    constexpr auto
+    tuple_cat(_Tpls&&... __tpls)
+    -> typename __tuple_cat_result<_Tpls...>::__type
+    {
+      typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
+      typedef typename __make_1st_indices<_Tpls...>::__type __idx;
+      typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
+      return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
+    }
+
+
+
+
+  template<typename... _Elements>
+    constexpr tuple<_Elements&...>
+    tie(_Elements&... __args) noexcept
+    { return tuple<_Elements&...>(__args...); }
+
+
+  template<typename... _Elements>
+
+    inline
+
+
+    typename enable_if<__and_<__is_swappable<_Elements>...>::value
+      >::type
+
+
+
+    swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
+    noexcept(noexcept(__x.swap(__y)))
+    { __x.swap(__y); }
+# 2848 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+  template<typename... _Elements>
+
+    typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
+    swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
+
+
+
+  template<typename... _Types, typename _Alloc>
+    struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
+# 2867 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+  template<class _T1, class _T2>
+    template<typename... _Args1, typename... _Args2>
+
+      inline
+      pair<_T1, _T2>::
+      pair(piecewise_construct_t,
+    tuple<_Args1...> __first, tuple<_Args2...> __second)
+      : pair(__first, __second,
+      typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
+      typename _Build_index_tuple<sizeof...(_Args2)>::__type())
+      { }
+
+  template<class _T1, class _T2>
+    template<typename... _Args1, size_t... _Indexes1,
+      typename... _Args2, size_t... _Indexes2>
+                           inline
+      pair<_T1, _T2>::
+      pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
+    _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
+      : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
+ second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
+      { }
+
+
+
+
+
+
+  template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
+    inline constexpr bool __unpack_std_tuple = false;
+
+  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
+    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
+      = _Trait<_Tp, _Up...>::value;
+
+  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
+    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
+      = _Trait<_Tp, _Up&...>::value;
+
+  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
+    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
+      = _Trait<_Tp, const _Up...>::value;
+
+  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
+    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
+      = _Trait<_Tp, const _Up&...>::value;
+
+
+
+  template <typename _Fn, typename _Tuple, size_t... _Idx>
+    constexpr decltype(auto)
+    __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>)
+    {
+      return std::__invoke(std::forward<_Fn>(__f),
+      std::get<_Idx>(std::forward<_Tuple>(__t))...);
+    }
+
+
+
+
+  template <typename _Fn, typename _Tuple>
+
+    constexpr decltype(auto)
+    apply(_Fn&& __f, _Tuple&& __t)
+    noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
+    {
+      using _Indices
+ = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
+      return std::__apply_impl(std::forward<_Fn>(__f),
+          std::forward<_Tuple>(__t),
+          _Indices{});
+    }
+
+
+
+  template <typename _Tp, typename _Tuple, size_t... _Idx>
+    constexpr _Tp
+    __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
+    { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
+
+
+
+
+  template <typename _Tp, typename _Tuple>
+
+    constexpr _Tp
+    make_from_tuple(_Tuple&& __t)
+    noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
+    {
+      constexpr size_t __n = tuple_size_v<remove_reference_t<_Tuple>>;
+
+      if constexpr (__n == 1)
+ {
+   using _Elt = decltype(std::get<0>(std::declval<_Tuple>()));
+   static_assert(!__reference_constructs_from_temporary(_Tp, _Elt));
+ }
+
+      return __make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t),
+      make_index_sequence<__n>{});
+    }
+# 3030 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
+}
+# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+namespace pmr
+{
+
+
+
+
+
+
+  class memory_resource
+  {
+    static constexpr size_t _S_max_align = alignof(max_align_t);
+
+  public:
+    memory_resource() = default;
+    memory_resource(const memory_resource&) = default;
+    virtual ~memory_resource();
+
+    memory_resource& operator=(const memory_resource&) = default;
+
+    [[nodiscard]]
+    void*
+    allocate(size_t __bytes, size_t __alignment = _S_max_align)
+    __attribute__((__returns_nonnull__,__alloc_size__(2),__alloc_align__(3)))
+    { return ::operator new(__bytes, do_allocate(__bytes, __alignment)); }
+
+    void
+    deallocate(void* __p, size_t __bytes, size_t __alignment = _S_max_align)
+    __attribute__((__nonnull__))
+    { return do_deallocate(__p, __bytes, __alignment); }
+
+    [[nodiscard]]
+    bool
+    is_equal(const memory_resource& __other) const noexcept
+    { return do_is_equal(__other); }
+
+  private:
+    virtual void*
+    do_allocate(size_t __bytes, size_t __alignment) = 0;
+
+    virtual void
+    do_deallocate(void* __p, size_t __bytes, size_t __alignment) = 0;
+
+    virtual bool
+    do_is_equal(const memory_resource& __other) const noexcept = 0;
+  };
+
+  [[nodiscard]]
+  inline bool
+  operator==(const memory_resource& __a, const memory_resource& __b) noexcept
+  { return &__a == &__b || __a.is_equal(__b); }
+
+
+  [[nodiscard]]
+  inline bool
+  operator!=(const memory_resource& __a, const memory_resource& __b) noexcept
+  { return !(__a == __b); }
+# 121 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+  template<typename _Tp>
+    class polymorphic_allocator
+    {
+
+
+      template<typename _Up>
+ struct __not_pair { using type = void; };
+
+      template<typename _Up1, typename _Up2>
+ struct __not_pair<pair<_Up1, _Up2>> { };
+
+    public:
+      using value_type = _Tp;
+
+      polymorphic_allocator() noexcept
+      {
+ extern memory_resource* get_default_resource() noexcept
+   __attribute__((__returns_nonnull__));
+ _M_resource = get_default_resource();
+      }
+
+      polymorphic_allocator(memory_resource* __r) noexcept
+      __attribute__((__nonnull__))
+      : _M_resource(__r)
+      { ; }
+
+      polymorphic_allocator(const polymorphic_allocator& __other) = default;
+
+      template<typename _Up>
+ polymorphic_allocator(const polymorphic_allocator<_Up>& __x) noexcept
+ : _M_resource(__x.resource())
+ { }
+
+      polymorphic_allocator&
+      operator=(const polymorphic_allocator&) = delete;
+
+      [[nodiscard]]
+      _Tp*
+      allocate(size_t __n)
+      __attribute__((__returns_nonnull__))
+      {
+ if ((__gnu_cxx::__int_traits<size_t>::__max / sizeof(_Tp)) < __n)
+   std::__throw_bad_array_new_length();
+ return static_cast<_Tp*>(_M_resource->allocate(__n * sizeof(_Tp),
+             alignof(_Tp)));
+      }
+
+      void
+      deallocate(_Tp* __p, size_t __n) noexcept
+      __attribute__((__nonnull__))
+      { _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); }
+# 226 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      template<typename _Tp1, typename... _Args>
+ __attribute__((__nonnull__))
+ typename __not_pair<_Tp1>::type
+ construct(_Tp1* __p, _Args&&... __args)
+ {
+
+
+   using __use_tag
+     = std::__uses_alloc_t<_Tp1, polymorphic_allocator, _Args...>;
+   if constexpr (is_base_of_v<__uses_alloc0, __use_tag>)
+     ::new(__p) _Tp1(std::forward<_Args>(__args)...);
+   else if constexpr (is_base_of_v<__uses_alloc1_, __use_tag>)
+     ::new(__p) _Tp1(allocator_arg, *this,
+       std::forward<_Args>(__args)...);
+   else
+     ::new(__p) _Tp1(std::forward<_Args>(__args)..., *this);
+ }
+
+      template<typename _Tp1, typename _Tp2,
+        typename... _Args1, typename... _Args2>
+ __attribute__((__nonnull__))
+ void
+ construct(pair<_Tp1, _Tp2>* __p, piecewise_construct_t,
+    tuple<_Args1...> __x, tuple<_Args2...> __y)
+ {
+   auto __x_tag =
+     __use_alloc<_Tp1, polymorphic_allocator, _Args1...>(*this);
+   auto __y_tag =
+     __use_alloc<_Tp2, polymorphic_allocator, _Args2...>(*this);
+   index_sequence_for<_Args1...> __x_i;
+   index_sequence_for<_Args2...> __y_i;
+
+   ::new(__p) pair<_Tp1, _Tp2>(piecewise_construct,
+          _S_construct_p(__x_tag, __x_i, __x),
+          _S_construct_p(__y_tag, __y_i, __y));
+ }
+
+      template<typename _Tp1, typename _Tp2>
+ __attribute__((__nonnull__))
+ void
+ construct(pair<_Tp1, _Tp2>* __p)
+ { this->construct(__p, piecewise_construct, tuple<>(), tuple<>()); }
+
+      template<typename _Tp1, typename _Tp2, typename _Up, typename _Vp>
+ __attribute__((__nonnull__))
+ void
+ construct(pair<_Tp1, _Tp2>* __p, _Up&& __x, _Vp&& __y)
+ {
+   this->construct(__p, piecewise_construct,
+       std::forward_as_tuple(std::forward<_Up>(__x)),
+       std::forward_as_tuple(std::forward<_Vp>(__y)));
+ }
+
+      template <typename _Tp1, typename _Tp2, typename _Up, typename _Vp>
+ __attribute__((__nonnull__))
+ void
+ construct(pair<_Tp1, _Tp2>* __p, const std::pair<_Up, _Vp>& __pr)
+ {
+   this->construct(__p, piecewise_construct,
+       std::forward_as_tuple(__pr.first),
+       std::forward_as_tuple(__pr.second));
+ }
+
+      template<typename _Tp1, typename _Tp2, typename _Up, typename _Vp>
+ __attribute__((__nonnull__))
+ void
+ construct(pair<_Tp1, _Tp2>* __p, pair<_Up, _Vp>&& __pr)
+ {
+   this->construct(__p, piecewise_construct,
+       std::forward_as_tuple(std::forward<_Up>(__pr.first)),
+       std::forward_as_tuple(std::forward<_Vp>(__pr.second)));
+ }
+# 309 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      template<typename _Up>
+ __attribute__((__nonnull__))
+ void
+ destroy(_Up* __p)
+ { __p->~_Up(); }
+
+      polymorphic_allocator
+      select_on_container_copy_construction() const noexcept
+      { return polymorphic_allocator(); }
+
+      memory_resource*
+      resource() const noexcept
+      __attribute__((__returns_nonnull__))
+      { return _M_resource; }
+
+
+
+      [[nodiscard]]
+      friend bool
+      operator==(const polymorphic_allocator& __a,
+   const polymorphic_allocator& __b) noexcept
+      { return *__a.resource() == *__b.resource(); }
+
+
+      [[nodiscard]]
+      friend bool
+      operator!=(const polymorphic_allocator& __a,
+   const polymorphic_allocator& __b) noexcept
+      { return !(__a == __b); }
+
+
+    private:
+
+      using __uses_alloc1_ = __uses_alloc1<polymorphic_allocator>;
+      using __uses_alloc2_ = __uses_alloc2<polymorphic_allocator>;
+
+      template<typename _Ind, typename... _Args>
+ static tuple<_Args&&...>
+ _S_construct_p(__uses_alloc0, _Ind, tuple<_Args...>& __t)
+ { return std::move(__t); }
+
+      template<size_t... _Ind, typename... _Args>
+ static tuple<allocator_arg_t, polymorphic_allocator, _Args&&...>
+ _S_construct_p(__uses_alloc1_ __ua, index_sequence<_Ind...>,
+         tuple<_Args...>& __t)
+ {
+   return {
+       allocator_arg, *__ua._M_a, std::get<_Ind>(std::move(__t))...
+   };
+ }
+
+      template<size_t... _Ind, typename... _Args>
+ static tuple<_Args&&..., polymorphic_allocator>
+ _S_construct_p(__uses_alloc2_ __ua, index_sequence<_Ind...>,
+         tuple<_Args...>& __t)
+ { return { std::get<_Ind>(std::move(__t))..., *__ua._M_a }; }
+
+
+      memory_resource* _M_resource;
+    };
+
+  template<typename _Tp1, typename _Tp2>
+    [[nodiscard]]
+    inline bool
+    operator==(const polymorphic_allocator<_Tp1>& __a,
+        const polymorphic_allocator<_Tp2>& __b) noexcept
+    { return *__a.resource() == *__b.resource(); }
+
+
+  template<typename _Tp1, typename _Tp2>
+    [[nodiscard]]
+    inline bool
+    operator!=(const polymorphic_allocator<_Tp1>& __a,
+        const polymorphic_allocator<_Tp2>& __b) noexcept
+    { return !(__a == __b); }
+
+
+}
+
+  template<typename _Alloc> struct allocator_traits;
+
+
+
+
+
+
+
+  template<typename _Tp>
+    struct allocator_traits<pmr::polymorphic_allocator<_Tp>>
+    {
+
+      using allocator_type = pmr::polymorphic_allocator<_Tp>;
+
+
+      using value_type = _Tp;
+
+
+      using pointer = _Tp*;
+
+
+      using const_pointer = const _Tp*;
+
+
+      using void_pointer = void*;
+
+
+      using const_void_pointer = const void*;
+
+
+      using difference_type = std::ptrdiff_t;
+
+
+      using size_type = std::size_t;
+
+
+
+
+
+      using propagate_on_container_copy_assignment = false_type;
+      using propagate_on_container_move_assignment = false_type;
+      using propagate_on_container_swap = false_type;
+
+      static allocator_type
+      select_on_container_copy_construction(const allocator_type&) noexcept
+      { return allocator_type(); }
+
+
+
+      using is_always_equal = false_type;
+
+      template<typename _Up>
+ using rebind_alloc = pmr::polymorphic_allocator<_Up>;
+
+      template<typename _Up>
+ using rebind_traits = allocator_traits<pmr::polymorphic_allocator<_Up>>;
+# 452 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      [[nodiscard]] static pointer
+      allocate(allocator_type& __a, size_type __n)
+      { return __a.allocate(__n); }
+# 467 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      [[nodiscard]] static pointer
+      allocate(allocator_type& __a, size_type __n, const_void_pointer)
+      { return __a.allocate(__n); }
+# 479 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      static void
+      deallocate(allocator_type& __a, pointer __p, size_type __n)
+      { __a.deallocate(__p, __n); }
+# 494 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      template<typename _Up, typename... _Args>
+ static void
+ construct(allocator_type& __a, _Up* __p, _Args&&... __args)
+ { __a.construct(__p, std::forward<_Args>(__args)...); }
+# 506 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
+      template<typename _Up>
+ static void
+ destroy(allocator_type&, _Up* __p)
+ noexcept(is_nothrow_destructible<_Up>::value)
+ { __p->~_Up(); }
+
+
+
+
+
+      static size_type
+      max_size(const allocator_type&) noexcept
+      { return size_t(-1) / sizeof(value_type); }
+    };
+
+
+}
+# 73 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+  namespace pmr {
+    template<typename _CharT, typename _Traits = char_traits<_CharT>>
+      using basic_string = std::basic_string<_CharT, _Traits,
+          polymorphic_allocator<_CharT>>;
+    using string = basic_string<char>;
+
+
+
+    using u16string = basic_string<char16_t>;
+    using u32string = basic_string<char32_t>;
+    using wstring = basic_string<wchar_t>;
+  }
+
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 2 3
+
+
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+  class locale
+  {
+  public:
+
+
+    typedef int category;
+
+
+    class facet;
+    class id;
+    class _Impl;
+
+    friend class facet;
+    friend class _Impl;
+
+    template<typename _Facet>
+      friend bool
+      has_facet(const locale&) throw();
+
+    template<typename _Facet>
+      friend const _Facet&
+      use_facet(const locale&);
+
+    template<typename _Facet>
+      friend const _Facet*
+      __try_use_facet(const locale&) noexcept;
+
+    template<typename _Cache>
+      friend struct __use_cache;
+# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    static const category none = 0;
+    static const category ctype = 1L << 0;
+    static const category numeric = 1L << 1;
+    static const category collate = 1L << 2;
+    static const category time = 1L << 3;
+    static const category monetary = 1L << 4;
+    static const category messages = 1L << 5;
+    static const category all = (ctype | numeric | collate |
+        time | monetary | messages);
+# 127 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    locale() throw();
+# 136 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    locale(const locale& __other) throw();
+# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    explicit
+    locale(const char* __s);
+# 161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    locale(const locale& __base, const char* __s, category __cat);
+# 172 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    explicit
+    locale(const std::string& __s) : locale(__s.c_str()) { }
+# 187 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    locale(const locale& __base, const std::string& __s, category __cat)
+    : locale(__base, __s.c_str(), __cat) { }
+# 202 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    locale(const locale& __base, const locale& __add, category __cat);
+# 215 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    template<typename _Facet>
+      locale(const locale& __other, _Facet* __f);
+
+
+    ~locale() throw();
+# 229 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    const locale&
+    operator=(const locale& __other) throw();
+# 244 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    template<typename _Facet>
+      [[__nodiscard__]]
+      locale
+      combine(const locale& __other) const;
+
+
+
+
+
+
+    [[__nodiscard__]] __attribute ((__abi_tag__ ("cxx11")))
+    string
+    name() const;
+# 275 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    [[__nodiscard__]]
+    bool
+    operator==(const locale& __other) const throw();
+# 286 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    [[__nodiscard__]]
+    bool
+    operator!=(const locale& __other) const throw()
+    { return !(this->operator==(__other)); }
+# 307 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    template<typename _Char, typename _Traits, typename _Alloc>
+      [[__nodiscard__]]
+      bool
+      operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
+   const basic_string<_Char, _Traits, _Alloc>& __s2) const;
+# 324 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    static locale
+    global(const locale& __loc);
+
+
+
+
+    [[__nodiscard__]]
+    static const locale&
+    classic();
+
+  private:
+
+    _Impl* _M_impl;
+
+
+    static _Impl* _S_classic;
+
+
+    static _Impl* _S_global;
+
+
+
+
+
+    static const char* const* const _S_categories;
+# 360 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    enum { _S_categories_size = 6 + 6 };
+
+
+    static __gthread_once_t _S_once;
+
+
+    explicit
+    locale(_Impl*) throw();
+
+    static void
+    _S_initialize();
+
+    static void
+    _S_initialize_once() throw();
+
+    static category
+    _S_normalize_category(category);
+
+    void
+    _M_coalesce(const locale& __base, const locale& __add, category __cat);
+
+
+    static const id* const _S_twinned_facets[];
+
+  };
+
+
+  template<typename _Tp>
+    constexpr bool __is_facet = is_base_of_v<locale::facet, _Tp>;
+  template<typename _Tp>
+    constexpr bool __is_facet<volatile _Tp> = false;
+# 404 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+  class locale::facet
+  {
+  private:
+    friend class locale;
+    friend class locale::_Impl;
+
+    mutable _Atomic_word _M_refcount;
+
+
+    static __c_locale _S_c_locale;
+
+
+    static const char _S_c_name[2];
+
+
+    static __gthread_once_t _S_once;
+
+
+    static void
+    _S_initialize_once();
+
+  protected:
+# 435 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    explicit
+    facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
+    { }
+
+
+    virtual
+    ~facet();
+
+    static void
+    _S_create_c_locale(__c_locale& __cloc, const char* __s,
+         __c_locale __old = 0);
+
+    static __c_locale
+    _S_clone_c_locale(__c_locale& __cloc) throw();
+
+    static void
+    _S_destroy_c_locale(__c_locale& __cloc);
+
+    static __c_locale
+    _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
+
+
+
+    static __c_locale
+    _S_get_c_locale();
+
+    __attribute__ ((__const__)) static const char*
+    _S_get_c_name() throw();
+# 471 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+    facet(const facet&) = delete;
+
+    facet&
+    operator=(const facet&) = delete;
+
+
+  private:
+    void
+    _M_add_reference() const throw()
+    { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
+
+    void
+    _M_remove_reference() const throw()
+    {
+
+                                                           ;
+      if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
+ {
+                                                              ;
+   try
+     { delete this; }
+   catch(...)
+     { }
+ }
+    }
+
+    const facet* _M_sso_shim(const id*) const;
+    const facet* _M_cow_shim(const id*) const;
+
+  protected:
+    class __shim;
+  };
+# 516 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+  class locale::id
+  {
+  private:
+    friend class locale;
+    friend class locale::_Impl;
+
+    template<typename _Facet>
+      friend const _Facet&
+      use_facet(const locale&);
+
+    template<typename _Facet>
+      friend bool
+      has_facet(const locale&) throw();
+
+    template<typename _Facet>
+      friend const _Facet*
+      __try_use_facet(const locale&) noexcept;
+
+
+
+
+    mutable size_t _M_index;
+
+
+    static _Atomic_word _S_refcount;
+
+    void
+    operator=(const id&);
+
+    id(const id&);
+
+  public:
+
+
+
+    id() { }
+
+    size_t
+    _M_id() const throw();
+  };
+
+
+
+  class locale::_Impl
+  {
+  public:
+
+    friend class locale;
+    friend class locale::facet;
+
+    template<typename _Facet>
+      friend bool
+      has_facet(const locale&) throw();
+
+    template<typename _Facet>
+      friend const _Facet&
+      use_facet(const locale&);
+
+    template<typename _Facet>
+      friend const _Facet*
+      __try_use_facet(const locale&) noexcept;
+
+    template<typename _Cache>
+      friend struct __use_cache;
+
+  private:
+
+    _Atomic_word _M_refcount;
+    const facet** _M_facets;
+    size_t _M_facets_size;
+    const facet** _M_caches;
+    char** _M_names;
+    static const locale::id* const _S_id_ctype[];
+    static const locale::id* const _S_id_numeric[];
+    static const locale::id* const _S_id_collate[];
+    static const locale::id* const _S_id_time[];
+    static const locale::id* const _S_id_monetary[];
+    static const locale::id* const _S_id_messages[];
+    static const locale::id* const* const _S_facet_categories[];
+
+    void
+    _M_add_reference() throw()
+    { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
+
+    void
+    _M_remove_reference() throw()
+    {
+
+                                                           ;
+      if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
+ {
+                                                              ;
+   try
+     { delete this; }
+   catch(...)
+     { }
+ }
+    }
+
+    _Impl(const _Impl&, size_t);
+    _Impl(const char*, size_t);
+    _Impl(size_t) throw();
+
+   ~_Impl() throw();
+
+    _Impl(const _Impl&);
+
+    void
+    operator=(const _Impl&);
+
+    bool
+    _M_check_same_name()
+    {
+      bool __ret = true;
+      if (_M_names[1])
+
+ for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
+   __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
+      return __ret;
+    }
+
+    void
+    _M_replace_categories(const _Impl*, category);
+
+    void
+    _M_replace_category(const _Impl*, const locale::id* const*);
+
+    void
+    _M_replace_facet(const _Impl*, const locale::id*);
+
+    void
+    _M_install_facet(const locale::id*, const facet*);
+
+    template<typename _Facet>
+      void
+      _M_init_facet(_Facet* __facet)
+      { _M_install_facet(&_Facet::id, __facet); }
+
+    template<typename _Facet>
+      void
+      _M_init_facet_unchecked(_Facet* __facet)
+      {
+ __facet->_M_add_reference();
+ _M_facets[_Facet::id._M_id()] = __facet;
+      }
+
+    void
+    _M_install_cache(const facet*, size_t);
+
+    void _M_init_extra(facet**);
+    void _M_init_extra(void*, void*, const char*, const char*);
+
+
+
+
+  };
+# 686 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+  template<typename _CharT>
+    class __cxx11:: collate : public locale::facet
+    {
+    public:
+
+
+
+      typedef _CharT char_type;
+      typedef basic_string<_CharT> string_type;
+
+
+    protected:
+
+
+      __c_locale _M_c_locale_collate;
+
+    public:
+
+      static locale::id id;
+# 713 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      explicit
+      collate(size_t __refs = 0)
+      : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
+      { }
+# 727 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      explicit
+      collate(__c_locale __cloc, size_t __refs = 0)
+      : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
+      { }
+# 744 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      int
+      compare(const _CharT* __lo1, const _CharT* __hi1,
+       const _CharT* __lo2, const _CharT* __hi2) const
+      { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
+# 763 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      string_type
+      transform(const _CharT* __lo, const _CharT* __hi) const
+      { return this->do_transform(__lo, __hi); }
+# 777 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      long
+      hash(const _CharT* __lo, const _CharT* __hi) const
+      { return this->do_hash(__lo, __hi); }
+
+
+      int
+      _M_compare(const _CharT*, const _CharT*) const throw();
+
+      size_t
+      _M_transform(_CharT*, const _CharT*, size_t) const throw();
+
+  protected:
+
+      virtual
+      ~collate()
+      { _S_destroy_c_locale(_M_c_locale_collate); }
+# 806 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      virtual int
+      do_compare(const _CharT* __lo1, const _CharT* __hi1,
+   const _CharT* __lo2, const _CharT* __hi2) const;
+# 820 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      virtual string_type
+      do_transform(const _CharT* __lo, const _CharT* __hi) const;
+# 833 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
+      virtual long
+      do_hash(const _CharT* __lo, const _CharT* __hi) const;
+    };
+
+  template<typename _CharT>
+    locale::id collate<_CharT>::id;
+
+
+  template<>
+    int
+    collate<char>::_M_compare(const char*, const char*) const throw();
+
+  template<>
+    size_t
+    collate<char>::_M_transform(char*, const char*, size_t) const throw();
+
+
+  template<>
+    int
+    collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
+
+  template<>
+    size_t
+    collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
+
+
+
+  template<typename _CharT>
+    class __cxx11:: collate_byname : public collate<_CharT>
+    {
+    public:
+
+
+      typedef _CharT char_type;
+      typedef basic_string<_CharT> string_type;
+
+
+      explicit
+      collate_byname(const char* __s, size_t __refs = 0)
+      : collate<_CharT>(__refs)
+      {
+ if (__builtin_strcmp(__s, "C") != 0
+     && __builtin_strcmp(__s, "POSIX") != 0)
+   {
+     this->_S_destroy_c_locale(this->_M_c_locale_collate);
+     this->_S_create_c_locale(this->_M_c_locale_collate, __s);
+   }
+      }
+
+
+      explicit
+      collate_byname(const string& __s, size_t __refs = 0)
+      : collate_byname(__s.c_str(), __refs) { }
+
+
+    protected:
+      virtual
+      ~collate_byname() { }
+    };
+
+
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+#pragma GCC diagnostic ignored "-Wvariadic-macros"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _Facet>
+    locale::
+    locale(const locale& __other, _Facet* __f)
+    {
+
+
+      if (__builtin_expect(!__f, 0))
+ {
+   _M_impl = __other._M_impl;
+   _M_impl->_M_add_reference();
+   return;
+ }
+
+      _M_impl = new _Impl(*__other._M_impl, 1);
+
+      try
+ { _M_impl->_M_install_facet(&_Facet::id, __f); }
+      catch(...)
+ {
+   _M_impl->_M_remove_reference();
+   throw;
+ }
+      delete [] _M_impl->_M_names[0];
+      _M_impl->_M_names[0] = 0;
+    }
+
+  template<typename _Facet>
+    locale
+    locale::
+    combine(const locale& __other) const
+    {
+
+      static_assert(__is_facet<_Facet>, "Template argument must be a facet");
+
+
+      _Impl* __tmp = new _Impl(*_M_impl, 1);
+      try
+ {
+   __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
+ }
+      catch(...)
+ {
+   __tmp->_M_remove_reference();
+   throw;
+ }
+      delete[] __tmp->_M_names[0];
+      __tmp->_M_names[0] = 0;
+      return locale(__tmp);
+    }
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    bool
+    locale::
+    operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
+        const basic_string<_CharT, _Traits, _Alloc>& __s2) const
+    {
+      typedef std::collate<_CharT> __collate_type;
+      const __collate_type& __collate = use_facet<__collate_type>(*this);
+      return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
+    __s2.data(), __s2.data() + __s2.length()) < 0);
+    }
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+  template<typename _Facet>
+    inline const _Facet*
+    __try_use_facet(const locale& __loc) noexcept
+    {
+      const size_t __i = _Facet::id._M_id();
+      const locale::facet** __facets = __loc._M_impl->_M_facets;
+
+
+
+
+
+
+
+      if constexpr (__is_same(const _Facet, const ctype<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const num_get<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const num_put<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const codecvt<char, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const collate<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const moneypunct<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const moneypunct<char, true>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const money_get<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const money_put<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const numpunct<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const time_get<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const time_put<char>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const messages<char>)) return static_cast<const _Facet*>(__facets[__i]);
+
+
+      if constexpr (__is_same(const _Facet, const ctype<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const num_get<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const num_put<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const codecvt<wchar_t, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const collate<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const moneypunct<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const moneypunct<wchar_t, true>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const money_get<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const money_put<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const numpunct<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const time_get<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const time_put<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const messages<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
+
+
+      if constexpr (__is_same(const _Facet, const codecvt<char16_t, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
+      if constexpr (__is_same(const _Facet, const codecvt<char32_t, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
+
+
+
+
+      if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
+ return 0;
+
+
+      return dynamic_cast<const _Facet*>(__facets[__i]);
+
+
+
+    }
+#pragma GCC diagnostic pop
+# 187 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 3
+  template<typename _Facet>
+    [[__nodiscard__]]
+    inline bool
+    has_facet(const locale& __loc) noexcept
+    {
+
+      static_assert(__is_base_of(locale::facet, _Facet),
+      "template argument must be derived from locale::facet");
+
+
+
+      return std::__try_use_facet<_Facet>(__loc) != 0;
+    }
+# 215 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 3
+#pragma GCC diagnostic push
+
+  template<typename _Facet>
+    [[__nodiscard__]]
+    inline const _Facet&
+    use_facet(const locale& __loc)
+    {
+
+      static_assert(__is_base_of(locale::facet, _Facet),
+      "template argument must be derived from locale::facet");
+
+
+
+      if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc))
+ return *__f;
+      __throw_bad_cast();
+    }
+#pragma GCC diagnostic pop
+
+
+
+  template<typename _CharT>
+    int
+    collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
+    { return 0; }
+
+
+  template<typename _CharT>
+    size_t
+    collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
+    { return 0; }
+
+  template<typename _CharT>
+    int
+    collate<_CharT>::
+    do_compare(const _CharT* __lo1, const _CharT* __hi1,
+        const _CharT* __lo2, const _CharT* __hi2) const
+    {
+
+
+      const string_type __one(__lo1, __hi1);
+      const string_type __two(__lo2, __hi2);
+
+      const _CharT* __p = __one.c_str();
+      const _CharT* __pend = __one.data() + __one.length();
+      const _CharT* __q = __two.c_str();
+      const _CharT* __qend = __two.data() + __two.length();
+
+
+
+
+      for (;;)
+ {
+   const int __res = _M_compare(__p, __q);
+   if (__res)
+     return __res;
+
+   __p += char_traits<_CharT>::length(__p);
+   __q += char_traits<_CharT>::length(__q);
+   if (__p == __pend && __q == __qend)
+     return 0;
+   else if (__p == __pend)
+     return -1;
+   else if (__q == __qend)
+     return 1;
+
+   __p++;
+   __q++;
+ }
+    }
+
+  template<typename _CharT>
+    typename collate<_CharT>::string_type
+    collate<_CharT>::
+    do_transform(const _CharT* __lo, const _CharT* __hi) const
+    {
+      string_type __ret;
+
+
+      const string_type __str(__lo, __hi);
+
+      const _CharT* __p = __str.c_str();
+      const _CharT* __pend = __str.data() + __str.length();
+
+      size_t __len = (__hi - __lo) * 2;
+
+      struct _Buf
+      {
+ _Buf(size_t __n, void* __buf, int __e)
+ : _M_c(__buf ? (_CharT*)__buf : new _CharT[__n]),
+   _M_stackbuf(__buf),
+   _M_errno(__e)
+ { }
+
+ ~_Buf()
+ {
+   if (_M_c != _M_stackbuf)
+     delete[] _M_c;
+   if ((*__errno_location ()) == 0)
+     (*__errno_location ()) = _M_errno;
+ }
+
+ void _M_realloc(size_t __len)
+ {
+   _CharT* __p = new _CharT[__len];
+   if (_M_c != _M_stackbuf)
+     delete[] _M_c;
+   _M_c = __p;
+ }
+
+ _CharT* _M_c;
+ void* const _M_stackbuf;
+ int _M_errno;
+      };
+
+      const size_t __bytes = __len * sizeof(_CharT);
+      _Buf __buf(__len, __bytes <= 256 ? __builtin_alloca(__bytes) : 0, (*__errno_location ()));
+      (*__errno_location ()) = 0;
+
+
+
+
+      for (;;)
+ {
+
+   size_t __res = _M_transform(__buf._M_c, __p, __len);
+
+
+   if (__res >= __len)
+     {
+       if (__builtin_expect((*__errno_location ()), 0))
+  {
+
+    __throw_system_error((*__errno_location ()));
+
+
+
+
+
+
+
+  }
+
+       __len = __res + 1;
+       __buf._M_realloc(__len);
+       __res = _M_transform(__buf._M_c, __p, __len);
+     }
+
+   __ret.append(__buf._M_c, __res);
+   __p += char_traits<_CharT>::length(__p);
+   if (__p == __pend)
+     break;
+
+   __p++;
+   __ret.push_back(_CharT());
+ }
+
+      return __ret;
+    }
+
+  template<typename _CharT>
+    long
+    collate<_CharT>::
+    do_hash(const _CharT* __lo, const _CharT* __hi) const
+    {
+      unsigned long __val = 0;
+      for (; __lo < __hi; ++__lo)
+ __val =
+   *__lo + ((__val << 7)
+     | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
+    __digits - 7)));
+      return static_cast<long>(__val);
+    }
+
+
+
+
+  extern template class collate<char>;
+  extern template class collate_byname<char>;
+
+  extern template
+    const collate<char>*
+    __try_use_facet<collate<char> >(const locale&) noexcept;
+
+  extern template
+    const collate<char>&
+    use_facet<collate<char> >(const locale&);
+
+  extern template
+    bool
+    has_facet<collate<char> >(const locale&);
+
+
+  extern template class collate<wchar_t>;
+  extern template class collate_byname<wchar_t>;
+
+  extern template
+    const collate<wchar_t>*
+    __try_use_facet<collate<wchar_t> >(const locale&) noexcept;
+
+  extern template
+    const collate<wchar_t>&
+    use_facet<collate<wchar_t> >(const locale&);
+
+  extern template
+    bool
+    has_facet<collate<wchar_t> >(const locale&);
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 897 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 2 3
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 2 3
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/error_constants.h" 1 3
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/error_constants.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  enum class errc
+    {
+      address_family_not_supported = 97,
+      address_in_use = 98,
+      address_not_available = 99,
+      already_connected = 106,
+      argument_list_too_long = 7,
+      argument_out_of_domain = 33,
+      bad_address = 14,
+      bad_file_descriptor = 9,
+
+
+      bad_message = 74,
+
+
+      broken_pipe = 32,
+      connection_aborted = 103,
+      connection_already_in_progress = 114,
+      connection_refused = 111,
+      connection_reset = 104,
+      cross_device_link = 18,
+      destination_address_required = 89,
+      device_or_resource_busy = 16,
+      directory_not_empty = 39,
+      executable_format_error = 8,
+      file_exists = 17,
+      file_too_large = 27,
+      filename_too_long = 36,
+      function_not_supported = 38,
+      host_unreachable = 113,
+
+
+      identifier_removed = 43,
+
+
+      illegal_byte_sequence = 84,
+      inappropriate_io_control_operation = 25,
+      interrupted = 4,
+      invalid_argument = 22,
+      invalid_seek = 29,
+      io_error = 5,
+      is_a_directory = 21,
+      message_size = 90,
+      network_down = 100,
+      network_reset = 102,
+      network_unreachable = 101,
+      no_buffer_space = 105,
+      no_child_process = 10,
+
+
+      no_link = 67,
+
+
+      no_lock_available = 37,
+
+
+      no_message_available = 61,
+
+
+      no_message = 42,
+      no_protocol_option = 92,
+      no_space_on_device = 28,
+
+
+      no_stream_resources = 63,
+
+
+      no_such_device_or_address = 6,
+      no_such_device = 19,
+      no_such_file_or_directory = 2,
+      no_such_process = 3,
+      not_a_directory = 20,
+      not_a_socket = 88,
+
+
+      not_a_stream = 60,
+
+
+      not_connected = 107,
+      not_enough_memory = 12,
+
+
+      not_supported = 95,
+
+
+
+      operation_canceled = 125,
+
+
+      operation_in_progress = 115,
+      operation_not_permitted = 1,
+      operation_not_supported = 95,
+      operation_would_block = 11,
+
+
+      owner_dead = 130,
+
+
+      permission_denied = 13,
+
+
+      protocol_error = 71,
+
+
+      protocol_not_supported = 93,
+      read_only_file_system = 30,
+      resource_deadlock_would_occur = 35,
+      resource_unavailable_try_again = 11,
+      result_out_of_range = 34,
+
+
+      state_not_recoverable = 131,
+
+
+
+      stream_timeout = 62,
+
+
+
+      text_file_busy = 26,
+
+
+      timed_out = 110,
+      too_many_files_open_in_system = 23,
+      too_many_files_open = 24,
+      too_many_links = 31,
+      too_many_symbolic_link_levels = 40,
+
+
+      value_too_large = 75,
+
+
+
+
+      wrong_protocol_type = 91
+    };
+
+
+}
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/stdexcept" 1 3
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/stdexcept" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+  struct __cow_string
+  {
+    union {
+      const char* _M_p;
+      char _M_bytes[sizeof(const char*)];
+    };
+
+    __cow_string();
+    __cow_string(const std::string&);
+    __cow_string(const char*, size_t);
+    __cow_string(const __cow_string&) noexcept;
+    __cow_string& operator=(const __cow_string&) noexcept;
+    ~__cow_string();
+
+    __cow_string(__cow_string&&) noexcept;
+    __cow_string& operator=(__cow_string&&) noexcept;
+
+  };
+
+  typedef basic_string<char> __sso_string;
+# 115 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/stdexcept" 3
+  class logic_error : public exception
+  {
+    __cow_string _M_msg;
+
+  public:
+
+    explicit
+    logic_error(const string& __arg) ;
+
+
+    explicit
+    logic_error(const char*) ;
+
+    logic_error(logic_error&&) noexcept;
+    logic_error& operator=(logic_error&&) noexcept;
+
+
+
+    logic_error(const logic_error&) noexcept;
+    logic_error& operator=(const logic_error&) noexcept;
+
+
+
+
+
+    virtual ~logic_error() noexcept;
+
+
+
+    virtual const char*
+    what() const noexcept;
+
+
+
+
+
+  };
+
+
+
+  class domain_error : public logic_error
+  {
+  public:
+    explicit domain_error(const string& __arg) ;
+
+    explicit domain_error(const char*) ;
+    domain_error(const domain_error&) = default;
+    domain_error& operator=(const domain_error&) = default;
+    domain_error(domain_error&&) = default;
+    domain_error& operator=(domain_error&&) = default;
+
+    virtual ~domain_error() noexcept;
+  };
+
+
+  class invalid_argument : public logic_error
+  {
+  public:
+    explicit invalid_argument(const string& __arg) ;
+
+    explicit invalid_argument(const char*) ;
+    invalid_argument(const invalid_argument&) = default;
+    invalid_argument& operator=(const invalid_argument&) = default;
+    invalid_argument(invalid_argument&&) = default;
+    invalid_argument& operator=(invalid_argument&&) = default;
+
+    virtual ~invalid_argument() noexcept;
+  };
+
+
+
+  class length_error : public logic_error
+  {
+  public:
+    explicit length_error(const string& __arg) ;
+
+    explicit length_error(const char*) ;
+    length_error(const length_error&) = default;
+    length_error& operator=(const length_error&) = default;
+    length_error(length_error&&) = default;
+    length_error& operator=(length_error&&) = default;
+
+    virtual ~length_error() noexcept;
+  };
+
+
+
+  class out_of_range : public logic_error
+  {
+  public:
+    explicit out_of_range(const string& __arg) ;
+
+    explicit out_of_range(const char*) ;
+    out_of_range(const out_of_range&) = default;
+    out_of_range& operator=(const out_of_range&) = default;
+    out_of_range(out_of_range&&) = default;
+    out_of_range& operator=(out_of_range&&) = default;
+
+    virtual ~out_of_range() noexcept;
+  };
+
+
+
+
+
+
+  class runtime_error : public exception
+  {
+    __cow_string _M_msg;
+
+  public:
+
+    explicit
+    runtime_error(const string& __arg) ;
+
+
+    explicit
+    runtime_error(const char*) ;
+
+    runtime_error(runtime_error&&) noexcept;
+    runtime_error& operator=(runtime_error&&) noexcept;
+
+
+
+    runtime_error(const runtime_error&) noexcept;
+    runtime_error& operator=(const runtime_error&) noexcept;
+
+
+
+
+
+    virtual ~runtime_error() noexcept;
+
+
+
+    virtual const char*
+    what() const noexcept;
+
+
+
+
+
+  };
+
+
+  class range_error : public runtime_error
+  {
+  public:
+    explicit range_error(const string& __arg) ;
+
+    explicit range_error(const char*) ;
+    range_error(const range_error&) = default;
+    range_error& operator=(const range_error&) = default;
+    range_error(range_error&&) = default;
+    range_error& operator=(range_error&&) = default;
+
+    virtual ~range_error() noexcept;
+  };
+
+
+  class overflow_error : public runtime_error
+  {
+  public:
+    explicit overflow_error(const string& __arg) ;
+
+    explicit overflow_error(const char*) ;
+    overflow_error(const overflow_error&) = default;
+    overflow_error& operator=(const overflow_error&) = default;
+    overflow_error(overflow_error&&) = default;
+    overflow_error& operator=(overflow_error&&) = default;
+
+    virtual ~overflow_error() noexcept;
+  };
+
+
+  class underflow_error : public runtime_error
+  {
+  public:
+    explicit underflow_error(const string& __arg) ;
+
+    explicit underflow_error(const char*) ;
+    underflow_error(const underflow_error&) = default;
+    underflow_error& operator=(const underflow_error&) = default;
+    underflow_error(underflow_error&&) = default;
+    underflow_error& operator=(underflow_error&&) = default;
+
+    virtual ~underflow_error() noexcept;
+  };
+
+
+
+
+}
+# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 2 3
+
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+  class error_code;
+  class error_condition;
+  class system_error;
+
+
+  template<typename _Tp>
+    struct is_error_code_enum : public false_type { };
+
+
+  template<typename _Tp>
+    struct is_error_condition_enum : public false_type { };
+
+  template<>
+    struct is_error_condition_enum<errc>
+    : public true_type { };
+
+
+  template <typename _Tp>
+    inline constexpr bool is_error_code_enum_v =
+      is_error_code_enum<_Tp>::value;
+  template <typename _Tp>
+    inline constexpr bool is_error_condition_enum_v =
+      is_error_condition_enum<_Tp>::value;
+
+
+
+inline namespace _V2 {
+# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  class error_category
+  {
+  public:
+    constexpr error_category() noexcept = default;
+
+    virtual ~error_category();
+
+    error_category(const error_category&) = delete;
+    error_category& operator=(const error_category&) = delete;
+
+
+    virtual const char*
+    name() const noexcept = 0;
+
+
+
+
+
+
+  private:
+    __attribute ((__abi_tag__ ("cxx11")))
+    virtual __cow_string
+    _M_message(int) const;
+
+  public:
+
+    __attribute ((__abi_tag__ ("cxx11")))
+    virtual string
+    message(int) const = 0;
+# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  public:
+
+    virtual error_condition
+    default_error_condition(int __i) const noexcept;
+
+
+    virtual bool
+    equivalent(int __i, const error_condition& __cond) const noexcept;
+
+
+    virtual bool
+    equivalent(const error_code& __code, int __i) const noexcept;
+
+
+    [[__nodiscard__]]
+    bool
+    operator==(const error_category& __other) const noexcept
+    { return this == &__other; }
+# 172 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+    bool
+    operator<(const error_category& __other) const noexcept
+    { return less<const error_category*>()(this, &__other); }
+
+    bool
+    operator!=(const error_category& __other) const noexcept
+    { return this != &__other; }
+
+  };
+
+
+
+
+  [[__nodiscard__, __gnu__::__const__]]
+  const error_category&
+  generic_category() noexcept;
+
+
+  [[__nodiscard__, __gnu__::__const__]]
+  const error_category&
+  system_category() noexcept;
+
+
+
+}
+
+
+
+
+
+namespace __adl_only
+{
+  void make_error_code() = delete;
+  void make_error_condition() = delete;
+}
+# 225 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  class error_code
+  {
+    template<typename _ErrorCodeEnum>
+      using _Check
+ = __enable_if_t<is_error_code_enum<_ErrorCodeEnum>::value>;
+
+  public:
+    error_code() noexcept
+    : _M_value(0), _M_cat(&system_category()) { }
+
+    error_code(int __v, const error_category& __cat) noexcept
+    : _M_value(__v), _M_cat(&__cat) { }
+
+
+    template<typename _ErrorCodeEnum,
+      typename = _Check<_ErrorCodeEnum>>
+      error_code(_ErrorCodeEnum __e) noexcept
+      {
+ using __adl_only::make_error_code;
+ *this = make_error_code(__e);
+      }
+
+    error_code(const error_code&) = default;
+    error_code& operator=(const error_code&) = default;
+
+    void
+    assign(int __v, const error_category& __cat) noexcept
+    {
+      _M_value = __v;
+      _M_cat = &__cat;
+    }
+
+    void
+    clear() noexcept
+    { assign(0, system_category()); }
+
+
+    [[__nodiscard__]]
+    int
+    value() const noexcept { return _M_value; }
+
+
+    [[__nodiscard__]]
+    const error_category&
+    category() const noexcept { return *_M_cat; }
+
+
+    error_condition
+    default_error_condition() const noexcept;
+
+
+    __attribute ((__abi_tag__ ("cxx11")))
+    string
+    message() const
+    { return category().message(value()); }
+
+
+    [[__nodiscard__]]
+    explicit operator bool() const noexcept
+    { return _M_value != 0; }
+
+
+  private:
+    int _M_value;
+    const error_category* _M_cat;
+  };
+# 302 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  [[__nodiscard__]]
+  inline error_code
+  make_error_code(errc __e) noexcept
+  { return error_code(static_cast<int>(__e), generic_category()); }
+# 325 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  inline bool
+  operator<(const error_code& __lhs, const error_code& __rhs) noexcept
+  {
+    return (__lhs.category() < __rhs.category()
+     || (__lhs.category() == __rhs.category()
+  && __lhs.value() < __rhs.value()));
+  }
+
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
+    { return (__os << __e.category().name() << ':' << __e.value()); }
+# 356 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  class error_condition
+  {
+    template<typename _ErrorConditionEnum>
+      using _Check
+ = __enable_if_t<is_error_condition_enum<_ErrorConditionEnum>::value>;
+
+  public:
+
+    error_condition() noexcept
+    : _M_value(0), _M_cat(&generic_category()) { }
+
+
+    error_condition(int __v, const error_category& __cat) noexcept
+    : _M_value(__v), _M_cat(&__cat) { }
+
+
+    template<typename _ErrorConditionEnum,
+      typename = _Check<_ErrorConditionEnum>>
+      error_condition(_ErrorConditionEnum __e) noexcept
+      {
+ using __adl_only::make_error_condition;
+ *this = make_error_condition(__e);
+      }
+
+    error_condition(const error_condition&) = default;
+    error_condition& operator=(const error_condition&) = default;
+
+
+    void
+    assign(int __v, const error_category& __cat) noexcept
+    {
+      _M_value = __v;
+      _M_cat = &__cat;
+    }
+
+
+    void
+    clear() noexcept
+    { assign(0, generic_category()); }
+
+
+
+
+    [[__nodiscard__]]
+    int
+    value() const noexcept { return _M_value; }
+
+
+    [[__nodiscard__]]
+    const error_category&
+    category() const noexcept { return *_M_cat; }
+
+
+    __attribute ((__abi_tag__ ("cxx11")))
+    string
+    message() const
+    { return category().message(value()); }
+
+
+    [[__nodiscard__]]
+    explicit operator bool() const noexcept
+    { return _M_value != 0; }
+
+
+  private:
+    int _M_value;
+    const error_category* _M_cat;
+  };
+# 435 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  [[__nodiscard__]]
+  inline error_condition
+  make_error_condition(errc __e) noexcept
+  { return error_condition(static_cast<int>(__e), generic_category()); }
+# 449 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  [[__nodiscard__]]
+  inline bool
+  operator==(const error_code& __lhs, const error_code& __rhs) noexcept
+  {
+    return __lhs.category() == __rhs.category()
+      && __lhs.value() == __rhs.value();
+  }
+# 465 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  [[__nodiscard__]]
+  inline bool
+  operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
+  {
+    return __lhs.category().equivalent(__lhs.value(), __rhs)
+      || __rhs.category().equivalent(__lhs, __rhs.value());
+  }
+# 480 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  [[__nodiscard__]]
+  inline bool
+  operator==(const error_condition& __lhs,
+      const error_condition& __rhs) noexcept
+  {
+    return __lhs.category() == __rhs.category()
+      && __lhs.value() == __rhs.value();
+  }
+# 508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  inline bool
+  operator<(const error_condition& __lhs,
+     const error_condition& __rhs) noexcept
+  {
+    return (__lhs.category() < __rhs.category()
+     || (__lhs.category() == __rhs.category()
+  && __lhs.value() < __rhs.value()));
+  }
+
+
+  inline bool
+  operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
+  {
+    return (__rhs.category().equivalent(__rhs.value(), __lhs)
+     || __lhs.category().equivalent(__rhs, __lhs.value()));
+  }
+
+
+  inline bool
+  operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
+  { return !(__lhs == __rhs); }
+
+
+  inline bool
+  operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
+  { return !(__lhs == __rhs); }
+
+
+  inline bool
+  operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
+  { return !(__lhs == __rhs); }
+
+
+  inline bool
+  operator!=(const error_condition& __lhs,
+      const error_condition& __rhs) noexcept
+  { return !(__lhs == __rhs); }
+# 558 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
+  class system_error : public std::runtime_error
+  {
+  private:
+    error_code _M_code;
+
+  public:
+    system_error(error_code __ec = error_code())
+    : runtime_error(__ec.message()), _M_code(__ec) { }
+
+    system_error(error_code __ec, const string& __what)
+    : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
+
+    system_error(error_code __ec, const char* __what)
+    : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
+
+    system_error(int __v, const error_category& __ecat, const char* __what)
+    : system_error(error_code(__v, __ecat), __what) { }
+
+    system_error(int __v, const error_category& __ecat)
+    : runtime_error(error_code(__v, __ecat).message()),
+      _M_code(__v, __ecat) { }
+
+    system_error(int __v, const error_category& __ecat, const string& __what)
+    : runtime_error(__what + (": " + error_code(__v, __ecat).message())),
+      _M_code(__v, __ecat) { }
+
+
+    system_error (const system_error &) = default;
+    system_error &operator= (const system_error &) = default;
+
+
+    virtual ~system_error() noexcept;
+
+    const error_code&
+    code() const noexcept { return _M_code; }
+  };
+
+
+}
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+  template<>
+    struct hash<error_code>
+    : public __hash_base<size_t, error_code>
+    {
+      size_t
+      operator()(const error_code& __e) const noexcept
+      {
+ const size_t __tmp = std::_Hash_impl::hash(__e.value());
+ return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
+      }
+    };
+
+
+
+
+
+
+  template<>
+    struct hash<error_condition>
+    : public __hash_base<size_t, error_condition>
+    {
+      size_t
+      operator()(const error_condition& __e) const noexcept
+      {
+ const size_t __tmp = std::_Hash_impl::hash(__e.value());
+ return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
+      }
+    };
+
+
+
+}
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 2 3
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+  enum _Ios_Fmtflags
+    {
+      _S_boolalpha = 1L << 0,
+      _S_dec = 1L << 1,
+      _S_fixed = 1L << 2,
+      _S_hex = 1L << 3,
+      _S_internal = 1L << 4,
+      _S_left = 1L << 5,
+      _S_oct = 1L << 6,
+      _S_right = 1L << 7,
+      _S_scientific = 1L << 8,
+      _S_showbase = 1L << 9,
+      _S_showpoint = 1L << 10,
+      _S_showpos = 1L << 11,
+      _S_skipws = 1L << 12,
+      _S_unitbuf = 1L << 13,
+      _S_uppercase = 1L << 14,
+      _S_adjustfield = _S_left | _S_right | _S_internal,
+      _S_basefield = _S_dec | _S_oct | _S_hex,
+      _S_floatfield = _S_scientific | _S_fixed,
+      _S_ios_fmtflags_end = 1L << 16,
+      _S_ios_fmtflags_max = 2147483647,
+      _S_ios_fmtflags_min = ~2147483647
+    };
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Fmtflags
+  operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept
+  { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Fmtflags
+  operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept
+  { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Fmtflags
+  operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept
+  { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Fmtflags
+  operator~(_Ios_Fmtflags __a) noexcept
+  { return _Ios_Fmtflags(~static_cast<int>(__a)); }
+
+  constexpr
+  inline const _Ios_Fmtflags&
+  operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept
+  { return __a = __a | __b; }
+
+  constexpr
+  inline const _Ios_Fmtflags&
+  operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept
+  { return __a = __a & __b; }
+
+  constexpr
+  inline const _Ios_Fmtflags&
+  operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept
+  { return __a = __a ^ __b; }
+# 127 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+  enum __attribute__((__flag_enum__)) _Ios_Openmode
+    {
+      _S_app = 1L << 0,
+      _S_ate = 1L << 1,
+      _S_bin = 1L << 2,
+      _S_in = 1L << 3,
+      _S_out = 1L << 4,
+      _S_trunc = 1L << 5,
+      _S_noreplace __attribute__((__unused__)) = 1L << 6,
+      _S_ios_openmode_end __attribute__((__unused__)) = 1L << 16,
+      _S_ios_openmode_max __attribute__((__unused__)) = 2147483647,
+      _S_ios_openmode_min __attribute__((__unused__)) = ~2147483647
+    };
+
+
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Openmode
+  operator&(_Ios_Openmode __a, _Ios_Openmode __b) noexcept
+  { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Openmode
+  operator|(_Ios_Openmode __a, _Ios_Openmode __b) noexcept
+  { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Openmode
+  operator^(_Ios_Openmode __a, _Ios_Openmode __b) noexcept
+  { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Openmode
+  operator~(_Ios_Openmode __a) noexcept
+  { return _Ios_Openmode(~static_cast<int>(__a)); }
+
+  constexpr
+  inline const _Ios_Openmode&
+  operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept
+  { return __a = __a | __b; }
+
+  constexpr
+  inline const _Ios_Openmode&
+  operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept
+  { return __a = __a & __b; }
+
+  constexpr
+  inline const _Ios_Openmode&
+  operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept
+  { return __a = __a ^ __b; }
+
+
+  enum _Ios_Iostate
+    {
+      _S_goodbit = 0,
+      _S_badbit = 1L << 0,
+      _S_eofbit = 1L << 1,
+      _S_failbit = 1L << 2,
+      _S_ios_iostate_end = 1L << 16,
+      _S_ios_iostate_max = 2147483647,
+      _S_ios_iostate_min = ~2147483647
+    };
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Iostate
+  operator&(_Ios_Iostate __a, _Ios_Iostate __b) noexcept
+  { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Iostate
+  operator|(_Ios_Iostate __a, _Ios_Iostate __b) noexcept
+  { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Iostate
+  operator^(_Ios_Iostate __a, _Ios_Iostate __b) noexcept
+  { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
+
+  [[__nodiscard__]] constexpr
+  inline _Ios_Iostate
+  operator~(_Ios_Iostate __a) noexcept
+  { return _Ios_Iostate(~static_cast<int>(__a)); }
+
+  constexpr
+  inline const _Ios_Iostate&
+  operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept
+  { return __a = __a | __b; }
+
+  constexpr
+  inline const _Ios_Iostate&
+  operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept
+  { return __a = __a & __b; }
+
+  constexpr
+  inline const _Ios_Iostate&
+  operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept
+  { return __a = __a ^ __b; }
+
+
+  enum _Ios_Seekdir
+    {
+      _S_beg = 0,
+      _S_cur = 1,
+      _S_end = 2,
+      _S_ios_seekdir_end = 1L << 16
+    };
+
+
+
+  enum class io_errc { stream = 1 };
+
+  template <> struct is_error_code_enum<io_errc> : public true_type { };
+
+  [[__nodiscard__, __gnu__::__const__]]
+  const error_category&
+  iostream_category() noexcept;
+
+  [[__nodiscard__]]
+  inline error_code
+  make_error_code(io_errc __e) noexcept
+  { return error_code(static_cast<int>(__e), iostream_category()); }
+
+  [[__nodiscard__]]
+  inline error_condition
+  make_error_condition(io_errc __e) noexcept
+  { return error_condition(static_cast<int>(__e), iostream_category()); }
+# 265 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+  class ios_base
+  {
+# 283 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+  public:
+# 292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
+    {
+    public:
+      explicit
+      failure(const string& __str);
+
+
+      explicit
+      failure(const string&, const error_code&);
+
+      explicit
+      failure(const char*, const error_code& = io_errc::stream);
+
+
+      virtual
+      ~failure() throw();
+
+      virtual const char*
+      what() const throw();
+    };
+# 378 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    typedef _Ios_Fmtflags fmtflags;
+
+
+    static const fmtflags boolalpha = _S_boolalpha;
+
+
+    static const fmtflags dec = _S_dec;
+
+
+    static const fmtflags fixed = _S_fixed;
+
+
+    static const fmtflags hex = _S_hex;
+
+
+
+
+    static const fmtflags internal = _S_internal;
+
+
+
+    static const fmtflags left = _S_left;
+
+
+    static const fmtflags oct = _S_oct;
+
+
+
+    static const fmtflags right = _S_right;
+
+
+    static const fmtflags scientific = _S_scientific;
+
+
+
+    static const fmtflags showbase = _S_showbase;
+
+
+
+    static const fmtflags showpoint = _S_showpoint;
+
+
+    static const fmtflags showpos = _S_showpos;
+
+
+    static const fmtflags skipws = _S_skipws;
+
+
+    static const fmtflags unitbuf = _S_unitbuf;
+
+
+
+    static const fmtflags uppercase = _S_uppercase;
+
+
+    static const fmtflags adjustfield = _S_adjustfield;
+
+
+    static const fmtflags basefield = _S_basefield;
+
+
+    static const fmtflags floatfield = _S_floatfield;
+# 453 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    typedef _Ios_Iostate iostate;
+
+
+
+    static const iostate badbit = _S_badbit;
+
+
+    static const iostate eofbit = _S_eofbit;
+
+
+
+
+    static const iostate failbit = _S_failbit;
+
+
+    static const iostate goodbit = _S_goodbit;
+# 484 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    typedef _Ios_Openmode openmode;
+
+
+    static const openmode app = _S_app;
+
+
+    static const openmode ate = _S_ate;
+
+
+
+
+    static const openmode binary = _S_bin;
+
+
+    static const openmode in = _S_in;
+
+
+    static const openmode out = _S_out;
+
+
+    static const openmode trunc = _S_trunc;
+
+    static const openmode __noreplace = _S_noreplace;
+# 523 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    typedef _Ios_Seekdir seekdir;
+
+
+    static const seekdir beg = _S_beg;
+
+
+    static const seekdir cur = _S_cur;
+
+
+    static const seekdir end = _S_end;
+# 556 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    enum event
+    {
+      erase_event,
+      imbue_event,
+      copyfmt_event
+    };
+# 573 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    typedef void (*event_callback) (event __e, ios_base& __b, int __i);
+# 585 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    void
+    register_callback(event_callback __fn, int __index);
+
+  protected:
+    streamsize _M_precision;
+    streamsize _M_width;
+    fmtflags _M_flags;
+    iostate _M_exception;
+    iostate _M_streambuf_state;
+
+
+
+    struct _Callback_list
+    {
+
+      _Callback_list* _M_next;
+      ios_base::event_callback _M_fn;
+      int _M_index;
+      _Atomic_word _M_refcount;
+
+      _Callback_list(ios_base::event_callback __fn, int __index,
+       _Callback_list* __cb)
+      : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
+
+      void
+      _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
+
+
+      int
+      _M_remove_reference()
+      {
+
+                                                             ;
+        int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
+        if (__res == 0)
+          {
+                                                                ;
+          }
+        return __res;
+      }
+    };
+
+     _Callback_list* _M_callbacks;
+
+    void
+    _M_call_callbacks(event __ev) throw();
+
+    void
+    _M_dispose_callbacks(void) throw();
+
+
+    struct _Words
+    {
+      void* _M_pword;
+      long _M_iword;
+      _Words() : _M_pword(0), _M_iword(0) { }
+    };
+
+
+    _Words _M_word_zero;
+
+
+
+    enum { _S_local_word_size = 8 };
+    _Words _M_local_word[_S_local_word_size];
+
+
+    int _M_word_size;
+    _Words* _M_word;
+
+    _Words&
+    _M_grow_words(int __index, bool __iword);
+
+
+    locale _M_ios_locale;
+
+    void
+    _M_init() throw();
+
+  public:
+
+
+
+
+
+    class Init
+    {
+      friend class ios_base;
+    public:
+      Init();
+      ~Init();
+
+
+      Init(const Init&) = default;
+      Init& operator=(const Init&) = default;
+
+
+    private:
+      static _Atomic_word _S_refcount;
+      static bool _S_synced_with_stdio;
+    };
+
+
+
+
+
+
+    [[__nodiscard__]]
+    fmtflags
+    flags() const
+    { return _M_flags; }
+# 704 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    fmtflags
+    flags(fmtflags __fmtfl)
+    {
+      fmtflags __old = _M_flags;
+      _M_flags = __fmtfl;
+      return __old;
+    }
+# 720 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    fmtflags
+    setf(fmtflags __fmtfl)
+    {
+      fmtflags __old = _M_flags;
+      _M_flags |= __fmtfl;
+      return __old;
+    }
+# 737 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    fmtflags
+    setf(fmtflags __fmtfl, fmtflags __mask)
+    {
+      fmtflags __old = _M_flags;
+      _M_flags &= ~__mask;
+      _M_flags |= (__fmtfl & __mask);
+      return __old;
+    }
+
+
+
+
+
+
+
+    void
+    unsetf(fmtflags __mask)
+    { _M_flags &= ~__mask; }
+# 763 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    [[__nodiscard__]]
+    streamsize
+    precision() const
+    { return _M_precision; }
+
+
+
+
+
+
+    streamsize
+    precision(streamsize __prec)
+    {
+      streamsize __old = _M_precision;
+      _M_precision = __prec;
+      return __old;
+    }
+
+
+
+
+
+
+
+    [[__nodiscard__]]
+    streamsize
+    width() const
+    { return _M_width; }
+
+
+
+
+
+
+    streamsize
+    width(streamsize __wide)
+    {
+      streamsize __old = _M_width;
+      _M_width = __wide;
+      return __old;
+    }
+# 816 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    static bool
+    sync_with_stdio(bool __sync = true);
+# 828 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    locale
+    imbue(const locale& __loc) throw();
+# 839 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    [[__nodiscard__]]
+    locale
+    getloc() const
+    { return _M_ios_locale; }
+# 851 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    const locale&
+    _M_getloc() const
+    { return _M_ios_locale; }
+# 870 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    static int
+    xalloc() throw();
+# 886 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    long&
+    iword(int __ix)
+    {
+      _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
+   ? _M_word[__ix] : _M_grow_words(__ix, true);
+      return __word._M_iword;
+    }
+# 907 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    void*&
+    pword(int __ix)
+    {
+      _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
+   ? _M_word[__ix] : _M_grow_words(__ix, false);
+      return __word._M_pword;
+    }
+# 924 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+    virtual ~ios_base();
+
+  protected:
+    ios_base() throw ();
+# 938 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
+  public:
+    ios_base(const ios_base&) = delete;
+
+    ios_base&
+    operator=(const ios_base&) = delete;
+
+  protected:
+    void
+    _M_move(ios_base&) noexcept;
+
+    void
+    _M_swap(ios_base& __rhs) noexcept;
+
+  };
+
+
+
+  inline ios_base&
+  boolalpha(ios_base& __base)
+  {
+    __base.setf(ios_base::boolalpha);
+    return __base;
+  }
+
+
+  inline ios_base&
+  noboolalpha(ios_base& __base)
+  {
+    __base.unsetf(ios_base::boolalpha);
+    return __base;
+  }
+
+
+  inline ios_base&
+  showbase(ios_base& __base)
+  {
+    __base.setf(ios_base::showbase);
+    return __base;
+  }
+
+
+  inline ios_base&
+  noshowbase(ios_base& __base)
+  {
+    __base.unsetf(ios_base::showbase);
+    return __base;
+  }
+
+
+  inline ios_base&
+  showpoint(ios_base& __base)
+  {
+    __base.setf(ios_base::showpoint);
+    return __base;
+  }
+
+
+  inline ios_base&
+  noshowpoint(ios_base& __base)
+  {
+    __base.unsetf(ios_base::showpoint);
+    return __base;
+  }
+
+
+  inline ios_base&
+  showpos(ios_base& __base)
+  {
+    __base.setf(ios_base::showpos);
+    return __base;
+  }
+
+
+  inline ios_base&
+  noshowpos(ios_base& __base)
+  {
+    __base.unsetf(ios_base::showpos);
+    return __base;
+  }
+
+
+  inline ios_base&
+  skipws(ios_base& __base)
+  {
+    __base.setf(ios_base::skipws);
+    return __base;
+  }
+
+
+  inline ios_base&
+  noskipws(ios_base& __base)
+  {
+    __base.unsetf(ios_base::skipws);
+    return __base;
+  }
+
+
+  inline ios_base&
+  uppercase(ios_base& __base)
+  {
+    __base.setf(ios_base::uppercase);
+    return __base;
+  }
+
+
+  inline ios_base&
+  nouppercase(ios_base& __base)
+  {
+    __base.unsetf(ios_base::uppercase);
+    return __base;
+  }
+
+
+  inline ios_base&
+  unitbuf(ios_base& __base)
+  {
+     __base.setf(ios_base::unitbuf);
+     return __base;
+  }
+
+
+  inline ios_base&
+  nounitbuf(ios_base& __base)
+  {
+     __base.unsetf(ios_base::unitbuf);
+     return __base;
+  }
+
+
+
+  inline ios_base&
+  internal(ios_base& __base)
+  {
+     __base.setf(ios_base::internal, ios_base::adjustfield);
+     return __base;
+  }
+
+
+  inline ios_base&
+  left(ios_base& __base)
+  {
+    __base.setf(ios_base::left, ios_base::adjustfield);
+    return __base;
+  }
+
+
+  inline ios_base&
+  right(ios_base& __base)
+  {
+    __base.setf(ios_base::right, ios_base::adjustfield);
+    return __base;
+  }
+
+
+
+  inline ios_base&
+  dec(ios_base& __base)
+  {
+    __base.setf(ios_base::dec, ios_base::basefield);
+    return __base;
+  }
+
+
+  inline ios_base&
+  hex(ios_base& __base)
+  {
+    __base.setf(ios_base::hex, ios_base::basefield);
+    return __base;
+  }
+
+
+  inline ios_base&
+  oct(ios_base& __base)
+  {
+    __base.setf(ios_base::oct, ios_base::basefield);
+    return __base;
+  }
+
+
+
+  inline ios_base&
+  fixed(ios_base& __base)
+  {
+    __base.setf(ios_base::fixed, ios_base::floatfield);
+    return __base;
+  }
+
+
+  inline ios_base&
+  scientific(ios_base& __base)
+  {
+    __base.setf(ios_base::scientific, ios_base::floatfield);
+    return __base;
+  }
+
+
+
+
+
+
+  inline ios_base&
+  hexfloat(ios_base& __base)
+  {
+    __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
+    return __base;
+  }
+
+
+  inline ios_base&
+  defaultfloat(ios_base& __base)
+  {
+    __base.unsetf(ios_base::floatfield);
+    return __base;
+  }
+
+
+
+}
+# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 1 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    streamsize
+    __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
+     basic_streambuf<_CharT, _Traits>*, bool&);
+# 125 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+  template<typename _CharT, typename _Traits>
+    class basic_streambuf
+    {
+    public:
+
+
+
+
+
+
+      typedef _CharT char_type;
+      typedef _Traits traits_type;
+      typedef typename traits_type::int_type int_type;
+      typedef typename traits_type::pos_type pos_type;
+      typedef typename traits_type::off_type off_type;
+
+
+
+
+      typedef basic_streambuf<char_type, traits_type> __streambuf_type;
+
+
+      friend class basic_ios<char_type, traits_type>;
+      friend class basic_istream<char_type, traits_type>;
+      friend class basic_ostream<char_type, traits_type>;
+      friend class istreambuf_iterator<char_type, traits_type>;
+      friend class ostreambuf_iterator<char_type, traits_type>;
+
+      friend streamsize
+      __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
+
+      template<bool _IsMove, typename _CharT2>
+        friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+            _CharT2*>::__type
+        __copy_move_a2(istreambuf_iterator<_CharT2>,
+         istreambuf_iterator<_CharT2>, _CharT2*);
+
+      template<typename _CharT2>
+        friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+      istreambuf_iterator<_CharT2> >::__type
+        find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
+      const _CharT2&);
+
+      template<typename _CharT2, typename _Distance>
+        friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+            void>::__type
+        advance(istreambuf_iterator<_CharT2>&, _Distance);
+
+      friend void __istream_extract(istream&, char*, streamsize);
+
+      template<typename _CharT2, typename _Traits2, typename _Alloc>
+        friend basic_istream<_CharT2, _Traits2>&
+        operator>>(basic_istream<_CharT2, _Traits2>&,
+     basic_string<_CharT2, _Traits2, _Alloc>&);
+
+      template<typename _CharT2, typename _Traits2, typename _Alloc>
+        friend basic_istream<_CharT2, _Traits2>&
+        getline(basic_istream<_CharT2, _Traits2>&,
+  basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
+
+    protected:
+
+
+
+
+
+
+
+      char_type* _M_in_beg;
+      char_type* _M_in_cur;
+      char_type* _M_in_end;
+      char_type* _M_out_beg;
+      char_type* _M_out_cur;
+      char_type* _M_out_end;
+
+
+      locale _M_buf_locale;
+
+  public:
+
+      virtual
+      ~basic_streambuf()
+      { }
+# 217 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      locale
+      pubimbue(const locale& __loc)
+      {
+ locale __tmp(this->getloc());
+ this->imbue(__loc);
+ _M_buf_locale = __loc;
+ return __tmp;
+      }
+# 234 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      locale
+      getloc() const
+      { return _M_buf_locale; }
+# 247 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      basic_streambuf*
+      pubsetbuf(char_type* __s, streamsize __n)
+      { return this->setbuf(__s, __n); }
+# 259 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      pos_type
+      pubseekoff(off_type __off, ios_base::seekdir __way,
+   ios_base::openmode __mode = ios_base::in | ios_base::out)
+      { return this->seekoff(__off, __way, __mode); }
+# 271 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      pos_type
+      pubseekpos(pos_type __sp,
+   ios_base::openmode __mode = ios_base::in | ios_base::out)
+      { return this->seekpos(__sp, __mode); }
+
+
+
+
+      int
+      pubsync() { return this->sync(); }
+# 292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      streamsize
+      in_avail()
+      {
+ const streamsize __ret = this->egptr() - this->gptr();
+ return __ret ? __ret : this->showmanyc();
+      }
+# 306 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      int_type
+      snextc()
+      {
+ int_type __ret = traits_type::eof();
+ if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
+             __ret), true))
+   __ret = this->sgetc();
+ return __ret;
+      }
+# 324 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      int_type
+      sbumpc()
+      {
+ int_type __ret;
+ if (__builtin_expect(this->gptr() < this->egptr(), true))
+   {
+     __ret = traits_type::to_int_type(*this->gptr());
+     this->gbump(1);
+   }
+ else
+   __ret = this->uflow();
+ return __ret;
+      }
+# 346 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      int_type
+      sgetc()
+      {
+ int_type __ret;
+ if (__builtin_expect(this->gptr() < this->egptr(), true))
+   __ret = traits_type::to_int_type(*this->gptr());
+ else
+   __ret = this->underflow();
+ return __ret;
+      }
+# 365 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      streamsize
+      sgetn(char_type* __s, streamsize __n)
+      { return this->xsgetn(__s, __n); }
+# 380 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      int_type
+      sputbackc(char_type __c)
+      {
+ int_type __ret;
+ const bool __testpos = this->eback() < this->gptr();
+ if (__builtin_expect(!__testpos ||
+        !traits_type::eq(__c, this->gptr()[-1]), false))
+   __ret = this->pbackfail(traits_type::to_int_type(__c));
+ else
+   {
+     this->gbump(-1);
+     __ret = traits_type::to_int_type(*this->gptr());
+   }
+ return __ret;
+      }
+# 405 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      int_type
+      sungetc()
+      {
+ int_type __ret;
+ if (__builtin_expect(this->eback() < this->gptr(), true))
+   {
+     this->gbump(-1);
+     __ret = traits_type::to_int_type(*this->gptr());
+   }
+ else
+   __ret = this->pbackfail();
+ return __ret;
+      }
+# 432 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      int_type
+      sputc(char_type __c)
+      {
+ int_type __ret;
+ if (__builtin_expect(this->pptr() < this->epptr(), true))
+   {
+     *this->pptr() = __c;
+     this->pbump(1);
+     __ret = traits_type::to_int_type(__c);
+   }
+ else
+   __ret = this->overflow(traits_type::to_int_type(__c));
+ return __ret;
+      }
+# 458 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      streamsize
+      sputn(const char_type* __s, streamsize __n)
+      { return this->xsputn(__s, __n); }
+
+    protected:
+# 472 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      basic_streambuf()
+      : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
+      _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
+      _M_buf_locale(locale())
+      { }
+# 490 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      char_type*
+      eback() const { return _M_in_beg; }
+
+      char_type*
+      gptr() const { return _M_in_cur; }
+
+      char_type*
+      egptr() const { return _M_in_end; }
+# 506 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      void
+      gbump(int __n) { _M_in_cur += __n; }
+# 517 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      void
+      setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
+      {
+ _M_in_beg = __gbeg;
+ _M_in_cur = __gnext;
+ _M_in_end = __gend;
+      }
+# 537 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      char_type*
+      pbase() const { return _M_out_beg; }
+
+      char_type*
+      pptr() const { return _M_out_cur; }
+
+      char_type*
+      epptr() const { return _M_out_end; }
+# 553 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      void
+      pbump(int __n) { _M_out_cur += __n; }
+# 563 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      void
+      setp(char_type* __pbeg, char_type* __pend)
+      {
+ _M_out_beg = _M_out_cur = __pbeg;
+ _M_out_end = __pend;
+      }
+# 584 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual void
+      imbue(const locale& __loc __attribute__ ((__unused__)))
+      { }
+# 599 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual basic_streambuf<char_type,_Traits>*
+      setbuf(char_type*, streamsize)
+      { return this; }
+# 610 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual pos_type
+      seekoff(off_type, ios_base::seekdir,
+       ios_base::openmode = ios_base::in | ios_base::out)
+      { return pos_type(off_type(-1)); }
+# 622 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual pos_type
+      seekpos(pos_type,
+       ios_base::openmode = ios_base::in | ios_base::out)
+      { return pos_type(off_type(-1)); }
+# 635 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual int
+      sync() { return 0; }
+# 657 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual streamsize
+      showmanyc() { return 0; }
+# 673 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual streamsize
+      xsgetn(char_type* __s, streamsize __n);
+# 695 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual int_type
+      underflow()
+      { return traits_type::eof(); }
+# 708 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual int_type
+      uflow()
+      {
+ int_type __ret = traits_type::eof();
+ const bool __testeof = traits_type::eq_int_type(this->underflow(),
+       __ret);
+ if (!__testeof)
+   {
+     __ret = traits_type::to_int_type(*this->gptr());
+     this->gbump(1);
+   }
+ return __ret;
+      }
+# 732 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual int_type
+      pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
+      { return traits_type::eof(); }
+# 750 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual streamsize
+      xsputn(const char_type* __s, streamsize __n);
+# 776 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      virtual int_type
+      overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
+      { return traits_type::eof(); }
+# 803 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
+      void
+      __safe_gbump(streamsize __n) { _M_in_cur += __n; }
+
+      void
+      __safe_pbump(streamsize __n) { _M_out_cur += __n; }
+
+
+
+
+    protected:
+
+      basic_streambuf(const basic_streambuf&);
+
+      basic_streambuf&
+      operator=(const basic_streambuf&);
+
+
+      void
+      swap(basic_streambuf& __sb)
+      {
+ std::swap(_M_in_beg, __sb._M_in_beg);
+ std::swap(_M_in_cur, __sb._M_in_cur);
+ std::swap(_M_in_end, __sb._M_in_end);
+ std::swap(_M_out_beg, __sb._M_out_beg);
+ std::swap(_M_out_cur, __sb._M_out_cur);
+ std::swap(_M_out_end, __sb._M_out_end);
+ std::swap(_M_buf_locale, __sb._M_buf_locale);
+      }
+
+    };
+
+
+  template<typename _CharT, typename _Traits>
+    std::basic_streambuf<_CharT, _Traits>::
+    basic_streambuf(const basic_streambuf&) = default;
+
+  template<typename _CharT, typename _Traits>
+    std::basic_streambuf<_CharT, _Traits>&
+    std::basic_streambuf<_CharT, _Traits>::
+    operator=(const basic_streambuf&) = default;
+
+
+
+  template<>
+    streamsize
+    __copy_streambufs_eof(basic_streambuf<char>* __sbin,
+     basic_streambuf<char>* __sbout, bool& __ineof);
+
+  template<>
+    streamsize
+    __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
+     basic_streambuf<wchar_t>* __sbout, bool& __ineof);
+
+
+
+
+
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf.tcc" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _CharT, typename _Traits>
+    streamsize
+    basic_streambuf<_CharT, _Traits>::
+    xsgetn(char_type* __s, streamsize __n)
+    {
+      streamsize __ret = 0;
+      while (__ret < __n)
+ {
+   const streamsize __buf_len = this->egptr() - this->gptr();
+   if (__buf_len)
+     {
+       const streamsize __remaining = __n - __ret;
+       const streamsize __len = std::min(__buf_len, __remaining);
+       traits_type::copy(__s, this->gptr(), __len);
+       __ret += __len;
+       __s += __len;
+       this->__safe_gbump(__len);
+     }
+
+   if (__ret < __n)
+     {
+       const int_type __c = this->uflow();
+       if (!traits_type::eq_int_type(__c, traits_type::eof()))
+  {
+    traits_type::assign(*__s++, traits_type::to_char_type(__c));
+    ++__ret;
+  }
+       else
+  break;
+     }
+ }
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    streamsize
+    basic_streambuf<_CharT, _Traits>::
+    xsputn(const char_type* __s, streamsize __n)
+    {
+      streamsize __ret = 0;
+      while (__ret < __n)
+ {
+   const streamsize __buf_len = this->epptr() - this->pptr();
+   if (__buf_len)
+     {
+       const streamsize __remaining = __n - __ret;
+       const streamsize __len = std::min(__buf_len, __remaining);
+       traits_type::copy(this->pptr(), __s, __len);
+       __ret += __len;
+       __s += __len;
+       this->__safe_pbump(__len);
+     }
+
+   if (__ret < __n)
+     {
+       int_type __c = this->overflow(traits_type::to_int_type(*__s));
+       if (!traits_type::eq_int_type(__c, traits_type::eof()))
+  {
+    ++__ret;
+    ++__s;
+  }
+       else
+  break;
+     }
+ }
+      return __ret;
+    }
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    streamsize
+    __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
+     basic_streambuf<_CharT, _Traits>* __sbout,
+     bool& __ineof)
+    {
+      streamsize __ret = 0;
+      __ineof = true;
+      typename _Traits::int_type __c = __sbin->sgetc();
+      while (!_Traits::eq_int_type(__c, _Traits::eof()))
+ {
+   __c = __sbout->sputc(_Traits::to_char_type(__c));
+   if (_Traits::eq_int_type(__c, _Traits::eof()))
+     {
+       __ineof = false;
+       break;
+     }
+   ++__ret;
+   __c = __sbin->snextc();
+ }
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    inline streamsize
+    __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
+        basic_streambuf<_CharT, _Traits>* __sbout)
+    {
+      bool __ineof;
+      return __copy_streambufs_eof(__sbin, __sbout, __ineof);
+    }
+
+
+
+
+  extern template class basic_streambuf<char>;
+
+  extern template
+    streamsize
+    __copy_streambufs(basic_streambuf<char>*,
+        basic_streambuf<char>*);
+
+
+  extern template class basic_streambuf<wchar_t>;
+
+  extern template
+    streamsize
+    __copy_streambufs(basic_streambuf<wchar_t>*,
+        basic_streambuf<wchar_t>*);
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 863 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 2 3
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 1 3
+# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 1 3
+# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 3
+# 1 "/usr/include/wctype.h" 1 3 4
+# 38 "/usr/include/wctype.h" 3 4
+# 1 "/usr/include/bits/wctype-wchar.h" 1 3 4
+# 38 "/usr/include/bits/wctype-wchar.h" 3 4
+typedef unsigned long int wctype_t;
+# 56 "/usr/include/bits/wctype-wchar.h" 3 4
+enum
+{
+  __ISwupper = 0,
+  __ISwlower = 1,
+  __ISwalpha = 2,
+  __ISwdigit = 3,
+  __ISwxdigit = 4,
+  __ISwspace = 5,
+  __ISwprint = 6,
+  __ISwgraph = 7,
+  __ISwblank = 8,
+  __ISwcntrl = 9,
+  __ISwpunct = 10,
+  __ISwalnum = 11,
+
+  _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
+  _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
+  _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
+  _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
+  _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
+  _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
+  _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
+  _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
+  _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
+  _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
+  _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
+  _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
+};
+
+
+
+extern "C" {
+
+
+
+
+
+
+
+extern int iswalnum (wint_t __wc) noexcept (true);
+
+
+
+
+
+extern int iswalpha (wint_t __wc) noexcept (true);
+
+
+extern int iswcntrl (wint_t __wc) noexcept (true);
+
+
+
+extern int iswdigit (wint_t __wc) noexcept (true);
+
+
+
+extern int iswgraph (wint_t __wc) noexcept (true);
+
+
+
+
+extern int iswlower (wint_t __wc) noexcept (true);
+
+
+extern int iswprint (wint_t __wc) noexcept (true);
+
+
+
+
+extern int iswpunct (wint_t __wc) noexcept (true);
+
+
+
+
+extern int iswspace (wint_t __wc) noexcept (true);
+
+
+
+
+extern int iswupper (wint_t __wc) noexcept (true);
+
+
+
+
+extern int iswxdigit (wint_t __wc) noexcept (true);
+
+
+
+
+
+extern int iswblank (wint_t __wc) noexcept (true);
+# 155 "/usr/include/bits/wctype-wchar.h" 3 4
+extern wctype_t wctype (const char *__property) noexcept (true);
+
+
+
+extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true);
+
+
+
+
+
+
+extern wint_t towlower (wint_t __wc) noexcept (true);
+
+
+extern wint_t towupper (wint_t __wc) noexcept (true);
+
+}
+# 39 "/usr/include/wctype.h" 2 3 4
+
+
+
+
+
+extern "C" {
+
+
+
+typedef const __int32_t *wctrans_t;
+
+
+
+extern wctrans_t wctrans (const char *__property) noexcept (true);
+
+
+extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true);
+
+
+
+
+
+
+
+extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+
+extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+
+extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+extern wctype_t wctype_l (const char *__property, locale_t __locale)
+     noexcept (true);
+
+
+
+extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
+     noexcept (true);
+
+
+
+
+
+
+extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true);
+
+
+
+extern wctrans_t wctrans_l (const char *__property, locale_t __locale)
+     noexcept (true);
+
+
+extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
+      locale_t __locale) noexcept (true);
+
+
+
+}
+# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 2 3
+# 82 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 3
+namespace std
+{
+  using ::wctrans_t;
+  using ::wctype_t;
+  using ::wint_t;
+
+  using ::iswalnum;
+  using ::iswalpha;
+
+  using ::iswblank;
+
+  using ::iswcntrl;
+  using ::iswctype;
+  using ::iswdigit;
+  using ::iswgraph;
+  using ::iswlower;
+  using ::iswprint;
+  using ::iswpunct;
+  using ::iswspace;
+  using ::iswupper;
+  using ::iswxdigit;
+  using ::towctrans;
+  using ::towlower;
+  using ::towupper;
+  using ::wctrans;
+  using ::wctype;
+}
+# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_base.h" 1 3
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_base.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  struct ctype_base
+  {
+
+    typedef const int* __to_type;
+
+
+
+    typedef unsigned short mask;
+    static const mask upper = _ISupper;
+    static const mask lower = _ISlower;
+    static const mask alpha = _ISalpha;
+    static const mask digit = _ISdigit;
+    static const mask xdigit = _ISxdigit;
+    static const mask space = _ISspace;
+    static const mask print = _ISprint;
+    static const mask graph = _ISalpha | _ISdigit | _ISpunct;
+    static const mask cntrl = _IScntrl;
+    static const mask punct = _ISpunct;
+    static const mask alnum = _ISalpha | _ISdigit;
+
+    static const mask blank = _ISblank;
+
+  };
+
+
+}
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
+
+
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+  template<typename _CharT, typename _Traits>
+    class istreambuf_iterator
+    : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
+        _CharT*, _CharT>
+    {
+    public:
+# 72 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
+      typedef _CharT char_type;
+      typedef _Traits traits_type;
+      typedef typename _Traits::int_type int_type;
+      typedef basic_streambuf<_CharT, _Traits> streambuf_type;
+      typedef basic_istream<_CharT, _Traits> istream_type;
+
+
+      template<typename _CharT2>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+        ostreambuf_iterator<_CharT2> >::__type
+ copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
+      ostreambuf_iterator<_CharT2>);
+
+      template<bool _IsMove, typename _CharT2>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+            _CharT2*>::__type
+ __copy_move_a2(istreambuf_iterator<_CharT2>,
+         istreambuf_iterator<_CharT2>, _CharT2*);
+
+      template<typename _CharT2, typename _Size>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+            _CharT2*>::__type
+ __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
+
+      template<typename _CharT2>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+        istreambuf_iterator<_CharT2> >::__type
+ find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
+      const _CharT2&);
+
+      template<typename _CharT2, typename _Distance>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+            void>::__type
+ advance(istreambuf_iterator<_CharT2>&, _Distance);
+
+    private:
+
+
+
+
+
+
+
+      mutable streambuf_type* _M_sbuf;
+      int_type _M_c;
+
+    public:
+
+      constexpr istreambuf_iterator() noexcept
+      : _M_sbuf(0), _M_c(traits_type::eof()) { }
+
+
+
+
+
+
+
+      istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
+
+      ~istreambuf_iterator() = default;
+
+
+
+      istreambuf_iterator(istream_type& __s) noexcept
+      : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
+
+
+      istreambuf_iterator(streambuf_type* __s) noexcept
+      : _M_sbuf(__s), _M_c(traits_type::eof()) { }
+
+
+      istreambuf_iterator&
+      operator=(const istreambuf_iterator&) noexcept = default;
+
+
+
+
+
+      [[__nodiscard__]]
+      char_type
+      operator*() const
+      {
+ int_type __c = _M_get();
+# 163 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
+ return traits_type::to_char_type(__c);
+      }
+
+
+      istreambuf_iterator&
+      operator++()
+      {
+
+
+
+                        ;
+
+ _M_sbuf->sbumpc();
+ _M_c = traits_type::eof();
+ return *this;
+      }
+
+
+      istreambuf_iterator
+      operator++(int)
+      {
+
+
+
+                        ;
+
+ istreambuf_iterator __old = *this;
+ __old._M_c = _M_sbuf->sbumpc();
+ _M_c = traits_type::eof();
+ return __old;
+      }
+
+
+
+
+
+      [[__nodiscard__]]
+      bool
+      equal(const istreambuf_iterator& __b) const
+      { return _M_at_eof() == __b._M_at_eof(); }
+
+    private:
+      int_type
+      _M_get() const
+      {
+ int_type __ret = _M_c;
+ if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
+   _M_sbuf = 0;
+ return __ret;
+      }
+
+      bool
+      _M_at_eof() const
+      { return _S_is_eof(_M_get()); }
+
+      static bool
+      _S_is_eof(int_type __c)
+      {
+ const int_type __eof = traits_type::eof();
+ return traits_type::eq_int_type(__c, __eof);
+      }
+
+
+
+
+
+
+
+    };
+
+  template<typename _CharT, typename _Traits>
+    [[__nodiscard__]]
+    inline bool
+    operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
+        const istreambuf_iterator<_CharT, _Traits>& __b)
+    { return __a.equal(__b); }
+
+
+  template<typename _CharT, typename _Traits>
+    [[__nodiscard__]]
+    inline bool
+    operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
+        const istreambuf_iterator<_CharT, _Traits>& __b)
+    { return !__a.equal(__b); }
+
+
+
+  template<typename _CharT, typename _Traits>
+    class ostreambuf_iterator
+    : public iterator<output_iterator_tag, void, void, void, void>
+    {
+    public:
+
+
+
+
+
+
+      typedef _CharT char_type;
+      typedef _Traits traits_type;
+      typedef basic_streambuf<_CharT, _Traits> streambuf_type;
+      typedef basic_ostream<_CharT, _Traits> ostream_type;
+
+
+      template<typename _CharT2>
+ friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
+        ostreambuf_iterator<_CharT2> >::__type
+ copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
+      ostreambuf_iterator<_CharT2>);
+
+    private:
+      streambuf_type* _M_sbuf;
+      bool _M_failed;
+
+    public:
+# 286 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
+      ostreambuf_iterator(ostream_type& __s) noexcept
+      : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
+
+
+      ostreambuf_iterator(streambuf_type* __s) noexcept
+      : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
+
+
+      ostreambuf_iterator&
+      operator=(_CharT __c)
+      {
+ if (!_M_failed &&
+     _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
+   _M_failed = true;
+ return *this;
+      }
+
+
+      [[__nodiscard__]]
+      ostreambuf_iterator&
+      operator*()
+      { return *this; }
+
+
+      ostreambuf_iterator&
+      operator++(int)
+      { return *this; }
+
+
+      ostreambuf_iterator&
+      operator++()
+      { return *this; }
+
+
+      [[__nodiscard__]]
+      bool
+      failed() const noexcept
+      { return _M_failed; }
+
+      ostreambuf_iterator&
+      _M_put(const _CharT* __ws, streamsize __len)
+      {
+ if (__builtin_expect(!_M_failed, true)
+     && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
+    false))
+   _M_failed = true;
+ return *this;
+      }
+    };
+#pragma GCC diagnostic pop
+
+
+  template<typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        ostreambuf_iterator<_CharT> >::__type
+    copy(istreambuf_iterator<_CharT> __first,
+  istreambuf_iterator<_CharT> __last,
+  ostreambuf_iterator<_CharT> __result)
+    {
+      if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
+ {
+   bool __ineof;
+   __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
+   if (!__ineof)
+     __result._M_failed = true;
+ }
+      return __result;
+    }
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        ostreambuf_iterator<_CharT> >::__type
+    __copy_move_a2(_CharT* __first, _CharT* __last,
+     ostreambuf_iterator<_CharT> __result)
+    {
+      const streamsize __num = __last - __first;
+      if (__num > 0)
+ __result._M_put(__first, __num);
+      return __result;
+    }
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        ostreambuf_iterator<_CharT> >::__type
+    __copy_move_a2(const _CharT* __first, const _CharT* __last,
+     ostreambuf_iterator<_CharT> __result)
+    {
+      const streamsize __num = __last - __first;
+      if (__num > 0)
+ __result._M_put(__first, __num);
+      return __result;
+    }
+
+  template<bool _IsMove, typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        _CharT*>::__type
+    __copy_move_a2(istreambuf_iterator<_CharT> __first,
+     istreambuf_iterator<_CharT> __last, _CharT* __result)
+    {
+      typedef istreambuf_iterator<_CharT> __is_iterator_type;
+      typedef typename __is_iterator_type::traits_type traits_type;
+      typedef typename __is_iterator_type::streambuf_type streambuf_type;
+      typedef typename traits_type::int_type int_type;
+
+      if (__first._M_sbuf && !__last._M_sbuf)
+ {
+   streambuf_type* __sb = __first._M_sbuf;
+   int_type __c = __sb->sgetc();
+   while (!traits_type::eq_int_type(__c, traits_type::eof()))
+     {
+       const streamsize __n = __sb->egptr() - __sb->gptr();
+       if (__n > 1)
+  {
+    traits_type::copy(__result, __sb->gptr(), __n);
+    __sb->__safe_gbump(__n);
+    __result += __n;
+    __c = __sb->underflow();
+  }
+       else
+  {
+    *__result++ = traits_type::to_char_type(__c);
+    __c = __sb->snextc();
+  }
+     }
+ }
+      return __result;
+    }
+
+  template<typename _CharT, typename _Size>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        _CharT*>::__type
+    __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
+        bool __strict __attribute__((__unused__)))
+    {
+      if (__n == 0)
+ return __result;
+
+
+
+                            ;
+      _CharT* __beg = __result;
+      __result += __it._M_sbuf->sgetn(__beg, __n);
+
+
+                            ;
+      return __result;
+    }
+
+  template<typename _CharT>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+          istreambuf_iterator<_CharT> >::__type
+    find(istreambuf_iterator<_CharT> __first,
+  istreambuf_iterator<_CharT> __last, const _CharT& __val)
+    {
+      typedef istreambuf_iterator<_CharT> __is_iterator_type;
+      typedef typename __is_iterator_type::traits_type traits_type;
+      typedef typename __is_iterator_type::streambuf_type streambuf_type;
+      typedef typename traits_type::int_type int_type;
+      const int_type __eof = traits_type::eof();
+
+      if (__first._M_sbuf && !__last._M_sbuf)
+ {
+   const int_type __ival = traits_type::to_int_type(__val);
+   streambuf_type* __sb = __first._M_sbuf;
+   int_type __c = __sb->sgetc();
+   while (!traits_type::eq_int_type(__c, __eof)
+   && !traits_type::eq_int_type(__c, __ival))
+     {
+       streamsize __n = __sb->egptr() - __sb->gptr();
+       if (__n > 1)
+  {
+    const _CharT* __p = traits_type::find(__sb->gptr(),
+       __n, __val);
+    if (__p)
+      __n = __p - __sb->gptr();
+    __sb->__safe_gbump(__n);
+    __c = __sb->sgetc();
+  }
+       else
+  __c = __sb->snextc();
+     }
+
+   __first._M_c = __eof;
+ }
+
+      return __first;
+    }
+
+  template<typename _CharT, typename _Distance>
+    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
+        void>::__type
+    advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
+    {
+      if (__n == 0)
+ return;
+
+      do { if (__builtin_expect(!bool(__n > 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h", 482, __PRETTY_FUNCTION__, "__n > 0"); } while (false);
+
+
+                           ;
+
+      typedef istreambuf_iterator<_CharT> __is_iterator_type;
+      typedef typename __is_iterator_type::traits_type traits_type;
+      typedef typename __is_iterator_type::streambuf_type streambuf_type;
+      typedef typename traits_type::int_type int_type;
+      const int_type __eof = traits_type::eof();
+
+      streambuf_type* __sb = __i._M_sbuf;
+      while (__n > 0)
+ {
+   streamsize __size = __sb->egptr() - __sb->gptr();
+   if (__size > __n)
+     {
+       __sb->__safe_gbump(__n);
+       break;
+     }
+
+   __sb->__safe_gbump(__size);
+   __n -= __size;
+   if (traits_type::eq_int_type(__sb->underflow(), __eof))
+     {
+
+
+                      ;
+       break;
+     }
+ }
+
+      __i._M_c = __eof;
+    }
+
+
+
+
+}
+# 51 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _Tp>
+    void
+    __convert_to_v(const char*, _Tp&, ios_base::iostate&,
+     const __c_locale&) throw();
+
+
+  template<>
+    void
+    __convert_to_v(const char*, float&, ios_base::iostate&,
+     const __c_locale&) throw();
+
+  template<>
+    void
+    __convert_to_v(const char*, double&, ios_base::iostate&,
+     const __c_locale&) throw();
+
+  template<>
+    void
+    __convert_to_v(const char*, long double&, ios_base::iostate&,
+     const __c_locale&) throw();
+
+
+
+  template<typename _CharT, typename _Traits>
+    struct __pad
+    {
+      static void
+      _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
+      const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
+    };
+
+
+
+
+
+
+  template<typename _CharT>
+    _CharT*
+    __add_grouping(_CharT* __s, _CharT __sep,
+     const char* __gbeg, size_t __gsize,
+     const _CharT* __first, const _CharT* __last);
+
+
+
+
+  template<typename _CharT>
+    inline
+    ostreambuf_iterator<_CharT>
+    __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
+    {
+      __s._M_put(__ws, __len);
+      return __s;
+    }
+
+
+  template<typename _CharT, typename _OutIter>
+    inline
+    _OutIter
+    __write(_OutIter __s, const _CharT* __ws, int __len)
+    {
+      for (int __j = 0; __j < __len; __j++, ++__s)
+ *__s = __ws[__j];
+      return __s;
+    }
+# 154 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _CharT>
+    class __ctype_abstract_base : public locale::facet, public ctype_base
+    {
+    public:
+
+
+      typedef _CharT char_type;
+# 173 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      bool
+      is(mask __m, char_type __c) const
+      { return this->do_is(__m, __c); }
+# 190 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      is(const char_type *__lo, const char_type *__hi, mask *__vec) const
+      { return this->do_is(__lo, __hi, __vec); }
+# 206 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
+      { return this->do_scan_is(__m, __lo, __hi); }
+# 222 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
+      { return this->do_scan_not(__m, __lo, __hi); }
+# 236 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      toupper(char_type __c) const
+      { return this->do_toupper(__c); }
+# 251 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      toupper(char_type *__lo, const char_type* __hi) const
+      { return this->do_toupper(__lo, __hi); }
+# 265 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      tolower(char_type __c) const
+      { return this->do_tolower(__c); }
+# 280 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      tolower(char_type* __lo, const char_type* __hi) const
+      { return this->do_tolower(__lo, __hi); }
+# 297 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      widen(char __c) const
+      { return this->do_widen(__c); }
+# 316 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char*
+      widen(const char* __lo, const char* __hi, char_type* __to) const
+      { return this->do_widen(__lo, __hi, __to); }
+# 335 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char
+      narrow(char_type __c, char __dfault) const
+      { return this->do_narrow(__c, __dfault); }
+# 357 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      narrow(const char_type* __lo, const char_type* __hi,
+       char __dfault, char* __to) const
+      { return this->do_narrow(__lo, __hi, __dfault, __to); }
+
+    protected:
+      explicit
+      __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
+
+      virtual
+      ~__ctype_abstract_base() { }
+# 382 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual bool
+      do_is(mask __m, char_type __c) const = 0;
+# 401 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_is(const char_type* __lo, const char_type* __hi,
+     mask* __vec) const = 0;
+# 420 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_scan_is(mask __m, const char_type* __lo,
+   const char_type* __hi) const = 0;
+# 439 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_scan_not(mask __m, const char_type* __lo,
+    const char_type* __hi) const = 0;
+# 457 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_toupper(char_type __c) const = 0;
+# 474 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_toupper(char_type* __lo, const char_type* __hi) const = 0;
+# 490 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_tolower(char_type __c) const = 0;
+# 507 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_tolower(char_type* __lo, const char_type* __hi) const = 0;
+# 526 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_widen(char __c) const = 0;
+# 547 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char*
+      do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
+# 568 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char
+      do_narrow(char_type __c, char __dfault) const = 0;
+# 593 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_narrow(const char_type* __lo, const char_type* __hi,
+  char __dfault, char* __to) const = 0;
+    };
+# 616 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _CharT>
+    class ctype : public __ctype_abstract_base<_CharT>
+    {
+    public:
+
+      typedef _CharT char_type;
+      typedef typename __ctype_abstract_base<_CharT>::mask mask;
+
+
+      static locale::id id;
+
+      explicit
+      ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
+
+   protected:
+      virtual
+      ~ctype();
+
+      virtual bool
+      do_is(mask __m, char_type __c) const;
+
+      virtual const char_type*
+      do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
+
+      virtual const char_type*
+      do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
+
+      virtual const char_type*
+      do_scan_not(mask __m, const char_type* __lo,
+    const char_type* __hi) const;
+
+      virtual char_type
+      do_toupper(char_type __c) const;
+
+      virtual const char_type*
+      do_toupper(char_type* __lo, const char_type* __hi) const;
+
+      virtual char_type
+      do_tolower(char_type __c) const;
+
+      virtual const char_type*
+      do_tolower(char_type* __lo, const char_type* __hi) const;
+
+      virtual char_type
+      do_widen(char __c) const;
+
+      virtual const char*
+      do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
+
+      virtual char
+      do_narrow(char_type, char __dfault) const;
+
+      virtual const char_type*
+      do_narrow(const char_type* __lo, const char_type* __hi,
+  char __dfault, char* __to) const;
+    };
+
+  template<typename _CharT>
+    locale::id ctype<_CharT>::id;
+
+
+
+  template<typename _CharT, typename _Traits, typename _Alloc>
+    class ctype<basic_string<_CharT, _Traits, _Alloc> >;
+# 690 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<>
+    class ctype<char> : public locale::facet, public ctype_base
+    {
+    public:
+
+
+      typedef char char_type;
+
+    protected:
+
+      __c_locale _M_c_locale_ctype;
+      bool _M_del;
+      __to_type _M_toupper;
+      __to_type _M_tolower;
+      const mask* _M_table;
+      mutable char _M_widen_ok;
+      mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
+      mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
+      mutable char _M_narrow_ok;
+
+
+    public:
+
+      static locale::id id;
+
+      static const size_t table_size = 1 + static_cast<unsigned char>(-1);
+# 727 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
+# 740 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
+     size_t __refs = 0);
+# 753 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      inline bool
+      is(mask __m, char __c) const;
+# 768 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      inline const char*
+      is(const char* __lo, const char* __hi, mask* __vec) const;
+# 782 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      inline const char*
+      scan_is(mask __m, const char* __lo, const char* __hi) const;
+# 796 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      inline const char*
+      scan_not(mask __m, const char* __lo, const char* __hi) const;
+# 811 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      toupper(char_type __c) const
+      { return this->do_toupper(__c); }
+# 828 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      toupper(char_type *__lo, const char_type* __hi) const
+      { return this->do_toupper(__lo, __hi); }
+# 844 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      tolower(char_type __c) const
+      { return this->do_tolower(__c); }
+# 861 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      tolower(char_type* __lo, const char_type* __hi) const
+      { return this->do_tolower(__lo, __hi); }
+# 881 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      widen(char __c) const
+      {
+ if (_M_widen_ok)
+   return _M_widen[static_cast<unsigned char>(__c)];
+ this->_M_widen_init();
+ return this->do_widen(__c);
+      }
+# 908 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char*
+      widen(const char* __lo, const char* __hi, char_type* __to) const
+      {
+ if (_M_widen_ok == 1)
+   {
+     if (__builtin_expect(__hi != __lo, true))
+       __builtin_memcpy(__to, __lo, __hi - __lo);
+     return __hi;
+   }
+ if (!_M_widen_ok)
+   _M_widen_init();
+ return this->do_widen(__lo, __hi, __to);
+      }
+# 940 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char
+      narrow(char_type __c, char __dfault) const
+      {
+ if (_M_narrow[static_cast<unsigned char>(__c)])
+   return _M_narrow[static_cast<unsigned char>(__c)];
+ const char __t = do_narrow(__c, __dfault);
+ if (__t != __dfault)
+   _M_narrow[static_cast<unsigned char>(__c)] = __t;
+ return __t;
+      }
+# 973 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      const char_type*
+      narrow(const char_type* __lo, const char_type* __hi,
+      char __dfault, char* __to) const
+      {
+ if (__builtin_expect(_M_narrow_ok == 1, true))
+   {
+     if (__builtin_expect(__hi != __lo, true))
+       __builtin_memcpy(__to, __lo, __hi - __lo);
+     return __hi;
+   }
+ if (!_M_narrow_ok)
+   _M_narrow_init();
+ return this->do_narrow(__lo, __hi, __dfault, __to);
+      }
+
+
+
+
+
+      const mask*
+      table() const throw()
+      { return _M_table; }
+
+
+      static const mask*
+      classic_table() throw();
+    protected:
+
+
+
+
+
+
+
+      virtual
+      ~ctype();
+# 1023 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_toupper(char_type __c) const;
+# 1040 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_toupper(char_type* __lo, const char_type* __hi) const;
+# 1056 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_tolower(char_type __c) const;
+# 1073 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_tolower(char_type* __lo, const char_type* __hi) const;
+# 1093 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_widen(char __c) const
+      { return __c; }
+# 1116 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char*
+      do_widen(const char* __lo, const char* __hi, char_type* __to) const
+      {
+ if (__builtin_expect(__hi != __lo, true))
+   __builtin_memcpy(__to, __lo, __hi - __lo);
+ return __hi;
+      }
+# 1143 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char
+      do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
+      { return __c; }
+# 1169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_narrow(const char_type* __lo, const char_type* __hi,
+  char __dfault __attribute__((__unused__)), char* __to) const
+      {
+ if (__builtin_expect(__hi != __lo, true))
+   __builtin_memcpy(__to, __lo, __hi - __lo);
+ return __hi;
+      }
+
+    private:
+      void _M_narrow_init() const;
+      void _M_widen_init() const;
+    };
+# 1195 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<>
+    class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
+    {
+    public:
+
+
+      typedef wchar_t char_type;
+      typedef wctype_t __wmask_type;
+
+    protected:
+      __c_locale _M_c_locale_ctype;
+
+
+      bool _M_narrow_ok;
+      char _M_narrow[128];
+      wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
+
+
+      mask _M_bit[16];
+      __wmask_type _M_wmask[16];
+
+    public:
+
+
+      static locale::id id;
+# 1228 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      ctype(size_t __refs = 0);
+# 1239 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      ctype(__c_locale __cloc, size_t __refs = 0);
+
+    protected:
+      __wmask_type
+      _M_convert_to_wmask(const mask __m) const throw();
+
+
+      virtual
+      ~ctype();
+# 1263 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual bool
+      do_is(mask __m, char_type __c) const;
+# 1282 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
+# 1300 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
+# 1318 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_scan_not(mask __m, const char_type* __lo,
+    const char_type* __hi) const;
+# 1335 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_toupper(char_type __c) const;
+# 1352 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_toupper(char_type* __lo, const char_type* __hi) const;
+# 1368 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_tolower(char_type __c) const;
+# 1385 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_tolower(char_type* __lo, const char_type* __hi) const;
+# 1405 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_widen(char __c) const;
+# 1427 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char*
+      do_widen(const char* __lo, const char* __hi, char_type* __to) const;
+# 1450 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char
+      do_narrow(char_type __c, char __dfault) const;
+# 1476 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual const char_type*
+      do_narrow(const char_type* __lo, const char_type* __hi,
+  char __dfault, char* __to) const;
+
+
+      void
+      _M_initialize_ctype() throw();
+    };
+
+
+
+  template<typename _CharT>
+    class ctype_byname : public ctype<_CharT>
+    {
+    public:
+      typedef typename ctype<_CharT>::mask mask;
+
+      explicit
+      ctype_byname(const char* __s, size_t __refs = 0);
+
+
+      explicit
+      ctype_byname(const string& __s, size_t __refs = 0)
+      : ctype_byname(__s.c_str(), __refs) { }
+
+
+    protected:
+      virtual
+      ~ctype_byname() { }
+    };
+
+
+  template<>
+    class ctype_byname<char> : public ctype<char>
+    {
+    public:
+      explicit
+      ctype_byname(const char* __s, size_t __refs = 0);
+
+
+      explicit
+      ctype_byname(const string& __s, size_t __refs = 0);
+
+
+    protected:
+      virtual
+      ~ctype_byname();
+    };
+
+
+  template<>
+    class ctype_byname<wchar_t> : public ctype<wchar_t>
+    {
+    public:
+      explicit
+      ctype_byname(const char* __s, size_t __refs = 0);
+
+
+      explicit
+      ctype_byname(const string& __s, size_t __refs = 0);
+
+
+    protected:
+      virtual
+      ~ctype_byname();
+    };
+
+
+
+}
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_inline.h" 1 3
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_inline.h" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  bool
+  ctype<char>::
+  is(mask __m, char __c) const
+  { return _M_table[static_cast<unsigned char>(__c)] & __m; }
+
+  const char*
+  ctype<char>::
+  is(const char* __low, const char* __high, mask* __vec) const
+  {
+    while (__low < __high)
+      *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
+    return __high;
+  }
+
+  const char*
+  ctype<char>::
+  scan_is(mask __m, const char* __low, const char* __high) const
+  {
+    while (__low < __high
+    && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
+      ++__low;
+    return __low;
+  }
+
+  const char*
+  ctype<char>::
+  scan_not(mask __m, const char* __low, const char* __high) const
+  {
+    while (__low < __high
+    && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
+      ++__low;
+    return __low;
+  }
+
+
+}
+# 1549 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+  class __num_base
+  {
+  public:
+
+
+    enum
+      {
+ _S_ominus,
+ _S_oplus,
+ _S_ox,
+ _S_oX,
+ _S_odigits,
+ _S_odigits_end = _S_odigits + 16,
+ _S_oudigits = _S_odigits_end,
+ _S_oudigits_end = _S_oudigits + 16,
+ _S_oe = _S_odigits + 14,
+ _S_oE = _S_oudigits + 14,
+ _S_oend = _S_oudigits_end
+      };
+
+
+
+
+
+
+    static const char* _S_atoms_out;
+
+
+
+    static const char* _S_atoms_in;
+
+    enum
+    {
+      _S_iminus,
+      _S_iplus,
+      _S_ix,
+      _S_iX,
+      _S_izero,
+      _S_ie = _S_izero + 14,
+      _S_iE = _S_izero + 20,
+      _S_iend = 26
+    };
+
+
+
+    static void
+    _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
+  };
+
+  template<typename _CharT>
+    struct __numpunct_cache : public locale::facet
+    {
+      const char* _M_grouping;
+      size_t _M_grouping_size;
+      bool _M_use_grouping;
+      const _CharT* _M_truename;
+      size_t _M_truename_size;
+      const _CharT* _M_falsename;
+      size_t _M_falsename_size;
+      _CharT _M_decimal_point;
+      _CharT _M_thousands_sep;
+
+
+
+
+
+      _CharT _M_atoms_out[__num_base::_S_oend];
+
+
+
+
+
+      _CharT _M_atoms_in[__num_base::_S_iend];
+
+      bool _M_allocated;
+
+      __numpunct_cache(size_t __refs = 0)
+      : facet(__refs), _M_grouping(0), _M_grouping_size(0),
+ _M_use_grouping(false),
+ _M_truename(0), _M_truename_size(0), _M_falsename(0),
+ _M_falsename_size(0), _M_decimal_point(_CharT()),
+ _M_thousands_sep(_CharT()), _M_allocated(false)
+ { }
+
+      ~__numpunct_cache();
+
+      void
+      _M_cache(const locale& __loc);
+
+    private:
+      __numpunct_cache&
+      operator=(const __numpunct_cache&);
+
+      explicit
+      __numpunct_cache(const __numpunct_cache&);
+    };
+
+  template<typename _CharT>
+    __numpunct_cache<_CharT>::~__numpunct_cache()
+    {
+      if (_M_allocated)
+ {
+   delete [] _M_grouping;
+   delete [] _M_truename;
+   delete [] _M_falsename;
+ }
+    }
+
+namespace __cxx11 {
+# 1679 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _CharT>
+    class numpunct : public locale::facet
+    {
+    public:
+
+
+
+      typedef _CharT char_type;
+      typedef basic_string<_CharT> string_type;
+
+      typedef __numpunct_cache<_CharT> __cache_type;
+
+    protected:
+      __cache_type* _M_data;
+
+    public:
+
+      static locale::id id;
+
+
+
+
+
+
+      explicit
+      numpunct(size_t __refs = 0)
+      : facet(__refs), _M_data(0)
+      { _M_initialize_numpunct(); }
+# 1717 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      numpunct(__cache_type* __cache, size_t __refs = 0)
+      : facet(__refs), _M_data(__cache)
+      { _M_initialize_numpunct(); }
+# 1731 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      numpunct(__c_locale __cloc, size_t __refs = 0)
+      : facet(__refs), _M_data(0)
+      { _M_initialize_numpunct(__cloc); }
+# 1745 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      decimal_point() const
+      { return this->do_decimal_point(); }
+# 1758 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      char_type
+      thousands_sep() const
+      { return this->do_thousands_sep(); }
+# 1789 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      string
+      grouping() const
+      { return this->do_grouping(); }
+# 1802 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      string_type
+      truename() const
+      { return this->do_truename(); }
+# 1815 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      string_type
+      falsename() const
+      { return this->do_falsename(); }
+
+    protected:
+
+      virtual
+      ~numpunct();
+# 1832 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_decimal_point() const
+      { return _M_data->_M_decimal_point; }
+# 1844 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual char_type
+      do_thousands_sep() const
+      { return _M_data->_M_thousands_sep; }
+# 1857 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual string
+      do_grouping() const
+      { return _M_data->_M_grouping; }
+# 1870 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual string_type
+      do_truename() const
+      { return _M_data->_M_truename; }
+# 1883 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual string_type
+      do_falsename() const
+      { return _M_data->_M_falsename; }
+
+
+      void
+      _M_initialize_numpunct(__c_locale __cloc = 0);
+    };
+
+  template<typename _CharT>
+    locale::id numpunct<_CharT>::id;
+
+  template<>
+    numpunct<char>::~numpunct();
+
+  template<>
+    void
+    numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
+
+
+  template<>
+    numpunct<wchar_t>::~numpunct();
+
+  template<>
+    void
+    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
+
+
+
+  template<typename _CharT>
+    class numpunct_byname : public numpunct<_CharT>
+    {
+    public:
+      typedef _CharT char_type;
+      typedef basic_string<_CharT> string_type;
+
+      explicit
+      numpunct_byname(const char* __s, size_t __refs = 0)
+      : numpunct<_CharT>(__refs)
+      {
+ if (__builtin_strcmp(__s, "C") != 0
+     && __builtin_strcmp(__s, "POSIX") != 0)
+   {
+     __c_locale __tmp;
+     this->_S_create_c_locale(__tmp, __s);
+     this->_M_initialize_numpunct(__tmp);
+     this->_S_destroy_c_locale(__tmp);
+   }
+      }
+
+
+      explicit
+      numpunct_byname(const string& __s, size_t __refs = 0)
+      : numpunct_byname(__s.c_str(), __refs) { }
+
+
+    protected:
+      virtual
+      ~numpunct_byname() { }
+    };
+
+}
+# 1961 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _CharT, typename _InIter>
+    class num_get : public locale::facet
+    {
+    public:
+
+
+
+      typedef _CharT char_type;
+      typedef _InIter iter_type;
+
+
+
+      static locale::id id;
+# 1982 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      num_get(size_t __refs = 0) : facet(__refs) { }
+# 2008 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, bool& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+# 2045 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, long& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, unsigned short& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, unsigned int& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, unsigned long& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, long long& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, unsigned long long& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+#pragma GCC diagnostic pop
+# 2108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, float& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, double& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, long double& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+# 2151 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      get(iter_type __in, iter_type __end, ios_base& __io,
+   ios_base::iostate& __err, void*& __v) const
+      { return this->do_get(__in, __end, __io, __err, __v); }
+
+    protected:
+
+      virtual ~num_get() { }
+
+      __attribute ((__abi_tag__ ("cxx11")))
+      iter_type
+      _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
+         string&) const;
+
+      template<typename _ValueT>
+ __attribute ((__abi_tag__ ("cxx11")))
+ iter_type
+ _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
+         _ValueT&) const;
+
+      template<typename _CharT2>
+      typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
+ _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
+ {
+   int __ret = -1;
+   if (__len <= 10)
+     {
+       if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
+  __ret = __c - _CharT2('0');
+     }
+   else
+     {
+       if (__c >= _CharT2('0') && __c <= _CharT2('9'))
+  __ret = __c - _CharT2('0');
+       else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
+  __ret = 10 + (__c - _CharT2('a'));
+       else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
+  __ret = 10 + (__c - _CharT2('A'));
+     }
+   return __ret;
+ }
+
+      template<typename _CharT2>
+      typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
+          int>::__type
+ _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
+ {
+   int __ret = -1;
+   const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
+   if (__q)
+     {
+       __ret = __q - __zero;
+       if (__ret > 15)
+  __ret -= 6;
+     }
+   return __ret;
+ }
+# 2224 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual iter_type
+      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
+
+      virtual iter_type
+      do_get(iter_type __beg, iter_type __end, ios_base& __io,
+      ios_base::iostate& __err, long& __v) const
+      { return _M_extract_int(__beg, __end, __io, __err, __v); }
+
+      virtual iter_type
+      do_get(iter_type __beg, iter_type __end, ios_base& __io,
+      ios_base::iostate& __err, unsigned short& __v) const
+      { return _M_extract_int(__beg, __end, __io, __err, __v); }
+
+      virtual iter_type
+      do_get(iter_type __beg, iter_type __end, ios_base& __io,
+      ios_base::iostate& __err, unsigned int& __v) const
+      { return _M_extract_int(__beg, __end, __io, __err, __v); }
+
+      virtual iter_type
+      do_get(iter_type __beg, iter_type __end, ios_base& __io,
+      ios_base::iostate& __err, unsigned long& __v) const
+      { return _M_extract_int(__beg, __end, __io, __err, __v); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      virtual iter_type
+      do_get(iter_type __beg, iter_type __end, ios_base& __io,
+      ios_base::iostate& __err, long long& __v) const
+      { return _M_extract_int(__beg, __end, __io, __err, __v); }
+
+      virtual iter_type
+      do_get(iter_type __beg, iter_type __end, ios_base& __io,
+      ios_base::iostate& __err, unsigned long long& __v) const
+      { return _M_extract_int(__beg, __end, __io, __err, __v); }
+#pragma GCC diagnostic pop
+
+
+      virtual iter_type
+      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
+
+      virtual iter_type
+      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
+      double&) const;
+# 2279 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual iter_type
+      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
+      long double&) const;
+
+
+      virtual iter_type
+      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const;
+# 2307 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+    };
+
+  template<typename _CharT, typename _InIter>
+    locale::id num_get<_CharT, _InIter>::id;
+# 2325 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _CharT, typename _OutIter>
+    class num_put : public locale::facet
+    {
+    public:
+
+
+
+      typedef _CharT char_type;
+      typedef _OutIter iter_type;
+
+
+
+      static locale::id id;
+# 2346 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      explicit
+      num_put(size_t __refs = 0) : facet(__refs) { }
+# 2364 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+# 2406 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill,
+   unsigned long __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill,
+   unsigned long long __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+#pragma GCC diagnostic pop
+# 2472 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill,
+   long double __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+# 2497 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      iter_type
+      put(iter_type __s, ios_base& __io, char_type __fill,
+   const void* __v) const
+      { return this->do_put(__s, __io, __fill, __v); }
+
+    protected:
+      template<typename _ValueT>
+ iter_type
+ _M_insert_float(iter_type, ios_base& __io, char_type __fill,
+   char __mod, _ValueT __v) const;
+
+      void
+      _M_group_float(const char* __grouping, size_t __grouping_size,
+       char_type __sep, const char_type* __p, char_type* __new,
+       char_type* __cs, int& __len) const;
+
+      template<typename _ValueT>
+ iter_type
+ _M_insert_int(iter_type, ios_base& __io, char_type __fill,
+        _ValueT __v) const;
+
+      void
+      _M_group_int(const char* __grouping, size_t __grouping_size,
+     char_type __sep, ios_base& __io, char_type* __new,
+     char_type* __cs, int& __len) const;
+
+      void
+      _M_pad(char_type __fill, streamsize __w, ios_base& __io,
+      char_type* __new, const char_type* __cs, int& __len) const;
+
+
+      virtual
+      ~num_put() { }
+# 2545 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+      virtual iter_type
+      do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
+
+      virtual iter_type
+      do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
+      { return _M_insert_int(__s, __io, __fill, __v); }
+
+      virtual iter_type
+      do_put(iter_type __s, ios_base& __io, char_type __fill,
+      unsigned long __v) const
+      { return _M_insert_int(__s, __io, __fill, __v); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      virtual iter_type
+      do_put(iter_type __s, ios_base& __io, char_type __fill,
+      long long __v) const
+      { return _M_insert_int(__s, __io, __fill, __v); }
+
+      virtual iter_type
+      do_put(iter_type __s, ios_base& __io, char_type __fill,
+      unsigned long long __v) const
+      { return _M_insert_int(__s, __io, __fill, __v); }
+#pragma GCC diagnostic pop
+
+
+      virtual iter_type
+      do_put(iter_type, ios_base&, char_type, double) const;
+
+
+
+
+
+
+      virtual iter_type
+      do_put(iter_type, ios_base&, char_type, long double) const;
+
+
+      virtual iter_type
+      do_put(iter_type, ios_base&, char_type, const void*) const;
+# 2600 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+    };
+
+  template <typename _CharT, typename _OutIter>
+    locale::id num_put<_CharT, _OutIter>::id;
+# 2613 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
+  template<typename _CharT>
+    inline bool
+    isspace(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isprint(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    iscntrl(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isupper(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    islower(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isalpha(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isdigit(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    ispunct(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isxdigit(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isalnum(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
+
+
+  template<typename _CharT>
+    inline bool
+    isgraph(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
+
+
+
+  template<typename _CharT>
+    inline bool
+    isblank(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
+
+
+
+  template<typename _CharT>
+    inline _CharT
+    toupper(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
+
+
+  template<typename _CharT>
+    inline _CharT
+    tolower(_CharT __c, const locale& __loc)
+    { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
+
+
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 1 3
+# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+
+
+  template<typename _Facet>
+    struct __use_cache
+    {
+      const _Facet*
+      operator() (const locale& __loc) const;
+    };
+
+
+  template<typename _CharT>
+    struct __use_cache<__numpunct_cache<_CharT> >
+    {
+      const __numpunct_cache<_CharT>*
+      operator() (const locale& __loc) const
+      {
+ const size_t __i = numpunct<_CharT>::id._M_id();
+ const locale::facet** __caches = __loc._M_impl->_M_caches;
+ if (!__caches[__i])
+   {
+     __numpunct_cache<_CharT>* __tmp = 0;
+     try
+       {
+  __tmp = new __numpunct_cache<_CharT>;
+  __tmp->_M_cache(__loc);
+       }
+     catch(...)
+       {
+  delete __tmp;
+  throw;
+       }
+     __loc._M_impl->_M_install_cache(__tmp, __i);
+   }
+ return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
+      }
+    };
+
+  template<typename _CharT>
+    void
+    __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
+    {
+      const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+
+      char* __grouping = 0;
+      _CharT* __truename = 0;
+      _CharT* __falsename = 0;
+      try
+ {
+   const string& __g = __np.grouping();
+   _M_grouping_size = __g.size();
+   __grouping = new char[_M_grouping_size];
+   __g.copy(__grouping, _M_grouping_size);
+   _M_use_grouping = (_M_grouping_size
+        && static_cast<signed char>(__grouping[0]) > 0
+        && (__grouping[0]
+     != __gnu_cxx::__numeric_traits<char>::__max));
+
+   const basic_string<_CharT>& __tn = __np.truename();
+   _M_truename_size = __tn.size();
+   __truename = new _CharT[_M_truename_size];
+   __tn.copy(__truename, _M_truename_size);
+
+   const basic_string<_CharT>& __fn = __np.falsename();
+   _M_falsename_size = __fn.size();
+   __falsename = new _CharT[_M_falsename_size];
+   __fn.copy(__falsename, _M_falsename_size);
+
+   _M_decimal_point = __np.decimal_point();
+   _M_thousands_sep = __np.thousands_sep();
+
+   const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
+   __ct.widen(__num_base::_S_atoms_out,
+       __num_base::_S_atoms_out
+       + __num_base::_S_oend, _M_atoms_out);
+   __ct.widen(__num_base::_S_atoms_in,
+       __num_base::_S_atoms_in
+       + __num_base::_S_iend, _M_atoms_in);
+
+   _M_grouping = __grouping;
+   _M_truename = __truename;
+   _M_falsename = __falsename;
+   _M_allocated = true;
+ }
+      catch(...)
+ {
+   delete [] __grouping;
+   delete [] __truename;
+   delete [] __falsename;
+   throw;
+ }
+    }
+# 143 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+  __attribute__ ((__pure__)) bool
+  __verify_grouping(const char* __grouping, size_t __grouping_size,
+      const string& __grouping_tmp) throw ();
+
+
+
+  template<typename _CharT, typename _InIter>
+    __attribute ((__abi_tag__ ("cxx11")))
+    _InIter
+    num_get<_CharT, _InIter>::
+    _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
+       ios_base::iostate& __err, string& __xtrc) const
+    {
+      typedef char_traits<_CharT> __traits_type;
+      typedef __numpunct_cache<_CharT> __cache_type;
+      __use_cache<__cache_type> __uc;
+      const locale& __loc = __io._M_getloc();
+      const __cache_type* __lc = __uc(__loc);
+      const _CharT* __lit = __lc->_M_atoms_in;
+      char_type __c = char_type();
+
+
+      bool __testeof = __beg == __end;
+
+
+      if (!__testeof)
+ {
+   __c = *__beg;
+   const bool __plus = __c == __lit[__num_base::_S_iplus];
+   if ((__plus || __c == __lit[__num_base::_S_iminus])
+       && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+       && !(__c == __lc->_M_decimal_point))
+     {
+       __xtrc += __plus ? '+' : '-';
+       if (++__beg != __end)
+  __c = *__beg;
+       else
+  __testeof = true;
+     }
+ }
+
+
+      bool __found_mantissa = false;
+      int __sep_pos = 0;
+      while (!__testeof)
+ {
+   if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+       || __c == __lc->_M_decimal_point)
+     break;
+   else if (__c == __lit[__num_base::_S_izero])
+     {
+       if (!__found_mantissa)
+  {
+    __xtrc += '0';
+    __found_mantissa = true;
+  }
+       ++__sep_pos;
+
+       if (++__beg != __end)
+  __c = *__beg;
+       else
+  __testeof = true;
+     }
+   else
+     break;
+ }
+
+
+      bool __found_dec = false;
+      bool __found_sci = false;
+      string __found_grouping;
+      if (__lc->_M_use_grouping)
+ __found_grouping.reserve(32);
+      const char_type* __lit_zero = __lit + __num_base::_S_izero;
+
+      if (!__lc->_M_allocated)
+
+ while (!__testeof)
+   {
+     const int __digit = _M_find(__lit_zero, 10, __c);
+     if (__digit != -1)
+       {
+  __xtrc += '0' + __digit;
+  __found_mantissa = true;
+       }
+     else if (__c == __lc->_M_decimal_point
+       && !__found_dec && !__found_sci)
+       {
+  __xtrc += '.';
+  __found_dec = true;
+       }
+     else if ((__c == __lit[__num_base::_S_ie]
+        || __c == __lit[__num_base::_S_iE])
+       && !__found_sci && __found_mantissa)
+       {
+
+  __xtrc += 'e';
+  __found_sci = true;
+
+
+  if (++__beg != __end)
+    {
+      __c = *__beg;
+      const bool __plus = __c == __lit[__num_base::_S_iplus];
+      if (__plus || __c == __lit[__num_base::_S_iminus])
+        __xtrc += __plus ? '+' : '-';
+      else
+        continue;
+    }
+  else
+    {
+      __testeof = true;
+      break;
+    }
+       }
+     else
+       break;
+
+     if (++__beg != __end)
+       __c = *__beg;
+     else
+       __testeof = true;
+   }
+      else
+ while (!__testeof)
+   {
+
+
+     if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+       {
+  if (!__found_dec && !__found_sci)
+    {
+
+
+      if (__sep_pos)
+        {
+   __found_grouping += static_cast<char>(__sep_pos);
+   __sep_pos = 0;
+        }
+      else
+        {
+
+
+   __xtrc.clear();
+   break;
+        }
+    }
+  else
+    break;
+       }
+     else if (__c == __lc->_M_decimal_point)
+       {
+  if (!__found_dec && !__found_sci)
+    {
+
+
+
+      if (__found_grouping.size())
+        __found_grouping += static_cast<char>(__sep_pos);
+      __xtrc += '.';
+      __found_dec = true;
+    }
+  else
+    break;
+       }
+     else
+       {
+  const char_type* __q =
+    __traits_type::find(__lit_zero, 10, __c);
+  if (__q)
+    {
+      __xtrc += '0' + (__q - __lit_zero);
+      __found_mantissa = true;
+      ++__sep_pos;
+    }
+  else if ((__c == __lit[__num_base::_S_ie]
+     || __c == __lit[__num_base::_S_iE])
+    && !__found_sci && __found_mantissa)
+    {
+
+      if (__found_grouping.size() && !__found_dec)
+        __found_grouping += static_cast<char>(__sep_pos);
+      __xtrc += 'e';
+      __found_sci = true;
+
+
+      if (++__beg != __end)
+        {
+   __c = *__beg;
+   const bool __plus = __c == __lit[__num_base::_S_iplus];
+   if ((__plus || __c == __lit[__num_base::_S_iminus])
+       && !(__lc->_M_use_grouping
+     && __c == __lc->_M_thousands_sep)
+       && !(__c == __lc->_M_decimal_point))
+        __xtrc += __plus ? '+' : '-';
+   else
+     continue;
+        }
+      else
+        {
+   __testeof = true;
+   break;
+        }
+    }
+  else
+    break;
+       }
+
+     if (++__beg != __end)
+       __c = *__beg;
+     else
+       __testeof = true;
+   }
+
+
+
+      if (__found_grouping.size())
+        {
+
+   if (!__found_dec && !__found_sci)
+     __found_grouping += static_cast<char>(__sep_pos);
+
+          if (!std::__verify_grouping(__lc->_M_grouping,
+          __lc->_M_grouping_size,
+          __found_grouping))
+     __err = ios_base::failbit;
+        }
+
+      return __beg;
+    }
+
+  template<typename _CharT, typename _InIter>
+    template<typename _ValueT>
+      __attribute ((__abi_tag__ ("cxx11")))
+      _InIter
+      num_get<_CharT, _InIter>::
+      _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
+       ios_base::iostate& __err, _ValueT& __v) const
+      {
+        typedef char_traits<_CharT> __traits_type;
+ using __gnu_cxx::__add_unsigned;
+ typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
+ typedef __numpunct_cache<_CharT> __cache_type;
+ __use_cache<__cache_type> __uc;
+ const locale& __loc = __io._M_getloc();
+ const __cache_type* __lc = __uc(__loc);
+ const _CharT* __lit = __lc->_M_atoms_in;
+ char_type __c = char_type();
+
+
+ const ios_base::fmtflags __basefield = __io.flags()
+                                        & ios_base::basefield;
+ const bool __oct = __basefield == ios_base::oct;
+ int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
+
+
+ bool __testeof = __beg == __end;
+
+
+ bool __negative = false;
+ if (!__testeof)
+   {
+     __c = *__beg;
+     __negative = __c == __lit[__num_base::_S_iminus];
+     if ((__negative || __c == __lit[__num_base::_S_iplus])
+  && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+  && !(__c == __lc->_M_decimal_point))
+       {
+  if (++__beg != __end)
+    __c = *__beg;
+  else
+    __testeof = true;
+       }
+   }
+
+
+
+ bool __found_zero = false;
+ int __sep_pos = 0;
+ while (!__testeof)
+   {
+     if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+  || __c == __lc->_M_decimal_point)
+       break;
+     else if (__c == __lit[__num_base::_S_izero]
+       && (!__found_zero || __base == 10))
+       {
+  __found_zero = true;
+  ++__sep_pos;
+  if (__basefield == 0)
+    __base = 8;
+  if (__base == 8)
+    __sep_pos = 0;
+       }
+     else if (__found_zero
+       && (__c == __lit[__num_base::_S_ix]
+    || __c == __lit[__num_base::_S_iX]))
+       {
+  if (__basefield == 0)
+    __base = 16;
+  if (__base == 16)
+    {
+      __found_zero = false;
+      __sep_pos = 0;
+    }
+  else
+    break;
+       }
+     else
+       break;
+
+     if (++__beg != __end)
+       {
+  __c = *__beg;
+  if (!__found_zero)
+    break;
+       }
+     else
+       __testeof = true;
+   }
+
+
+
+ const size_t __len = (__base == 16 ? __num_base::_S_iend
+         - __num_base::_S_izero : __base);
+
+
+ typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
+ string __found_grouping;
+ if (__lc->_M_use_grouping)
+   __found_grouping.reserve(32);
+ bool __testfail = false;
+ bool __testoverflow = false;
+ const __unsigned_type __max =
+   (__negative && __num_traits::__is_signed)
+   ? -static_cast<__unsigned_type>(__num_traits::__min)
+   : __num_traits::__max;
+ const __unsigned_type __smax = __max / __base;
+ __unsigned_type __result = 0;
+ int __digit = 0;
+ const char_type* __lit_zero = __lit + __num_base::_S_izero;
+
+ if (!__lc->_M_allocated)
+
+   while (!__testeof)
+     {
+       __digit = _M_find(__lit_zero, __len, __c);
+       if (__digit == -1)
+  break;
+
+       if (__result > __smax)
+  __testoverflow = true;
+       else
+  {
+    __result *= __base;
+    __testoverflow |= __result > __max - __digit;
+    __result += __digit;
+    ++__sep_pos;
+  }
+
+       if (++__beg != __end)
+  __c = *__beg;
+       else
+  __testeof = true;
+     }
+ else
+   while (!__testeof)
+     {
+
+
+       if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
+  {
+
+
+    if (__sep_pos)
+      {
+        __found_grouping += static_cast<char>(__sep_pos);
+        __sep_pos = 0;
+      }
+    else
+      {
+        __testfail = true;
+        break;
+      }
+  }
+       else if (__c == __lc->_M_decimal_point)
+  break;
+       else
+  {
+    const char_type* __q =
+      __traits_type::find(__lit_zero, __len, __c);
+    if (!__q)
+      break;
+
+    __digit = __q - __lit_zero;
+    if (__digit > 15)
+      __digit -= 6;
+    if (__result > __smax)
+      __testoverflow = true;
+    else
+      {
+        __result *= __base;
+        __testoverflow |= __result > __max - __digit;
+        __result += __digit;
+        ++__sep_pos;
+      }
+  }
+
+       if (++__beg != __end)
+  __c = *__beg;
+       else
+  __testeof = true;
+     }
+
+
+
+ if (__found_grouping.size())
+   {
+
+     __found_grouping += static_cast<char>(__sep_pos);
+
+     if (!std::__verify_grouping(__lc->_M_grouping,
+     __lc->_M_grouping_size,
+     __found_grouping))
+       __err = ios_base::failbit;
+   }
+
+
+
+ if ((!__sep_pos && !__found_zero && !__found_grouping.size())
+     || __testfail)
+   {
+     __v = 0;
+     __err = ios_base::failbit;
+   }
+ else if (__testoverflow)
+   {
+     if (__negative && __num_traits::__is_signed)
+       __v = __num_traits::__min;
+     else
+       __v = __num_traits::__max;
+     __err = ios_base::failbit;
+   }
+ else
+   __v = __negative ? -__result : __result;
+
+ if (__testeof)
+   __err |= ios_base::eofbit;
+ return __beg;
+      }
+
+
+
+  template<typename _CharT, typename _InIter>
+    _InIter
+    num_get<_CharT, _InIter>::
+    do_get(iter_type __beg, iter_type __end, ios_base& __io,
+           ios_base::iostate& __err, bool& __v) const
+    {
+      if (!(__io.flags() & ios_base::boolalpha))
+        {
+
+
+
+   long __l = -1;
+          __beg = _M_extract_int(__beg, __end, __io, __err, __l);
+   if (__l == 0 || __l == 1)
+     __v = bool(__l);
+   else
+     {
+
+
+       __v = true;
+       __err = ios_base::failbit;
+       if (__beg == __end)
+  __err |= ios_base::eofbit;
+     }
+        }
+      else
+        {
+
+   typedef __numpunct_cache<_CharT> __cache_type;
+   __use_cache<__cache_type> __uc;
+   const locale& __loc = __io._M_getloc();
+   const __cache_type* __lc = __uc(__loc);
+
+   bool __testf = true;
+   bool __testt = true;
+   bool __donef = __lc->_M_falsename_size == 0;
+   bool __donet = __lc->_M_truename_size == 0;
+   bool __testeof = false;
+   size_t __n = 0;
+   while (!__donef || !__donet)
+     {
+       if (__beg == __end)
+  {
+    __testeof = true;
+    break;
+  }
+
+       const char_type __c = *__beg;
+
+       if (!__donef)
+  __testf = __c == __lc->_M_falsename[__n];
+
+       if (!__testf && __donet)
+  break;
+
+       if (!__donet)
+  __testt = __c == __lc->_M_truename[__n];
+
+       if (!__testt && __donef)
+  break;
+
+       if (!__testt && !__testf)
+  break;
+
+       ++__n;
+       ++__beg;
+
+       __donef = !__testf || __n >= __lc->_M_falsename_size;
+       __donet = !__testt || __n >= __lc->_M_truename_size;
+     }
+   if (__testf && __n == __lc->_M_falsename_size && __n)
+     {
+       __v = false;
+       if (__testt && __n == __lc->_M_truename_size)
+  __err = ios_base::failbit;
+       else
+  __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
+     }
+   else if (__testt && __n == __lc->_M_truename_size && __n)
+     {
+       __v = true;
+       __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
+     }
+   else
+     {
+
+
+       __v = false;
+       __err = ios_base::failbit;
+       if (__testeof)
+  __err |= ios_base::eofbit;
+     }
+ }
+      return __beg;
+    }
+
+  template<typename _CharT, typename _InIter>
+    _InIter
+    num_get<_CharT, _InIter>::
+    do_get(iter_type __beg, iter_type __end, ios_base& __io,
+    ios_base::iostate& __err, float& __v) const
+    {
+      string __xtrc;
+      __xtrc.reserve(32);
+      __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
+      std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
+      if (__beg == __end)
+ __err |= ios_base::eofbit;
+      return __beg;
+    }
+
+  template<typename _CharT, typename _InIter>
+    _InIter
+    num_get<_CharT, _InIter>::
+    do_get(iter_type __beg, iter_type __end, ios_base& __io,
+           ios_base::iostate& __err, double& __v) const
+    {
+      string __xtrc;
+      __xtrc.reserve(32);
+      __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
+      std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
+      if (__beg == __end)
+ __err |= ios_base::eofbit;
+      return __beg;
+    }
+# 739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+  template<typename _CharT, typename _InIter>
+    _InIter
+    num_get<_CharT, _InIter>::
+    do_get(iter_type __beg, iter_type __end, ios_base& __io,
+           ios_base::iostate& __err, long double& __v) const
+    {
+      string __xtrc;
+      __xtrc.reserve(32);
+      __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
+      std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
+      if (__beg == __end)
+ __err |= ios_base::eofbit;
+      return __beg;
+    }
+
+  template<typename _CharT, typename _InIter>
+    _InIter
+    num_get<_CharT, _InIter>::
+    do_get(iter_type __beg, iter_type __end, ios_base& __io,
+           ios_base::iostate& __err, void*& __v) const
+    {
+
+      typedef ios_base::fmtflags fmtflags;
+      const fmtflags __fmt = __io.flags();
+      __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      typedef __gnu_cxx::__conditional_type<(sizeof(void*)
+          <= sizeof(unsigned long)),
+ unsigned long, unsigned long long>::__type _UIntPtrType;
+#pragma GCC diagnostic pop
+
+      _UIntPtrType __ul;
+      __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
+
+
+      __io.flags(__fmt);
+
+      __v = reinterpret_cast<void*>(__ul);
+      return __beg;
+    }
+# 802 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+  template<typename _CharT, typename _OutIter>
+    void
+    num_put<_CharT, _OutIter>::
+    _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
+    _CharT* __new, const _CharT* __cs, int& __len) const
+    {
+
+
+      __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
+        __cs, __w, __len);
+      __len = static_cast<int>(__w);
+    }
+
+
+
+  template<typename _CharT, typename _ValueT>
+    int
+    __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
+    ios_base::fmtflags __flags, bool __dec)
+    {
+      _CharT* __buf = __bufend;
+      if (__builtin_expect(__dec, true))
+ {
+
+   do
+     {
+       *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
+       __v /= 10;
+     }
+   while (__v != 0);
+ }
+      else if ((__flags & ios_base::basefield) == ios_base::oct)
+ {
+
+   do
+     {
+       *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
+       __v >>= 3;
+     }
+   while (__v != 0);
+ }
+      else
+ {
+
+   const bool __uppercase = __flags & ios_base::uppercase;
+   const int __case_offset = __uppercase ? __num_base::_S_oudigits
+                                         : __num_base::_S_odigits;
+   do
+     {
+       *--__buf = __lit[(__v & 0xf) + __case_offset];
+       __v >>= 4;
+     }
+   while (__v != 0);
+ }
+      return __bufend - __buf;
+    }
+
+
+
+  template<typename _CharT, typename _OutIter>
+    void
+    num_put<_CharT, _OutIter>::
+    _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
+   ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
+    {
+      _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
+     __grouping_size, __cs, __cs + __len);
+      __len = __p - __new;
+    }
+
+  template<typename _CharT, typename _OutIter>
+    template<typename _ValueT>
+      _OutIter
+      num_put<_CharT, _OutIter>::
+      _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
+      _ValueT __v) const
+      {
+ using __gnu_cxx::__add_unsigned;
+ typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
+ typedef __numpunct_cache<_CharT> __cache_type;
+ __use_cache<__cache_type> __uc;
+ const locale& __loc = __io._M_getloc();
+ const __cache_type* __lc = __uc(__loc);
+ const _CharT* __lit = __lc->_M_atoms_out;
+ const ios_base::fmtflags __flags = __io.flags();
+
+
+ const int __ilen = 5 * sizeof(_ValueT);
+ _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+            * __ilen));
+
+
+
+ const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
+ const bool __dec = (__basefield != ios_base::oct
+       && __basefield != ios_base::hex);
+ const __unsigned_type __u = ((__v > 0 || !__dec)
+         ? __unsigned_type(__v)
+         : -__unsigned_type(__v));
+  int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
+ __cs += __ilen - __len;
+
+
+ if (__lc->_M_use_grouping)
+   {
+
+
+     _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+          * (__len + 1)
+          * 2));
+     _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
+    __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
+     __cs = __cs2 + 2;
+   }
+
+
+ if (__builtin_expect(__dec, true))
+   {
+
+     if (__v >= 0)
+       {
+  if (bool(__flags & ios_base::showpos)
+      && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
+    *--__cs = __lit[__num_base::_S_oplus], ++__len;
+       }
+     else
+       *--__cs = __lit[__num_base::_S_ominus], ++__len;
+   }
+ else if (bool(__flags & ios_base::showbase) && __v)
+   {
+     if (__basefield == ios_base::oct)
+       *--__cs = __lit[__num_base::_S_odigits], ++__len;
+     else
+       {
+
+  const bool __uppercase = __flags & ios_base::uppercase;
+  *--__cs = __lit[__num_base::_S_ox + __uppercase];
+
+  *--__cs = __lit[__num_base::_S_odigits];
+  __len += 2;
+       }
+   }
+
+
+ const streamsize __w = __io.width();
+ if (__w > static_cast<streamsize>(__len))
+   {
+     _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+          * __w));
+     _M_pad(__fill, __w, __io, __cs3, __cs, __len);
+     __cs = __cs3;
+   }
+ __io.width(0);
+
+
+
+ return std::__write(__s, __cs, __len);
+      }
+
+  template<typename _CharT, typename _OutIter>
+    void
+    num_put<_CharT, _OutIter>::
+    _M_group_float(const char* __grouping, size_t __grouping_size,
+     _CharT __sep, const _CharT* __p, _CharT* __new,
+     _CharT* __cs, int& __len) const
+    {
+
+
+
+      const int __declen = __p ? __p - __cs : __len;
+      _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
+      __grouping_size,
+      __cs, __cs + __declen);
+
+
+      int __newlen = __p2 - __new;
+      if (__p)
+ {
+   char_traits<_CharT>::copy(__p2, __p, __len - __declen);
+   __newlen += __len - __declen;
+ }
+      __len = __newlen;
+    }
+# 996 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+  template<typename _CharT, typename _OutIter>
+    template<typename _ValueT>
+      _OutIter
+      num_put<_CharT, _OutIter>::
+      _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
+         _ValueT __v) const
+      {
+ typedef __numpunct_cache<_CharT> __cache_type;
+ __use_cache<__cache_type> __uc;
+ const locale& __loc = __io._M_getloc();
+ const __cache_type* __lc = __uc(__loc);
+
+
+ const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
+
+ const int __max_digits =
+   __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
+
+
+ int __len;
+
+ char __fbuf[16];
+ __num_base::_S_format_float(__io, __fbuf, __mod);
+
+
+
+ const bool __use_prec =
+   (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
+
+
+
+ int __cs_size = __max_digits * 3;
+ char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
+ if (__use_prec)
+   __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
+     __fbuf, __prec, __v);
+ else
+   __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
+     __fbuf, __v);
+
+
+ if (__len >= __cs_size)
+   {
+     __cs_size = __len + 1;
+     __cs = static_cast<char*>(__builtin_alloca(__cs_size));
+     if (__use_prec)
+       __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
+         __fbuf, __prec, __v);
+     else
+       __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
+         __fbuf, __v);
+   }
+# 1069 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+ const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+
+ _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+            * __len));
+ __ctype.widen(__cs, __cs + __len, __ws);
+
+
+ _CharT* __wp = 0;
+ const char* __p = char_traits<char>::find(__cs, __len, '.');
+ if (__p)
+   {
+     __wp = __ws + (__p - __cs);
+     *__wp = __lc->_M_decimal_point;
+   }
+
+
+
+
+ if (__lc->_M_use_grouping
+     && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
+          && __cs[1] >= '0' && __cs[2] >= '0')))
+   {
+
+
+     _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+          * __len * 2));
+
+     streamsize __off = 0;
+     if (__cs[0] == '-' || __cs[0] == '+')
+       {
+  __off = 1;
+  __ws2[0] = __ws[0];
+  __len -= 1;
+       }
+
+     _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
+      __lc->_M_thousands_sep, __wp, __ws2 + __off,
+      __ws + __off, __len);
+     __len += __off;
+
+     __ws = __ws2;
+   }
+
+
+ const streamsize __w = __io.width();
+ if (__w > static_cast<streamsize>(__len))
+   {
+     _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+          * __w));
+     _M_pad(__fill, __w, __io, __ws3, __ws, __len);
+     __ws = __ws3;
+   }
+ __io.width(0);
+
+
+
+ return std::__write(__s, __ws, __len);
+      }
+
+  template<typename _CharT, typename _OutIter>
+    _OutIter
+    num_put<_CharT, _OutIter>::
+    do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
+    {
+      const ios_base::fmtflags __flags = __io.flags();
+      if ((__flags & ios_base::boolalpha) == 0)
+        {
+          const long __l = __v;
+          __s = _M_insert_int(__s, __io, __fill, __l);
+        }
+      else
+        {
+   typedef __numpunct_cache<_CharT> __cache_type;
+   __use_cache<__cache_type> __uc;
+   const locale& __loc = __io._M_getloc();
+   const __cache_type* __lc = __uc(__loc);
+
+   const _CharT* __name = __v ? __lc->_M_truename
+                              : __lc->_M_falsename;
+   int __len = __v ? __lc->_M_truename_size
+                   : __lc->_M_falsename_size;
+
+   const streamsize __w = __io.width();
+   if (__w > static_cast<streamsize>(__len))
+     {
+       const streamsize __plen = __w - __len;
+       _CharT* __ps
+  = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
+       * __plen));
+
+       char_traits<_CharT>::assign(__ps, __plen, __fill);
+       __io.width(0);
+
+       if ((__flags & ios_base::adjustfield) == ios_base::left)
+  {
+    __s = std::__write(__s, __name, __len);
+    __s = std::__write(__s, __ps, __plen);
+  }
+       else
+  {
+    __s = std::__write(__s, __ps, __plen);
+    __s = std::__write(__s, __name, __len);
+  }
+       return __s;
+     }
+   __io.width(0);
+   __s = std::__write(__s, __name, __len);
+ }
+      return __s;
+    }
+
+  template<typename _CharT, typename _OutIter>
+    _OutIter
+    num_put<_CharT, _OutIter>::
+    do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
+    { return _M_insert_float(__s, __io, __fill, char(), __v); }
+# 1194 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+  template<typename _CharT, typename _OutIter>
+    _OutIter
+    num_put<_CharT, _OutIter>::
+    do_put(iter_type __s, ios_base& __io, char_type __fill,
+    long double __v) const
+    { return _M_insert_float(__s, __io, __fill, 'L', __v); }
+
+  template<typename _CharT, typename _OutIter>
+    _OutIter
+    num_put<_CharT, _OutIter>::
+    do_put(iter_type __s, ios_base& __io, char_type __fill,
+           const void* __v) const
+    {
+      const ios_base::fmtflags __flags = __io.flags();
+      const ios_base::fmtflags __fmt = ~(ios_base::basefield
+      | ios_base::uppercase);
+      __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
+          <= sizeof(unsigned long)),
+ unsigned long, unsigned long long>::__type _UIntPtrType;
+#pragma GCC diagnostic pop
+
+      __s = _M_insert_int(__s, __io, __fill,
+     reinterpret_cast<_UIntPtrType>(__v));
+      __io.flags(__flags);
+      return __s;
+    }
+# 1243 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
+  template<typename _CharT, typename _Traits>
+    void
+    __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
+       _CharT* __news, const _CharT* __olds,
+       streamsize __newlen, streamsize __oldlen)
+    {
+      const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
+      const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
+
+
+      if (__adjust == ios_base::left)
+ {
+   _Traits::copy(__news, __olds, __oldlen);
+   _Traits::assign(__news + __oldlen, __plen, __fill);
+   return;
+ }
+
+      size_t __mod = 0;
+      if (__adjust == ios_base::internal)
+ {
+
+
+
+          const locale& __loc = __io._M_getloc();
+   const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+
+   if (__ctype.widen('-') == __olds[0]
+       || __ctype.widen('+') == __olds[0])
+     {
+       __news[0] = __olds[0];
+       __mod = 1;
+       ++__news;
+     }
+   else if (__ctype.widen('0') == __olds[0]
+     && __oldlen > 1
+     && (__ctype.widen('x') == __olds[1]
+         || __ctype.widen('X') == __olds[1]))
+     {
+       __news[0] = __olds[0];
+       __news[1] = __olds[1];
+       __mod = 2;
+       __news += 2;
+     }
+
+ }
+      _Traits::assign(__news, __plen, __fill);
+      _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
+    }
+
+  template<typename _CharT>
+    _CharT*
+    __add_grouping(_CharT* __s, _CharT __sep,
+     const char* __gbeg, size_t __gsize,
+     const _CharT* __first, const _CharT* __last)
+    {
+      size_t __idx = 0;
+      size_t __ctr = 0;
+
+      while (__last - __first > __gbeg[__idx]
+      && static_cast<signed char>(__gbeg[__idx]) > 0
+      && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
+ {
+   __last -= __gbeg[__idx];
+   __idx < __gsize - 1 ? ++__idx : ++__ctr;
+ }
+
+      while (__first != __last)
+ *__s++ = *__first++;
+
+      while (__ctr--)
+ {
+   *__s++ = __sep;
+   for (char __i = __gbeg[__idx]; __i > 0; --__i)
+     *__s++ = *__first++;
+ }
+
+      while (__idx--)
+ {
+   *__s++ = __sep;
+   for (char __i = __gbeg[__idx]; __i > 0; --__i)
+     *__s++ = *__first++;
+ }
+
+      return __s;
+    }
+
+
+
+
+  extern template class __cxx11:: numpunct<char>;
+  extern template class __cxx11:: numpunct_byname<char>;
+  extern template class num_get<char>;
+  extern template class num_put<char>;
+  extern template class ctype_byname<char>;
+
+  extern template
+    const ctype<char>*
+    __try_use_facet<ctype<char> >(const locale&) noexcept;
+
+  extern template
+    const numpunct<char>*
+    __try_use_facet<numpunct<char> >(const locale&) noexcept;
+
+  extern template
+    const num_put<char>*
+    __try_use_facet<num_put<char> >(const locale&) noexcept;
+
+  extern template
+    const num_get<char>*
+    __try_use_facet<num_get<char> >(const locale&) noexcept;
+
+  extern template
+    const ctype<char>&
+    use_facet<ctype<char> >(const locale&);
+
+  extern template
+    const numpunct<char>&
+    use_facet<numpunct<char> >(const locale&);
+
+  extern template
+    const num_put<char>&
+    use_facet<num_put<char> >(const locale&);
+
+  extern template
+    const num_get<char>&
+    use_facet<num_get<char> >(const locale&);
+
+  extern template
+    bool
+    has_facet<ctype<char> >(const locale&);
+
+  extern template
+    bool
+    has_facet<numpunct<char> >(const locale&);
+
+  extern template
+    bool
+    has_facet<num_put<char> >(const locale&);
+
+  extern template
+    bool
+    has_facet<num_get<char> >(const locale&);
+
+
+  extern template class __cxx11:: numpunct<wchar_t>;
+  extern template class __cxx11:: numpunct_byname<wchar_t>;
+  extern template class num_get<wchar_t>;
+  extern template class num_put<wchar_t>;
+  extern template class ctype_byname<wchar_t>;
+
+  extern template
+    const ctype<wchar_t>*
+    __try_use_facet<ctype<wchar_t> >(const locale&) noexcept;
+
+  extern template
+    const numpunct<wchar_t>*
+    __try_use_facet<numpunct<wchar_t> >(const locale&) noexcept;
+
+  extern template
+    const num_put<wchar_t>*
+    __try_use_facet<num_put<wchar_t> >(const locale&) noexcept;
+
+  extern template
+    const num_get<wchar_t>*
+    __try_use_facet<num_get<wchar_t> >(const locale&) noexcept;
+
+  extern template
+    const ctype<wchar_t>&
+    use_facet<ctype<wchar_t> >(const locale&);
+
+  extern template
+    const numpunct<wchar_t>&
+    use_facet<numpunct<wchar_t> >(const locale&);
+
+  extern template
+    const num_put<wchar_t>&
+    use_facet<num_put<wchar_t> >(const locale&);
+
+  extern template
+    const num_get<wchar_t>&
+    use_facet<num_get<wchar_t> >(const locale&);
+
+  extern template
+    bool
+    has_facet<ctype<wchar_t> >(const locale&);
+
+  extern template
+    bool
+    has_facet<numpunct<wchar_t> >(const locale&);
+
+  extern template
+    bool
+    has_facet<num_put<wchar_t> >(const locale&);
+
+  extern template
+    bool
+    has_facet<num_get<wchar_t> >(const locale&);
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 2702 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 2 3
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _Facet>
+    inline const _Facet&
+    __check_facet(const _Facet* __f)
+    {
+      if (!__f)
+ __throw_bad_cast();
+      return *__f;
+    }
+# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+  template<typename _CharT, typename _Traits>
+    class basic_ios : public ios_base
+    {
+
+
+
+
+    public:
+
+
+
+
+
+
+      typedef _CharT char_type;
+      typedef typename _Traits::int_type int_type;
+      typedef typename _Traits::pos_type pos_type;
+      typedef typename _Traits::off_type off_type;
+      typedef _Traits traits_type;
+
+
+
+
+
+
+      typedef ctype<_CharT> __ctype_type;
+      typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
+           __num_put_type;
+      typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
+           __num_get_type;
+
+
+
+    protected:
+      basic_ostream<_CharT, _Traits>* _M_tie;
+      mutable char_type _M_fill;
+      mutable bool _M_fill_init;
+      basic_streambuf<_CharT, _Traits>* _M_streambuf;
+
+
+      const __ctype_type* _M_ctype;
+
+      const __num_put_type* _M_num_put;
+
+      const __num_get_type* _M_num_get;
+
+    public:
+# 123 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      [[__nodiscard__]]
+      explicit operator bool() const
+      { return !this->fail(); }
+
+
+
+
+
+      [[__nodiscard__]]
+      bool
+      operator!() const
+      { return this->fail(); }
+# 144 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      [[__nodiscard__]]
+      iostate
+      rdstate() const
+      { return _M_streambuf_state; }
+# 156 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      void
+      clear(iostate __state = goodbit);
+
+
+
+
+
+
+
+      void
+      setstate(iostate __state)
+      { this->clear(this->rdstate() | __state); }
+
+
+
+
+      void
+      _M_setstate(iostate __state)
+      {
+
+
+ _M_streambuf_state |= __state;
+ if (this->exceptions() & __state)
+   { throw; }
+      }
+
+
+
+
+
+
+
+      [[__nodiscard__]]
+      bool
+      good() const
+      { return this->rdstate() == 0; }
+
+
+
+
+
+
+
+      [[__nodiscard__]]
+      bool
+      eof() const
+      { return (this->rdstate() & eofbit) != 0; }
+# 211 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      [[__nodiscard__]]
+      bool
+      fail() const
+      { return (this->rdstate() & (badbit | failbit)) != 0; }
+
+
+
+
+
+
+
+      [[__nodiscard__]]
+      bool
+      bad() const
+      { return (this->rdstate() & badbit) != 0; }
+# 234 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      [[__nodiscard__]]
+      iostate
+      exceptions() const
+      { return _M_exception; }
+# 270 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      void
+      exceptions(iostate __except)
+      {
+        _M_exception = __except;
+        this->clear(_M_streambuf_state);
+      }
+
+
+
+
+
+
+
+      explicit
+      basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
+      : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
+ _M_ctype(0), _M_num_put(0), _M_num_get(0)
+      { this->init(__sb); }
+
+
+
+
+
+
+
+      virtual
+      ~basic_ios() { }
+# 308 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      [[__nodiscard__]]
+      basic_ostream<_CharT, _Traits>*
+      tie() const
+      { return _M_tie; }
+# 321 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      basic_ostream<_CharT, _Traits>*
+      tie(basic_ostream<_CharT, _Traits>* __tiestr)
+      {
+        basic_ostream<_CharT, _Traits>* __old = _M_tie;
+        _M_tie = __tiestr;
+        return __old;
+      }
+
+
+
+
+
+
+
+      [[__nodiscard__]]
+      basic_streambuf<_CharT, _Traits>*
+      rdbuf() const
+      { return _M_streambuf; }
+# 362 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      basic_streambuf<_CharT, _Traits>*
+      rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
+# 376 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      basic_ios&
+      copyfmt(const basic_ios& __rhs);
+
+
+
+
+
+
+
+      [[__nodiscard__]]
+      char_type
+      fill() const
+      {
+ if (__builtin_expect(!_M_fill_init, false))
+   return this->widen(' ');
+ return _M_fill;
+      }
+# 403 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      char_type
+      fill(char_type __ch)
+      {
+ char_type __old = _M_fill;
+ _M_fill = __ch;
+ _M_fill_init = true;
+ return __old;
+      }
+# 424 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      locale
+      imbue(const locale& __loc);
+# 444 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      char
+      narrow(char_type __c, char __dfault) const
+      { return __check_facet(_M_ctype).narrow(__c, __dfault); }
+# 463 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
+      char_type
+      widen(char __c) const
+      { return __check_facet(_M_ctype).widen(__c); }
+
+    protected:
+
+
+
+
+
+
+
+      basic_ios()
+      : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
+ _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
+      { }
+
+
+
+
+
+
+
+      void
+      init(basic_streambuf<_CharT, _Traits>* __sb);
+
+
+      basic_ios(const basic_ios&) = delete;
+      basic_ios& operator=(const basic_ios&) = delete;
+
+      void
+      move(basic_ios& __rhs)
+      {
+ ios_base::_M_move(__rhs);
+ _M_cache_locale(_M_ios_locale);
+ this->tie(__rhs.tie(nullptr));
+ _M_fill = __rhs._M_fill;
+ _M_fill_init = __rhs._M_fill_init;
+ _M_streambuf = nullptr;
+      }
+
+      void
+      move(basic_ios&& __rhs)
+      { this->move(__rhs); }
+
+      void
+      swap(basic_ios& __rhs) noexcept
+      {
+ ios_base::_M_swap(__rhs);
+ _M_cache_locale(_M_ios_locale);
+ __rhs._M_cache_locale(__rhs._M_ios_locale);
+ std::swap(_M_tie, __rhs._M_tie);
+ std::swap(_M_fill, __rhs._M_fill);
+ std::swap(_M_fill_init, __rhs._M_fill_init);
+      }
+
+      void
+      set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
+      { _M_streambuf = __sb; }
+
+
+      void
+      _M_cache_locale(const locale& __loc);
+    };
+
+
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.tcc" 1 3
+# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _CharT, typename _Traits>
+    void
+    basic_ios<_CharT, _Traits>::clear(iostate __state)
+    {
+      if (this->rdbuf())
+ _M_streambuf_state = __state;
+      else
+ _M_streambuf_state = __state | badbit;
+      if (this->exceptions() & this->rdstate())
+ __throw_ios_failure(("basic_ios::clear"));
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_streambuf<_CharT, _Traits>*
+    basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
+    {
+      basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
+      _M_streambuf = __sb;
+      this->clear();
+      return __old;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ios<_CharT, _Traits>&
+    basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
+    {
+
+
+      if (this != std::__addressof(__rhs))
+ {
+
+
+
+
+   _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
+                      _M_local_word : new _Words[__rhs._M_word_size];
+
+
+   _Callback_list* __cb = __rhs._M_callbacks;
+   if (__cb)
+     __cb->_M_add_reference();
+   _M_call_callbacks(erase_event);
+   if (_M_word != _M_local_word)
+     {
+       delete [] _M_word;
+       _M_word = 0;
+     }
+   _M_dispose_callbacks();
+
+
+   _M_callbacks = __cb;
+   for (int __i = 0; __i < __rhs._M_word_size; ++__i)
+     __words[__i] = __rhs._M_word[__i];
+   _M_word = __words;
+   _M_word_size = __rhs._M_word_size;
+
+   this->flags(__rhs.flags());
+   this->width(__rhs.width());
+   this->precision(__rhs.precision());
+   this->tie(__rhs.tie());
+   this->fill(__rhs.fill());
+   _M_ios_locale = __rhs.getloc();
+   _M_cache_locale(_M_ios_locale);
+
+   _M_call_callbacks(copyfmt_event);
+
+
+   this->exceptions(__rhs.exceptions());
+ }
+      return *this;
+    }
+
+
+  template<typename _CharT, typename _Traits>
+    locale
+    basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
+    {
+      locale __old(this->getloc());
+      ios_base::imbue(__loc);
+      _M_cache_locale(__loc);
+      if (this->rdbuf() != 0)
+ this->rdbuf()->pubimbue(__loc);
+      return __old;
+    }
+
+  template<typename _CharT, typename _Traits>
+    void
+    basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
+    {
+
+      ios_base::_M_init();
+
+
+      _M_cache_locale(_M_ios_locale);
+# 153 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.tcc" 3
+      if (_M_ctype)
+ {
+   _M_fill = _M_ctype->widen(' ');
+   _M_fill_init = true;
+ }
+      else
+ _M_fill_init = false;
+
+      _M_tie = 0;
+      _M_exception = goodbit;
+      _M_streambuf = __sb;
+      _M_streambuf_state = __sb ? goodbit : badbit;
+    }
+
+  template<typename _CharT, typename _Traits>
+    void
+    basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
+    {
+      _M_ctype = std::__try_use_facet<__ctype_type>(__loc);
+      _M_num_put = std::__try_use_facet<__num_put_type>(__loc);
+      _M_num_get = std::__try_use_facet<__num_get_type>(__loc);
+    }
+
+
+
+
+  extern template class basic_ios<char>;
+
+
+  extern template class basic_ios<wchar_t>;
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 532 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 2 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 2 3
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 65 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+  template<typename _CharT, typename _Traits>
+    class basic_ostream : virtual public basic_ios<_CharT, _Traits>
+    {
+    public:
+
+      typedef _CharT char_type;
+      typedef typename _Traits::int_type int_type;
+      typedef typename _Traits::pos_type pos_type;
+      typedef typename _Traits::off_type off_type;
+      typedef _Traits traits_type;
+
+
+      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
+      typedef basic_ios<_CharT, _Traits> __ios_type;
+      typedef basic_ostream<_CharT, _Traits> __ostream_type;
+      typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
+       __num_put_type;
+      typedef ctype<_CharT> __ctype_type;
+# 91 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      explicit
+      basic_ostream(__streambuf_type* __sb)
+      { this->init(__sb); }
+
+
+
+
+
+
+      virtual
+      ~basic_ostream() { }
+
+
+      class sentry;
+      friend class sentry;
+# 115 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      operator<<(__ostream_type& (*__pf)(__ostream_type&))
+      {
+
+
+
+ return __pf(*this);
+      }
+
+      __ostream_type&
+      operator<<(__ios_type& (*__pf)(__ios_type&))
+      {
+
+
+
+ __pf(*this);
+ return *this;
+      }
+
+      __ostream_type&
+      operator<<(ios_base& (*__pf) (ios_base&))
+      {
+
+
+
+ __pf(*this);
+ return *this;
+      }
+# 173 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      operator<<(long __n)
+      { return _M_insert(__n); }
+
+      __ostream_type&
+      operator<<(unsigned long __n)
+      { return _M_insert(__n); }
+
+      __ostream_type&
+      operator<<(bool __n)
+      { return _M_insert(__n); }
+
+      __ostream_type&
+      operator<<(short __n);
+
+      __ostream_type&
+      operator<<(unsigned short __n)
+      {
+
+
+ return _M_insert(static_cast<unsigned long>(__n));
+      }
+
+      __ostream_type&
+      operator<<(int __n);
+
+      __ostream_type&
+      operator<<(unsigned int __n)
+      {
+
+
+ return _M_insert(static_cast<unsigned long>(__n));
+      }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      __ostream_type&
+      operator<<(long long __n)
+      { return _M_insert(__n); }
+
+      __ostream_type&
+      operator<<(unsigned long long __n)
+      { return _M_insert(__n); }
+#pragma GCC diagnostic pop
+# 230 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      operator<<(double __f)
+      { return _M_insert(__f); }
+
+      __ostream_type&
+      operator<<(float __f)
+      {
+
+
+ return _M_insert(_S_cast_flt<double>(__f));
+      }
+
+      __ostream_type&
+      operator<<(long double __f)
+      { return _M_insert(__f); }
+# 300 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      operator<<(const void* __p)
+      { return _M_insert(__p); }
+
+
+      __ostream_type&
+      operator<<(nullptr_t)
+      { return *this << "nullptr"; }
+# 338 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      operator<<(__streambuf_type* __sb);
+# 371 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      put(char_type __c);
+# 390 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      write(const char_type* __s, streamsize __n);
+# 403 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      flush();
+# 413 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      pos_type
+      tellp();
+# 424 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      __ostream_type&
+      seekp(pos_type);
+# 436 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+       __ostream_type&
+      seekp(off_type, ios_base::seekdir);
+
+    protected:
+      basic_ostream()
+      { this->init(0); }
+
+
+
+      basic_ostream(basic_iostream<_CharT, _Traits>&) { }
+
+      basic_ostream(const basic_ostream&) = delete;
+
+      basic_ostream(basic_ostream&& __rhs)
+      : __ios_type()
+      { __ios_type::move(__rhs); }
+
+
+
+      basic_ostream& operator=(const basic_ostream&) = delete;
+
+      basic_ostream&
+      operator=(basic_ostream&& __rhs)
+      {
+ swap(__rhs);
+ return *this;
+      }
+
+      void
+      swap(basic_ostream& __rhs)
+      { __ios_type::swap(__rhs); }
+
+
+      template<typename _ValueT>
+ __ostream_type&
+ _M_insert(_ValueT __v);
+
+    private:
+
+      void
+      _M_write(const char_type* __s, streamsize __n)
+      { std::__ostream_insert(*this, __s, __n); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++17-extensions"
+      template<typename _To, typename _From>
+ static _To
+ _S_cast_flt(_From __f)
+ {
+   _To __d = static_cast<_To>(__f);
+# 507 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+   return __d;
+ }
+#pragma GCC diagnostic pop
+
+
+      struct _Disable_exceptions
+      {
+ _Disable_exceptions(basic_ostream& __os)
+ : _M_os(__os), _M_exception(_M_os._M_exception)
+ { _M_os._M_exception = ios_base::goodbit; }
+
+ ~_Disable_exceptions()
+ { _M_os._M_exception = _M_exception; }
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+ _Disable_exceptions(const _Disable_exceptions&) = delete;
+ _Disable_exceptions& operator=(const _Disable_exceptions&) = delete;
+#pragma GCC diagnostic pop
+
+      private:
+ basic_ostream& _M_os;
+ const ios_base::iostate _M_exception;
+      };
+    };
+# 540 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+  template <typename _CharT, typename _Traits>
+    class basic_ostream<_CharT, _Traits>::sentry
+    {
+
+      bool _M_ok;
+      basic_ostream<_CharT, _Traits>& _M_os;
+
+    public:
+# 559 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      explicit
+      sentry(basic_ostream<_CharT, _Traits>& __os);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
+
+
+
+
+
+
+      ~sentry()
+      {
+
+
+
+
+ if (bool(_M_os.flags() & ios_base::unitbuf) && _M_os.good()
+       && !uncaught_exception())
+   {
+     _Disable_exceptions __noex(_M_os);
+     try
+       {
+
+
+  if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
+    _M_os.setstate(ios_base::badbit);
+       }
+     catch(...)
+       { _M_os.setstate(ios_base::badbit); }
+   }
+      }
+#pragma GCC diagnostic pop
+# 602 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+      explicit
+
+      operator bool() const
+      { return _M_ok; }
+    };
+# 624 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
+    {
+      if (__out.width() != 0)
+ return __ostream_insert(__out, &__c, 1);
+      __out.put(__c);
+      return __out;
+    }
+
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
+    { return (__out << __out.widen(__c)); }
+
+
+  template<typename _Traits>
+    inline basic_ostream<char, _Traits>&
+    operator<<(basic_ostream<char, _Traits>& __out, char __c)
+    {
+      if (__out.width() != 0)
+ return __ostream_insert(__out, &__c, 1);
+      __out.put(__c);
+      return __out;
+    }
+
+
+  template<typename _Traits>
+    inline basic_ostream<char, _Traits>&
+    operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
+    { return (__out << static_cast<char>(__c)); }
+
+  template<typename _Traits>
+    inline basic_ostream<char, _Traits>&
+    operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
+    { return (__out << static_cast<char>(__c)); }
+# 715 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
+    {
+      if (!__s)
+ __out.setstate(ios_base::badbit);
+      else
+ __ostream_insert(__out, __s,
+    static_cast<streamsize>(_Traits::length(__s)));
+      return __out;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits> &
+    operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
+
+
+  template<typename _Traits>
+    inline basic_ostream<char, _Traits>&
+    operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
+    {
+      if (!__s)
+ __out.setstate(ios_base::badbit);
+      else
+ __ostream_insert(__out, __s,
+    static_cast<streamsize>(_Traits::length(__s)));
+      return __out;
+    }
+
+
+  template<typename _Traits>
+    inline basic_ostream<char, _Traits>&
+    operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
+    { return (__out << reinterpret_cast<const char*>(__s)); }
+
+  template<typename _Traits>
+    inline basic_ostream<char, _Traits> &
+    operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
+    { return (__out << reinterpret_cast<const char*>(__s)); }
+# 812 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+  template<typename _Tp>
+    using _Require_derived_from_ios_base
+      = _Require<is_class<_Tp>, __not_<is_same<_Tp, ios_base>>,
+   is_convertible<typename add_pointer<_Tp>::type, ios_base*>>;
+
+  template<typename _Os, typename _Tp,
+    typename = _Require_derived_from_ios_base<_Os>,
+    typename
+      = decltype(std::declval<_Os&>() << std::declval<const _Tp&>())>
+    using __rvalue_stream_insertion_t = _Os&&;
+# 834 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
+  template<typename _Ostream, typename _Tp>
+    inline __rvalue_stream_insertion_t<_Ostream, _Tp>
+    operator<<(_Ostream&& __os, const _Tp& __x)
+    {
+      __os << __x;
+      return std::move(__os);
+    }
+
+
+
+}
+# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 2 3
+
+
+
+
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
+# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    endl(basic_ostream<_CharT, _Traits>& __os)
+    { return flush(__os.put(__os.widen('\n'))); }
+# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    ends(basic_ostream<_CharT, _Traits>& __os)
+    { return __os.put(_CharT()); }
+
+
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    inline basic_ostream<_CharT, _Traits>&
+    flush(basic_ostream<_CharT, _Traits>& __os)
+    { return __os.flush(); }
+# 292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.tcc" 1 3
+# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>::sentry::
+    sentry(basic_ostream<_CharT, _Traits>& __os)
+    : _M_ok(false), _M_os(__os)
+    {
+
+      if (__os.tie() && __os.good())
+ __os.tie()->flush();
+
+      if (__os.good())
+ _M_ok = true;
+      else if (__os.bad())
+ __os.setstate(ios_base::failbit);
+    }
+
+  template<typename _CharT, typename _Traits>
+    template<typename _ValueT>
+      basic_ostream<_CharT, _Traits>&
+      basic_ostream<_CharT, _Traits>::
+      _M_insert(_ValueT __v)
+      {
+ sentry __cerb(*this);
+ if (__cerb)
+   {
+     ios_base::iostate __err = ios_base::goodbit;
+     try
+       {
+
+  const __num_put_type& __np = __check_facet(this->_M_num_put);
+
+
+
+
+  if (__np.put(*this, *this, this->fill(), __v).failed())
+    __err |= ios_base::badbit;
+       }
+     catch(__cxxabiv1::__forced_unwind&)
+       {
+  this->_M_setstate(ios_base::badbit);
+  throw;
+       }
+     catch(...)
+       { this->_M_setstate(ios_base::badbit); }
+     if (__err)
+       this->setstate(__err);
+   }
+ return *this;
+      }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    operator<<(short __n)
+    {
+
+
+      const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
+      if (__fmt == ios_base::oct || __fmt == ios_base::hex)
+ return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
+      else
+ return _M_insert(static_cast<long>(__n));
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    operator<<(int __n)
+    {
+
+
+      const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
+      if (__fmt == ios_base::oct || __fmt == ios_base::hex)
+ return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
+      else
+ return _M_insert(static_cast<long>(__n));
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    operator<<(__streambuf_type* __sbin)
+    {
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this);
+      if (__cerb && __sbin)
+ {
+   try
+     {
+       if (!__copy_streambufs(__sbin, this->rdbuf()))
+  __err |= ios_base::failbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::failbit); }
+ }
+      else if (!__sbin)
+ __err |= ios_base::badbit;
+      if (__err)
+ this->setstate(__err);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    put(char_type __c)
+    {
+
+
+
+
+
+
+      sentry __cerb(*this);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       const int_type __put = this->rdbuf()->sputc(__c);
+       if (traits_type::eq_int_type(__put, traits_type::eof()))
+  __err |= ios_base::badbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    write(const _CharT* __s, streamsize __n)
+    {
+
+
+
+
+
+
+
+      sentry __cerb(*this);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       if (this->rdbuf()->sputn(__s, __n) != __n)
+  __err = ios_base::badbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(ios_base::badbit);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    flush()
+    {
+
+
+
+
+
+      if (__streambuf_type* __buf = this->rdbuf())
+ {
+   sentry __cerb(*this);
+   if (__cerb)
+     {
+       ios_base::iostate __err = ios_base::goodbit;
+       try
+  {
+    if (this->rdbuf()->pubsync() == -1)
+      __err |= ios_base::badbit;
+  }
+       catch(__cxxabiv1::__forced_unwind&)
+  {
+    this->_M_setstate(ios_base::badbit);
+    throw;
+  }
+       catch(...)
+  { this->_M_setstate(ios_base::badbit); }
+       if (__err)
+  this->setstate(__err);
+     }
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    typename basic_ostream<_CharT, _Traits>::pos_type
+    basic_ostream<_CharT, _Traits>::
+    tellp()
+    {
+      sentry __cerb(*this);
+      pos_type __ret = pos_type(-1);
+      if (!this->fail())
+ __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    seekp(pos_type __pos)
+    {
+      sentry __cerb(*this);
+      if (!this->fail())
+ {
+
+
+   const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out);
+
+
+   if (__p == pos_type(off_type(-1)))
+     this->setstate(ios_base::failbit);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    basic_ostream<_CharT, _Traits>::
+    seekp(off_type __off, ios_base::seekdir __dir)
+    {
+      sentry __cerb(*this);
+      if (!this->fail())
+ {
+
+
+   const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
+        ios_base::out);
+
+
+   if (__p == pos_type(off_type(-1)))
+     this->setstate(ios_base::failbit);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_ostream<_CharT, _Traits>&
+    operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
+    {
+      if (!__s)
+ __out.setstate(ios_base::badbit);
+      else
+ {
+
+
+   const size_t __clen = char_traits<char>::length(__s);
+   try
+     {
+       struct __ptr_guard
+       {
+  _CharT *__p;
+  __ptr_guard (_CharT *__ip): __p(__ip) { }
+  ~__ptr_guard() { delete[] __p; }
+  _CharT* __get() { return __p; }
+       } __pg (new _CharT[__clen]);
+
+       _CharT *__ws = __pg.__get();
+       for (size_t __i = 0; __i < __clen; ++__i)
+  __ws[__i] = __out.widen(__s[__i]);
+       __ostream_insert(__out, __ws, __clen);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __out._M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { __out._M_setstate(ios_base::badbit); }
+ }
+      return __out;
+    }
+
+
+
+
+  extern template class basic_ostream<char>;
+  extern template ostream& endl(ostream&);
+  extern template ostream& ends(ostream&);
+  extern template ostream& flush(ostream&);
+  extern template ostream& operator<<(ostream&, char);
+  extern template ostream& operator<<(ostream&, unsigned char);
+  extern template ostream& operator<<(ostream&, signed char);
+  extern template ostream& operator<<(ostream&, const char*);
+  extern template ostream& operator<<(ostream&, const unsigned char*);
+  extern template ostream& operator<<(ostream&, const signed char*);
+
+  extern template ostream& ostream::_M_insert(long);
+  extern template ostream& ostream::_M_insert(unsigned long);
+  extern template ostream& ostream::_M_insert(bool);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+  extern template ostream& ostream::_M_insert(long long);
+  extern template ostream& ostream::_M_insert(unsigned long long);
+#pragma GCC diagnostic pop
+
+  extern template ostream& ostream::_M_insert(double);
+  extern template ostream& ostream::_M_insert(long double);
+  extern template ostream& ostream::_M_insert(const void*);
+
+
+  extern template class basic_ostream<wchar_t>;
+  extern template wostream& endl(wostream&);
+  extern template wostream& ends(wostream&);
+  extern template wostream& flush(wostream&);
+  extern template wostream& operator<<(wostream&, wchar_t);
+  extern template wostream& operator<<(wostream&, char);
+  extern template wostream& operator<<(wostream&, const wchar_t*);
+  extern template wostream& operator<<(wostream&, const char*);
+
+  extern template wostream& wostream::_M_insert(long);
+  extern template wostream& wostream::_M_insert(unsigned long);
+  extern template wostream& wostream::_M_insert(bool);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+  extern template wostream& wostream::_M_insert(long long);
+  extern template wostream& wostream::_M_insert(unsigned long long);
+#pragma GCC diagnostic pop
+
+  extern template wostream& wostream::_M_insert(double);
+  extern template wostream& wostream::_M_insert(long double);
+  extern template wostream& wostream::_M_insert(const void*);
+
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 295 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 2 3
+# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 2 3
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 1 3
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 61 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _CharT, typename _Traits>
+    class basic_istream : virtual public basic_ios<_CharT, _Traits>
+    {
+    public:
+
+      typedef _CharT char_type;
+      typedef typename _Traits::int_type int_type;
+      typedef typename _Traits::pos_type pos_type;
+      typedef typename _Traits::off_type off_type;
+      typedef _Traits traits_type;
+
+
+      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
+      typedef basic_ios<_CharT, _Traits> __ios_type;
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
+        __num_get_type;
+      typedef ctype<_CharT> __ctype_type;
+
+    protected:
+
+
+
+
+
+      streamsize _M_gcount;
+
+    public:
+
+
+
+
+
+
+
+      explicit
+      basic_istream(__streambuf_type* __sb)
+      : _M_gcount(streamsize(0))
+      { this->init(__sb); }
+
+
+
+
+
+
+      virtual
+      ~basic_istream()
+      { _M_gcount = streamsize(0); }
+
+
+      class sentry;
+      friend class sentry;
+# 123 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      operator>>(__istream_type& (*__pf)(__istream_type&))
+      { return __pf(*this); }
+
+      __istream_type&
+      operator>>(__ios_type& (*__pf)(__ios_type&))
+      {
+ __pf(*this);
+ return *this;
+      }
+
+      __istream_type&
+      operator>>(ios_base& (*__pf)(ios_base&))
+      {
+ __pf(*this);
+ return *this;
+      }
+# 171 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      operator>>(bool& __n)
+      { return _M_extract(__n); }
+
+      __istream_type&
+      operator>>(short& __n);
+
+      __istream_type&
+      operator>>(unsigned short& __n)
+      { return _M_extract(__n); }
+
+      __istream_type&
+      operator>>(int& __n);
+
+      __istream_type&
+      operator>>(unsigned int& __n)
+      { return _M_extract(__n); }
+
+      __istream_type&
+      operator>>(long& __n)
+      { return _M_extract(__n); }
+
+      __istream_type&
+      operator>>(unsigned long& __n)
+      { return _M_extract(__n); }
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+      __istream_type&
+      operator>>(long long& __n)
+      { return _M_extract(__n); }
+
+      __istream_type&
+      operator>>(unsigned long long& __n)
+      { return _M_extract(__n); }
+#pragma GCC diagnostic pop
+# 220 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      operator>>(float& __f)
+      { return _M_extract(__f); }
+
+      __istream_type&
+      operator>>(double& __f)
+      { return _M_extract(__f); }
+
+      __istream_type&
+      operator>>(long double& __f)
+      { return _M_extract(__f); }
+# 329 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      operator>>(void*& __p)
+      { return _M_extract(__p); }
+# 353 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      operator>>(__streambuf_type* __sb);
+# 363 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      streamsize
+      gcount() const
+      { return _M_gcount; }
+# 396 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      int_type
+      get();
+# 410 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      get(char_type& __c);
+# 437 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      get(char_type* __s, streamsize __n, char_type __delim);
+# 448 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      get(char_type* __s, streamsize __n)
+      { return this->get(__s, __n, this->widen('\n')); }
+# 471 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      get(__streambuf_type& __sb, char_type __delim);
+# 481 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      get(__streambuf_type& __sb)
+      { return this->get(__sb, this->widen('\n')); }
+# 510 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      getline(char_type* __s, streamsize __n, char_type __delim);
+# 521 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      getline(char_type* __s, streamsize __n)
+      { return this->getline(__s, __n, this->widen('\n')); }
+# 545 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      ignore(streamsize __n, int_type __delim);
+
+      __istream_type&
+      ignore(streamsize __n);
+
+      __istream_type&
+      ignore();
+# 562 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      int_type
+      peek();
+# 580 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      read(char_type* __s, streamsize __n);
+# 599 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      streamsize
+      readsome(char_type* __s, streamsize __n);
+# 616 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      putback(char_type __c);
+# 632 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      unget();
+# 650 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      int
+      sync();
+# 665 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      pos_type
+      tellg();
+# 680 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      seekg(pos_type);
+# 696 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      __istream_type&
+      seekg(off_type, ios_base::seekdir);
+
+
+    protected:
+      basic_istream()
+      : _M_gcount(streamsize(0))
+      { this->init(0); }
+
+
+      basic_istream(const basic_istream&) = delete;
+
+      basic_istream(basic_istream&& __rhs)
+      : __ios_type(), _M_gcount(__rhs._M_gcount)
+      {
+ __ios_type::move(__rhs);
+ __rhs._M_gcount = 0;
+      }
+
+
+
+      basic_istream& operator=(const basic_istream&) = delete;
+
+      basic_istream&
+      operator=(basic_istream&& __rhs)
+      {
+ swap(__rhs);
+ return *this;
+      }
+
+      void
+      swap(basic_istream& __rhs)
+      {
+ __ios_type::swap(__rhs);
+ std::swap(_M_gcount, __rhs._M_gcount);
+      }
+
+
+      template<typename _ValueT>
+ __istream_type&
+ _M_extract(_ValueT& __v);
+    };
+
+
+  template<>
+    basic_istream<char>&
+    basic_istream<char>::
+    getline(char_type* __s, streamsize __n, char_type __delim);
+
+  template<>
+    basic_istream<char>&
+    basic_istream<char>::
+    ignore(streamsize __n);
+
+  template<>
+    basic_istream<char>&
+    basic_istream<char>::
+    ignore(streamsize __n, int_type __delim);
+
+
+  template<>
+    basic_istream<wchar_t>&
+    basic_istream<wchar_t>::
+    getline(char_type* __s, streamsize __n, char_type __delim);
+
+  template<>
+    basic_istream<wchar_t>&
+    basic_istream<wchar_t>::
+    ignore(streamsize __n);
+
+  template<>
+    basic_istream<wchar_t>&
+    basic_istream<wchar_t>::
+    ignore(streamsize __n, int_type __delim);
+# 780 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _CharT, typename _Traits>
+    class basic_istream<_CharT, _Traits>::sentry
+    {
+
+      bool _M_ok;
+
+    public:
+
+      typedef _Traits traits_type;
+      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef typename __istream_type::__ctype_type __ctype_type;
+      typedef typename _Traits::int_type __int_type;
+# 816 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      explicit
+      sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
+# 827 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+      explicit
+
+      operator bool() const
+      { return _M_ok; }
+    };
+# 845 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
+
+  template<class _Traits>
+    inline basic_istream<char, _Traits>&
+    operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
+    { return (__in >> reinterpret_cast<char&>(__c)); }
+
+  template<class _Traits>
+    inline basic_istream<char, _Traits>&
+    operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
+    { return (__in >> reinterpret_cast<char&>(__c)); }
+
+
+
+  template<typename _CharT, typename _Traits>
+    void
+    __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize);
+
+  void __istream_extract(istream&, char*, streamsize);
+# 895 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _CharT, typename _Traits>
+    __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
+    inline basic_istream<_CharT, _Traits>&
+    operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
+    {
+# 929 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+ {
+
+   streamsize __n = __gnu_cxx::__numeric_traits<streamsize>::__max;
+   __n /= sizeof(_CharT);
+   std::__istream_extract(__in, __s, __n);
+ }
+      return __in;
+    }
+
+  template<class _Traits>
+    __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
+    inline basic_istream<char, _Traits>&
+    operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
+    { return __in >> reinterpret_cast<char*>(__s); }
+
+  template<class _Traits>
+    __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
+    inline basic_istream<char, _Traits>&
+    operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
+    { return __in >> reinterpret_cast<char*>(__s); }
+# 984 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _CharT, typename _Traits>
+    class basic_iostream
+    : public basic_istream<_CharT, _Traits>,
+      public basic_ostream<_CharT, _Traits>
+    {
+    public:
+
+
+
+      typedef _CharT char_type;
+      typedef typename _Traits::int_type int_type;
+      typedef typename _Traits::pos_type pos_type;
+      typedef typename _Traits::off_type off_type;
+      typedef _Traits traits_type;
+
+
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef basic_ostream<_CharT, _Traits> __ostream_type;
+
+
+
+
+
+
+
+      explicit
+      basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
+      : __istream_type(__sb), __ostream_type(__sb) { }
+
+
+
+
+      virtual
+      ~basic_iostream() { }
+
+    protected:
+      basic_iostream()
+      : __istream_type(), __ostream_type() { }
+
+
+      basic_iostream(const basic_iostream&) = delete;
+
+      basic_iostream(basic_iostream&& __rhs)
+      : __istream_type(std::move(__rhs)), __ostream_type(*this)
+      { }
+
+
+
+      basic_iostream& operator=(const basic_iostream&) = delete;
+
+      basic_iostream&
+      operator=(basic_iostream&& __rhs)
+      {
+ swap(__rhs);
+ return *this;
+      }
+
+      void
+      swap(basic_iostream& __rhs)
+      { __istream_type::swap(__rhs); }
+
+    };
+# 1067 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    ws(basic_istream<_CharT, _Traits>& __is);
+# 1083 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _Is, typename _Tp,
+    typename = _Require_derived_from_ios_base<_Is>,
+    typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())>
+    using __rvalue_stream_extraction_t = _Is&&;
+# 1099 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
+  template<typename _Istream, typename _Tp>
+    inline __rvalue_stream_extraction_t<_Istream, _Tp>
+    operator>>(_Istream&& __is, _Tp&& __x)
+    {
+      __is >> std::forward<_Tp>(__x);
+      return std::move(__is);
+    }
+
+
+
+}
+
+# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/istream.tcc" 1 3
+# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/istream.tcc" 3
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+
+
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>::sentry::
+    sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
+    {
+      ios_base::iostate __err = ios_base::goodbit;
+      if (__in.good())
+ {
+   try
+     {
+       if (__in.tie())
+  __in.tie()->flush();
+       if (!__noskip && bool(__in.flags() & ios_base::skipws))
+  {
+    const __int_type __eof = traits_type::eof();
+    __streambuf_type* __sb = __in.rdbuf();
+    __int_type __c = __sb->sgetc();
+
+    const __ctype_type& __ct = __check_facet(__in._M_ctype);
+    while (!traits_type::eq_int_type(__c, __eof)
+    && __ct.is(ctype_base::space,
+        traits_type::to_char_type(__c)))
+      __c = __sb->snextc();
+
+
+
+
+    if (traits_type::eq_int_type(__c, __eof))
+      __err |= ios_base::eofbit;
+  }
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __in._M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { __in._M_setstate(ios_base::badbit); }
+ }
+
+      if (__in.good() && __err == ios_base::goodbit)
+ _M_ok = true;
+      else
+ {
+   __err |= ios_base::failbit;
+   __in.setstate(__err);
+ }
+    }
+
+  template<typename _CharT, typename _Traits>
+    template<typename _ValueT>
+      basic_istream<_CharT, _Traits>&
+      basic_istream<_CharT, _Traits>::
+      _M_extract(_ValueT& __v)
+      {
+ sentry __cerb(*this, false);
+ if (__cerb)
+   {
+     ios_base::iostate __err = ios_base::goodbit;
+     try
+       {
+
+  const __num_get_type& __ng = __check_facet(this->_M_num_get);
+
+
+
+
+  __ng.get(*this, 0, *this, __err, __v);
+       }
+     catch(__cxxabiv1::__forced_unwind&)
+       {
+  this->_M_setstate(ios_base::badbit);
+  throw;
+       }
+     catch(...)
+       { this->_M_setstate(ios_base::badbit); }
+     if (__err)
+       this->setstate(__err);
+   }
+ return *this;
+      }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    operator>>(short& __n)
+    {
+
+
+      sentry __cerb(*this, false);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       long __l;
+
+       const __num_get_type& __ng = __check_facet(this->_M_num_get);
+
+
+
+
+       __ng.get(*this, 0, *this, __err, __l);
+
+
+
+       if (__l < __gnu_cxx::__numeric_traits<short>::__min)
+  {
+    __err |= ios_base::failbit;
+    __n = __gnu_cxx::__numeric_traits<short>::__min;
+  }
+       else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
+  {
+    __err |= ios_base::failbit;
+    __n = __gnu_cxx::__numeric_traits<short>::__max;
+  }
+       else
+  __n = short(__l);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    operator>>(int& __n)
+    {
+
+
+      sentry __cerb(*this, false);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       long __l;
+
+       const __num_get_type& __ng = __check_facet(this->_M_num_get);
+
+
+
+
+       __ng.get(*this, 0, *this, __err, __l);
+
+
+
+       if (__l < __gnu_cxx::__numeric_traits<int>::__min)
+  {
+    __err |= ios_base::failbit;
+    __n = __gnu_cxx::__numeric_traits<int>::__min;
+  }
+       else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
+  {
+    __err |= ios_base::failbit;
+    __n = __gnu_cxx::__numeric_traits<int>::__max;
+  }
+       else
+  __n = int(__l);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    operator>>(__streambuf_type* __sbout)
+    {
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this, false);
+      if (__cerb && __sbout)
+ {
+   try
+     {
+       bool __ineof;
+       if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
+  __err |= ios_base::failbit;
+       if (__ineof)
+  __err |= ios_base::eofbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::failbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::failbit); }
+ }
+      else if (!__sbout)
+ __err |= ios_base::failbit;
+      if (__err)
+ this->setstate(__err);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    typename basic_istream<_CharT, _Traits>::int_type
+    basic_istream<_CharT, _Traits>::
+    get(void)
+    {
+      const int_type __eof = traits_type::eof();
+      int_type __c = __eof;
+      _M_gcount = 0;
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   try
+     {
+       __c = this->rdbuf()->sbumpc();
+
+       if (!traits_type::eq_int_type(__c, __eof))
+  _M_gcount = 1;
+       else
+  __err |= ios_base::eofbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+ }
+      if (!_M_gcount)
+ __err |= ios_base::failbit;
+      if (__err)
+ this->setstate(__err);
+      return __c;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    get(char_type& __c)
+    {
+      _M_gcount = 0;
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   try
+     {
+       const int_type __cb = this->rdbuf()->sbumpc();
+
+       if (!traits_type::eq_int_type(__cb, traits_type::eof()))
+  {
+    _M_gcount = 1;
+    __c = traits_type::to_char_type(__cb);
+  }
+       else
+  __err |= ios_base::eofbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+ }
+      if (!_M_gcount)
+ __err |= ios_base::failbit;
+      if (__err)
+ this->setstate(__err);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    get(char_type* __s, streamsize __n, char_type __delim)
+    {
+      _M_gcount = 0;
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   try
+     {
+       const int_type __idelim = traits_type::to_int_type(__delim);
+       const int_type __eof = traits_type::eof();
+       __streambuf_type* __sb = this->rdbuf();
+       int_type __c = __sb->sgetc();
+
+       while (_M_gcount + 1 < __n
+       && !traits_type::eq_int_type(__c, __eof)
+       && !traits_type::eq_int_type(__c, __idelim))
+  {
+    *__s++ = traits_type::to_char_type(__c);
+    ++_M_gcount;
+    __c = __sb->snextc();
+  }
+       if (traits_type::eq_int_type(__c, __eof))
+  __err |= ios_base::eofbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+ }
+
+
+      if (__n > 0)
+ *__s = char_type();
+      if (!_M_gcount)
+ __err |= ios_base::failbit;
+      if (__err)
+ this->setstate(__err);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    get(__streambuf_type& __sb, char_type __delim)
+    {
+      _M_gcount = 0;
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   try
+     {
+       const int_type __idelim = traits_type::to_int_type(__delim);
+       const int_type __eof = traits_type::eof();
+       __streambuf_type* __this_sb = this->rdbuf();
+       int_type __c = __this_sb->sgetc();
+       char_type __c2 = traits_type::to_char_type(__c);
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+       unsigned long long __gcount = 0;
+#pragma GCC diagnostic pop
+
+       while (!traits_type::eq_int_type(__c, __eof)
+       && !traits_type::eq_int_type(__c, __idelim)
+       && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
+  {
+    ++__gcount;
+    __c = __this_sb->snextc();
+    __c2 = traits_type::to_char_type(__c);
+  }
+       if (traits_type::eq_int_type(__c, __eof))
+  __err |= ios_base::eofbit;
+
+
+       if (__gcount <= __gnu_cxx::__numeric_traits<streamsize>::__max)
+  _M_gcount = __gcount;
+       else
+  _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+ }
+      if (!_M_gcount)
+ __err |= ios_base::failbit;
+      if (__err)
+ this->setstate(__err);
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    getline(char_type* __s, streamsize __n, char_type __delim)
+    {
+      _M_gcount = 0;
+      ios_base::iostate __err = ios_base::goodbit;
+      sentry __cerb(*this, true);
+      if (__cerb)
+        {
+          try
+            {
+              const int_type __idelim = traits_type::to_int_type(__delim);
+              const int_type __eof = traits_type::eof();
+              __streambuf_type* __sb = this->rdbuf();
+              int_type __c = __sb->sgetc();
+
+              while (_M_gcount + 1 < __n
+                     && !traits_type::eq_int_type(__c, __eof)
+                     && !traits_type::eq_int_type(__c, __idelim))
+                {
+                  *__s++ = traits_type::to_char_type(__c);
+                  __c = __sb->snextc();
+                  ++_M_gcount;
+                }
+              if (traits_type::eq_int_type(__c, __eof))
+                __err |= ios_base::eofbit;
+              else
+                {
+                  if (traits_type::eq_int_type(__c, __idelim))
+                    {
+                      __sb->sbumpc();
+                      ++_M_gcount;
+                    }
+                  else
+                    __err |= ios_base::failbit;
+                }
+            }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+          catch(...)
+            { this->_M_setstate(ios_base::badbit); }
+        }
+
+
+      if (__n > 0)
+ *__s = char_type();
+      if (!_M_gcount)
+        __err |= ios_base::failbit;
+      if (__err)
+        this->setstate(__err);
+      return *this;
+    }
+
+
+
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    ignore(void)
+    {
+      _M_gcount = 0;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       const int_type __eof = traits_type::eof();
+       __streambuf_type* __sb = this->rdbuf();
+
+       if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
+  __err |= ios_base::eofbit;
+       else
+  _M_gcount = 1;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    ignore(streamsize __n)
+    {
+      _M_gcount = 0;
+      sentry __cerb(*this, true);
+      if (__cerb && __n > 0)
+        {
+          ios_base::iostate __err = ios_base::goodbit;
+          try
+            {
+              const int_type __eof = traits_type::eof();
+              __streambuf_type* __sb = this->rdbuf();
+              int_type __c = __sb->sgetc();
+# 553 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/istream.tcc" 3
+       bool __large_ignore = false;
+       while (true)
+  {
+    while (_M_gcount < __n
+    && !traits_type::eq_int_type(__c, __eof))
+      {
+        ++_M_gcount;
+        __c = __sb->snextc();
+      }
+    if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
+        && !traits_type::eq_int_type(__c, __eof))
+      {
+        _M_gcount =
+   __gnu_cxx::__numeric_traits<streamsize>::__min;
+        __large_ignore = true;
+      }
+    else
+      break;
+  }
+
+       if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
+  {
+    if (__large_ignore)
+      _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
+
+    if (traits_type::eq_int_type(__c, __eof))
+      __err |= ios_base::eofbit;
+  }
+       else if (_M_gcount < __n)
+  {
+    if (traits_type::eq_int_type(__c, __eof))
+      __err |= ios_base::eofbit;
+  }
+            }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+          catch(...)
+            { this->_M_setstate(ios_base::badbit); }
+          if (__err)
+            this->setstate(__err);
+        }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    ignore(streamsize __n, int_type __delim)
+    {
+      _M_gcount = 0;
+      sentry __cerb(*this, true);
+      if (__cerb && __n > 0)
+        {
+          ios_base::iostate __err = ios_base::goodbit;
+          try
+            {
+              const int_type __eof = traits_type::eof();
+              __streambuf_type* __sb = this->rdbuf();
+              int_type __c = __sb->sgetc();
+
+
+       bool __large_ignore = false;
+       while (true)
+  {
+    while (_M_gcount < __n
+    && !traits_type::eq_int_type(__c, __eof)
+    && !traits_type::eq_int_type(__c, __delim))
+      {
+        ++_M_gcount;
+        __c = __sb->snextc();
+      }
+    if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
+        && !traits_type::eq_int_type(__c, __eof)
+        && !traits_type::eq_int_type(__c, __delim))
+      {
+        _M_gcount =
+   __gnu_cxx::__numeric_traits<streamsize>::__min;
+        __large_ignore = true;
+      }
+    else
+      break;
+  }
+
+       if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
+  {
+    if (__large_ignore)
+      _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
+
+    if (traits_type::eq_int_type(__c, __eof))
+      __err |= ios_base::eofbit;
+    else
+      {
+        if (_M_gcount != __n)
+   ++_M_gcount;
+        __sb->sbumpc();
+      }
+  }
+       else if (_M_gcount < __n)
+  {
+    if (traits_type::eq_int_type(__c, __eof))
+      __err |= ios_base::eofbit;
+    else
+      {
+        ++_M_gcount;
+        __sb->sbumpc();
+      }
+  }
+            }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+          catch(...)
+            { this->_M_setstate(ios_base::badbit); }
+          if (__err)
+            this->setstate(__err);
+        }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    typename basic_istream<_CharT, _Traits>::int_type
+    basic_istream<_CharT, _Traits>::
+    peek(void)
+    {
+      int_type __c = traits_type::eof();
+      _M_gcount = 0;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       __c = this->rdbuf()->sgetc();
+       if (traits_type::eq_int_type(__c, traits_type::eof()))
+  __err |= ios_base::eofbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return __c;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    read(char_type* __s, streamsize __n)
+    {
+      _M_gcount = 0;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       _M_gcount = this->rdbuf()->sgetn(__s, __n);
+       if (_M_gcount != __n)
+  __err |= (ios_base::eofbit | ios_base::failbit);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    streamsize
+    basic_istream<_CharT, _Traits>::
+    readsome(char_type* __s, streamsize __n)
+    {
+      _M_gcount = 0;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+
+       const streamsize __num = this->rdbuf()->in_avail();
+       if (__num > 0)
+  _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
+       else if (__num == -1)
+  __err |= ios_base::eofbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return _M_gcount;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    putback(char_type __c)
+    {
+
+
+      _M_gcount = 0;
+
+      this->clear(this->rdstate() & ~ios_base::eofbit);
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       const int_type __eof = traits_type::eof();
+       __streambuf_type* __sb = this->rdbuf();
+       if (!__sb
+    || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
+  __err |= ios_base::badbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    unget(void)
+    {
+
+
+      _M_gcount = 0;
+
+      this->clear(this->rdstate() & ~ios_base::eofbit);
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       const int_type __eof = traits_type::eof();
+       __streambuf_type* __sb = this->rdbuf();
+       if (!__sb
+    || traits_type::eq_int_type(__sb->sungetc(), __eof))
+  __err |= ios_base::badbit;
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    int
+    basic_istream<_CharT, _Traits>::
+    sync(void)
+    {
+
+
+      int __ret = -1;
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       __streambuf_type* __sb = this->rdbuf();
+       if (__sb)
+  {
+    if (__sb->pubsync() == -1)
+      __err |= ios_base::badbit;
+    else
+      __ret = 0;
+  }
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    typename basic_istream<_CharT, _Traits>::pos_type
+    basic_istream<_CharT, _Traits>::
+    tellg(void)
+    {
+
+
+      pos_type __ret = pos_type(-1);
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   try
+     {
+       if (!this->fail())
+  __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
+        ios_base::in);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+ }
+      return __ret;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    seekg(pos_type __pos)
+    {
+
+
+
+      this->clear(this->rdstate() & ~ios_base::eofbit);
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       if (!this->fail())
+  {
+
+    const pos_type __p = this->rdbuf()->pubseekpos(__pos,
+         ios_base::in);
+
+
+    if (__p == pos_type(off_type(-1)))
+      __err |= ios_base::failbit;
+  }
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    basic_istream<_CharT, _Traits>::
+    seekg(off_type __off, ios_base::seekdir __dir)
+    {
+
+
+
+      this->clear(this->rdstate() & ~ios_base::eofbit);
+      sentry __cerb(*this, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       if (!this->fail())
+  {
+
+    const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
+         ios_base::in);
+
+
+    if (__p == pos_type(off_type(-1)))
+      __err |= ios_base::failbit;
+  }
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       this->_M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { this->_M_setstate(ios_base::badbit); }
+   if (__err)
+     this->setstate(__err);
+ }
+      return *this;
+    }
+
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
+    {
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef typename __istream_type::int_type __int_type;
+
+      typename __istream_type::sentry __cerb(__in, false);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       const __int_type __cb = __in.rdbuf()->sbumpc();
+       if (!_Traits::eq_int_type(__cb, _Traits::eof()))
+  __c = _Traits::to_char_type(__cb);
+       else
+  __err |= (ios_base::eofbit | ios_base::failbit);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __in._M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { __in._M_setstate(ios_base::badbit); }
+   if (__err)
+     __in.setstate(__err);
+ }
+      return __in;
+    }
+
+  template<typename _CharT, typename _Traits>
+    void
+    __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s,
+        streamsize __num)
+    {
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
+      typedef typename _Traits::int_type int_type;
+      typedef _CharT char_type;
+      typedef ctype<_CharT> __ctype_type;
+
+      streamsize __extracted = 0;
+      ios_base::iostate __err = ios_base::goodbit;
+      typename __istream_type::sentry __cerb(__in, false);
+      if (__cerb)
+ {
+   try
+     {
+
+       streamsize __width = __in.width();
+       if (0 < __width && __width < __num)
+  __num = __width;
+
+       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
+
+       const int_type __eof = _Traits::eof();
+       __streambuf_type* __sb = __in.rdbuf();
+       int_type __c = __sb->sgetc();
+
+       while (__extracted < __num - 1
+       && !_Traits::eq_int_type(__c, __eof)
+       && !__ct.is(ctype_base::space,
+     _Traits::to_char_type(__c)))
+  {
+    *__s++ = _Traits::to_char_type(__c);
+    ++__extracted;
+    __c = __sb->snextc();
+  }
+
+       if (__extracted < __num - 1
+    && _Traits::eq_int_type(__c, __eof))
+  __err |= ios_base::eofbit;
+
+
+
+       *__s = char_type();
+       __in.width(0);
+     }
+   catch(__cxxabiv1::__forced_unwind&)
+     {
+       __in._M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     { __in._M_setstate(ios_base::badbit); }
+ }
+      if (!__extracted)
+ __err |= ios_base::failbit;
+      if (__err)
+ __in.setstate(__err);
+    }
+
+
+  template<typename _CharT, typename _Traits>
+    basic_istream<_CharT, _Traits>&
+    ws(basic_istream<_CharT, _Traits>& __in)
+    {
+      typedef basic_istream<_CharT, _Traits> __istream_type;
+      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
+      typedef typename __istream_type::int_type __int_type;
+      typedef ctype<_CharT> __ctype_type;
+
+
+
+      typename __istream_type::sentry __cerb(__in, true);
+      if (__cerb)
+ {
+   ios_base::iostate __err = ios_base::goodbit;
+   try
+     {
+       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
+       const __int_type __eof = _Traits::eof();
+       __streambuf_type* __sb = __in.rdbuf();
+       __int_type __c = __sb->sgetc();
+
+       while (true)
+  {
+    if (_Traits::eq_int_type(__c, __eof))
+      {
+        __err = ios_base::eofbit;
+        break;
+      }
+    if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
+      break;
+    __c = __sb->snextc();
+  }
+     }
+   catch(const __cxxabiv1::__forced_unwind&)
+     {
+       __in._M_setstate(ios_base::badbit);
+       throw;
+     }
+   catch(...)
+     {
+       __in._M_setstate(ios_base::badbit);
+     }
+   if (__err)
+     __in.setstate(__err);
+ }
+      return __in;
+    }
+
+
+
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wc++11-extensions"
+#pragma GCC diagnostic ignored "-Wlong-long"
+  extern template class basic_istream<char>;
+  extern template istream& ws(istream&);
+  extern template istream& operator>>(istream&, char&);
+  extern template istream& operator>>(istream&, unsigned char&);
+  extern template istream& operator>>(istream&, signed char&);
+
+  extern template istream& istream::_M_extract(unsigned short&);
+  extern template istream& istream::_M_extract(unsigned int&);
+  extern template istream& istream::_M_extract(long&);
+  extern template istream& istream::_M_extract(unsigned long&);
+  extern template istream& istream::_M_extract(bool&);
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wlong-long"
+  extern template istream& istream::_M_extract(long long&);
+  extern template istream& istream::_M_extract(unsigned long long&);
+#pragma GCC diagnostic pop
+
+  extern template istream& istream::_M_extract(float&);
+  extern template istream& istream::_M_extract(double&);
+  extern template istream& istream::_M_extract(long double&);
+  extern template istream& istream::_M_extract(void*&);
+
+  extern template class basic_iostream<char>;
+
+
+  extern template class basic_istream<wchar_t>;
+  extern template wistream& ws(wistream&);
+  extern template wistream& operator>>(wistream&, wchar_t&);
+  extern template void __istream_extract(wistream&, wchar_t*, streamsize);
+
+  extern template wistream& wistream::_M_extract(unsigned short&);
+  extern template wistream& wistream::_M_extract(unsigned int&);
+  extern template wistream& wistream::_M_extract(long&);
+  extern template wistream& wistream::_M_extract(unsigned long&);
+  extern template wistream& wistream::_M_extract(bool&);
+
+  extern template wistream& wistream::_M_extract(long long&);
+  extern template wistream& wistream::_M_extract(unsigned long long&);
+
+  extern template wistream& wistream::_M_extract(float&);
+  extern template wistream& wistream::_M_extract(double&);
+  extern template wistream& wistream::_M_extract(long double&);
+  extern template wistream& wistream::_M_extract(void*&);
+
+  extern template class basic_iostream<wchar_t>;
+
+#pragma GCC diagnostic pop
+
+
+
+}
+
+#pragma GCC diagnostic pop
+# 1112 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 2 3
+# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 2 3
+
+namespace std __attribute__ ((__visibility__ ("default")))
+{
+# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 3
+  extern istream cin;
+  extern ostream cout;
+  extern ostream cerr;
+  extern ostream clog;
+
+
+  extern wistream wcin;
+  extern wostream wcout;
+  extern wostream wcerr;
+  extern wostream wclog;
+# 84 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 3
+  __extension__ __asm (".globl _ZSt21ios_base_library_initv");
+
+
+
+}
+# 10 "bigscience.cc" 2
+
+# 1 "./HotScience.hh" 1
+
+
+
+
+
+
+# 1 "./Science.hh" 1
+
+
+
+
+
+
+class Science
+{
+
+public:
+   double init_value;
+
+   virtual void compute(double *x, int N) { };
+};
+# 8 "./HotScience.hh" 2
+
+class HotScience : public Science
+{
+
+public:
+    void compute(double *x, int N);
+
+};
+# 12 "bigscience.cc" 2
+
+using namespace std;
+
+#pragma omp requires unified_shared_memory
+
+int main(int argc, char *argv[]){
+
+   HotScience myscienceclass;
+
+   int N=10000;
+   double *x = new double[N];
+
+#pragma omp target teams loop
+   for (int k = 0; k < N; k++){
+      myscienceclass.compute(&x[k], N);
+   }
+
+   cout << "Array value is " << x[0] << endl;
+   cout << "Finished calculation" << endl;
+
+   delete[] x;
+}

>From 1e021ef63d6de5038ce979c7ebc9505964a67eb4 Mon Sep 17 00:00:00 2001
From: Patrick Simmons <patrick.simmons at amd.com>
Date: Fri, 12 Jun 2026 11:24:54 -0500
Subject: [PATCH 5/5] Review fixups

---
 clang/lib/CodeGen/CGOpenMPRuntime.cpp         |     2 +-
 .../OpenMP/openmp_offload_weak_vtables.cpp    | 36871 ----------------
 2 files changed, 1 insertion(+), 36872 deletions(-)

diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
index ab36b7b8d0c5b..5ff6500ce1ccb 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp
@@ -1849,10 +1849,10 @@ void CGOpenMPRuntime::emitAndRegisterVTable(CodeGenModule &CGM,
       CGM.EmitVTable(CXXRecord);
       CodeGenVTables VTables = CGM.getVTables();
       llvm::GlobalVariable *VTablesAddr = VTables.GetAddrOfVTable(CXXRecord);
+      assert(VTablesAddr && "Expected non-null VTable address");
       // Must set VTables to weak since we're emitting them in multiple TUs now
       if (VTablesAddr->hasExternalLinkage())
         VTablesAddr->setLinkage(llvm::GlobalValue::WeakODRLinkage);
-      assert(VTablesAddr && "Expected non-null VTable address");
       CGM.getOpenMPRuntime().registerVTableOffloadEntry(VTablesAddr, VD);
       // Emit VTable for all the fields containing dynamic CXXRecord
       for (const FieldDecl *Field : CXXRecord->fields()) {
diff --git a/clang/test/OpenMP/openmp_offload_weak_vtables.cpp b/clang/test/OpenMP/openmp_offload_weak_vtables.cpp
index d93252d96123a..283c7f6fd8f88 100644
--- a/clang/test/OpenMP/openmp_offload_weak_vtables.cpp
+++ b/clang/test/OpenMP/openmp_offload_weak_vtables.cpp
@@ -1,36869 +1,5 @@
 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -aux-triple amdgcn-amd-amdhsa -emit-llvm -disable-free -clear-ast-before-backend -main-file-name bigscience.i -mrelocation-model static -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -Wno-openmp-mapping -fdeprecated-macro -ferror-limit 19 -fmessage-length=190 -fopenmp --offload-new-driver -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics --offload-targets=amdgcn-amd-amdhsa -faddrsig -fdwarf2-cfi-asm -o - -x c++-cpp-output %s | FileCheck %s
 // CHECK: weak_odr
-# 1 "bigscience.cc"
-# 1 "<built-in>" 1
-# 1 "<built-in>" 3
-# 479 "<built-in>" 3
-# 1 "<command line>" 1
-# 1 "<built-in>" 2
-# 1 "bigscience.cc" 2
-
-
-
-
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/requires_hosted.h" 1 3
-# 31 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/requires_hosted.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 1 3
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wvariadic-macros"
-
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-#pragma GCC diagnostic ignored "-Wc++23-extensions"
-# 336 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-namespace std
-{
-  typedef long unsigned int size_t;
-  typedef long int ptrdiff_t;
-
-
-  typedef decltype(nullptr) nullptr_t;
-
-
-#pragma GCC visibility push(default)
-
-
-  extern "C++" __attribute__ ((__noreturn__, __always_inline__))
-  inline void __terminate() noexcept
-  {
-    void terminate() noexcept __attribute__ ((__noreturn__,__cold__));
-    terminate();
-  }
-#pragma GCC visibility pop
-}
-# 369 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-namespace std
-{
-  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
-}
-namespace __gnu_cxx
-{
-  inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
-}
-# 573 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-namespace std
-{
-#pragma GCC visibility push(default)
-
-
-
-
-  __attribute__((__always_inline__))
-  constexpr inline bool
-  __is_constant_evaluated() noexcept
-  {
-
-
-
-
-
-    return __builtin_is_constant_evaluated();
-
-
-
-  }
-#pragma GCC visibility pop
-}
-# 617 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-namespace std
-{
-#pragma GCC visibility push(default)
-
-  extern "C++" __attribute__ ((__noreturn__)) __attribute__((__cold__))
-  void
-  __glibcxx_assert_fail
-    (const char* __file, int __line, const char* __function,
-     const char* __condition)
-  noexcept;
-#pragma GCC visibility pop
-}
-# 727 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/os_defines.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/os_defines.h" 3
-# 1 "/usr/include/features.h" 1 3 4
-# 415 "/usr/include/features.h" 3 4
-# 1 "/usr/include/features-time64.h" 1 3 4
-# 20 "/usr/include/features-time64.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 21 "/usr/include/features-time64.h" 2 3 4
-# 1 "/usr/include/bits/timesize.h" 1 3 4
-# 19 "/usr/include/bits/timesize.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 20 "/usr/include/bits/timesize.h" 2 3 4
-# 22 "/usr/include/features-time64.h" 2 3 4
-# 416 "/usr/include/features.h" 2 3 4
-# 502 "/usr/include/features.h" 3 4
-# 1 "/usr/include/stdc-predef.h" 1 3 4
-# 503 "/usr/include/features.h" 2 3 4
-# 524 "/usr/include/features.h" 3 4
-# 1 "/usr/include/sys/cdefs.h" 1 3 4
-# 730 "/usr/include/sys/cdefs.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 731 "/usr/include/sys/cdefs.h" 2 3 4
-# 1 "/usr/include/bits/long-double.h" 1 3 4
-# 732 "/usr/include/sys/cdefs.h" 2 3 4
-# 525 "/usr/include/features.h" 2 3 4
-# 548 "/usr/include/features.h" 3 4
-# 1 "/usr/include/gnu/stubs.h" 1 3 4
-# 10 "/usr/include/gnu/stubs.h" 3 4
-# 1 "/usr/include/gnu/stubs-64.h" 1 3 4
-# 11 "/usr/include/gnu/stubs.h" 2 3 4
-# 549 "/usr/include/features.h" 2 3 4
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/os_defines.h" 2 3
-# 728 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/cpu_defines.h" 1 3
-# 731 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 2 3
-# 949 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/pstl/pstl_config.h" 1 3
-# 950 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++config.h" 2 3
-
-
-
-#pragma GCC diagnostic pop
-# 32 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/requires_hosted.h" 2 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memoryfwd.h" 1 3
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memoryfwd.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memoryfwd.h" 3
-  template<typename>
-    class allocator;
-
-  template<>
-    class allocator<void>;
-
-
-
-  template<typename, typename>
-    struct uses_allocator;
-
-  template<typename>
-    struct allocator_traits;
-
-
-
-
-
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 54 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 3
-  template<class _CharT>
-    struct char_traits;
-
-  template<> struct char_traits<char>;
-
-  template<> struct char_traits<wchar_t>;
-
-
-
-
-
-
-  template<> struct char_traits<char16_t>;
-  template<> struct char_traits<char32_t>;
-
-
-namespace __cxx11 {
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT>,
-           typename _Alloc = allocator<_CharT> >
-    class basic_string;
-
-}
-
-
-  typedef basic_string<char> string;
-
-
-  typedef basic_string<wchar_t> wstring;
-# 91 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stringfwd.h" 3
-  typedef basic_string<char16_t> u16string;
-
-
-  typedef basic_string<char32_t> u32string;
-
-
-
-
-
-}
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 1 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
-# 1 "/usr/include/wchar.h" 1 3 4
-# 27 "/usr/include/wchar.h" 3 4
-# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
-# 28 "/usr/include/wchar.h" 2 3 4
-
-
-# 1 "/usr/include/bits/floatn.h" 1 3 4
-# 79 "/usr/include/bits/floatn.h" 3 4
-typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
-# 93 "/usr/include/bits/floatn.h" 3 4
-typedef __float128 _Float128;
-# 127 "/usr/include/bits/floatn.h" 3 4
-# 1 "/usr/include/bits/floatn-common.h" 1 3 4
-# 24 "/usr/include/bits/floatn-common.h" 3 4
-# 1 "/usr/include/bits/long-double.h" 1 3 4
-# 25 "/usr/include/bits/floatn-common.h" 2 3 4
-# 214 "/usr/include/bits/floatn-common.h" 3 4
-typedef float _Float32;
-# 251 "/usr/include/bits/floatn-common.h" 3 4
-typedef double _Float64;
-# 268 "/usr/include/bits/floatn-common.h" 3 4
-typedef double _Float32x;
-# 285 "/usr/include/bits/floatn-common.h" 3 4
-typedef long double _Float64x;
-# 128 "/usr/include/bits/floatn.h" 2 3 4
-# 31 "/usr/include/wchar.h" 2 3 4
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 18 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 3 4
-typedef long unsigned int size_t;
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 4
-# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 36 "/usr/include/wchar.h" 2 3 4
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 1 3 4
-# 51 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stdarg___gnuc_va_list.h" 1 3 4
-# 12 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stdarg___gnuc_va_list.h" 3 4
-typedef __builtin_va_list __gnuc_va_list;
-# 52 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 2 3 4
-# 39 "/usr/include/wchar.h" 2 3 4
-
-
-
-
-typedef __gnuc_va_list va_list;
-
-
-
-
-
-
-
-# 1 "/usr/include/bits/wchar.h" 1 3 4
-# 52 "/usr/include/wchar.h" 2 3 4
-# 1 "/usr/include/bits/types/wint_t.h" 1 3 4
-# 20 "/usr/include/bits/types/wint_t.h" 3 4
-typedef unsigned int wint_t;
-# 53 "/usr/include/wchar.h" 2 3 4
-# 1 "/usr/include/bits/types/mbstate_t.h" 1 3 4
-
-
-
-# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4
-# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4
-typedef struct
-{
-  int __count;
-  union
-  {
-    unsigned int __wch;
-    char __wchb[4];
-  } __value;
-} __mbstate_t;
-# 5 "/usr/include/bits/types/mbstate_t.h" 2 3 4
-
-typedef __mbstate_t mbstate_t;
-# 54 "/usr/include/wchar.h" 2 3 4
-# 1 "/usr/include/bits/types/__FILE.h" 1 3 4
-
-
-
-struct _IO_FILE;
-typedef struct _IO_FILE __FILE;
-# 55 "/usr/include/wchar.h" 2 3 4
-
-
-# 1 "/usr/include/bits/types/FILE.h" 1 3 4
-
-
-
-struct _IO_FILE;
-
-
-typedef struct _IO_FILE FILE;
-# 58 "/usr/include/wchar.h" 2 3 4
-
-
-# 1 "/usr/include/bits/types/locale_t.h" 1 3 4
-# 22 "/usr/include/bits/types/locale_t.h" 3 4
-# 1 "/usr/include/bits/types/__locale_t.h" 1 3 4
-# 27 "/usr/include/bits/types/__locale_t.h" 3 4
-struct __locale_struct
-{
-
-  struct __locale_data *__locales[13];
-
-
-  const unsigned short int *__ctype_b;
-  const int *__ctype_tolower;
-  const int *__ctype_toupper;
-
-
-  const char *__names[13];
-};
-
-typedef struct __locale_struct *__locale_t;
-# 23 "/usr/include/bits/types/locale_t.h" 2 3 4
-
-typedef __locale_t locale_t;
-# 61 "/usr/include/wchar.h" 2 3 4
-# 90 "/usr/include/wchar.h" 3 4
-extern "C" {
-
-
-
-struct tm;
-
-
-
-extern wchar_t *wcscpy (wchar_t *__restrict __dest,
-   const wchar_t *__restrict __src)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
-    const wchar_t *__restrict __src, size_t __n)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-extern size_t wcslcpy (wchar_t *__restrict __dest,
-         const wchar_t *__restrict __src, size_t __n)
-  noexcept (true) __attribute__ ((__nonnull__ (1, 2))) ;
-
-
-
-extern size_t wcslcat (wchar_t *__restrict __dest,
-         const wchar_t *__restrict __src, size_t __n)
-  noexcept (true) __attribute__ ((__nonnull__ (1, 2))) ;
-
-
-
-extern wchar_t *wcscat (wchar_t *__restrict __dest,
-   const wchar_t *__restrict __src)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-extern wchar_t *wcsncat (wchar_t *__restrict __dest,
-    const wchar_t *__restrict __src, size_t __n)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
-
-
-extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
-   size_t __n) noexcept (true);
-
-
-
-extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
-    locale_t __loc) noexcept (true);
-
-extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
-     size_t __n, locale_t __loc) noexcept (true);
-
-
-
-
-extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) noexcept (true);
-
-
-
-extern size_t wcsxfrm (wchar_t *__restrict __s1,
-         const wchar_t *__restrict __s2, size_t __n) noexcept (true);
-
-
-
-
-
-
-
-extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
-        locale_t __loc) noexcept (true);
-
-
-
-
-extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
-    size_t __n, locale_t __loc) noexcept (true);
-
-
-extern wchar_t *wcsdup (const wchar_t *__s) noexcept (true)
-  __attribute__ ((__malloc__)) ;
-# 189 "/usr/include/wchar.h" 3 4
-extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
-     noexcept (true) __attribute__ ((__pure__));
-# 199 "/usr/include/wchar.h" 3 4
-extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-
-
-
-extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-
-
-extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
-     noexcept (true) __attribute__ ((__pure__));
-# 226 "/usr/include/wchar.h" 3 4
-extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept)
-     noexcept (true) __attribute__ ((__pure__));
-# 237 "/usr/include/wchar.h" 3 4
-extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-
-extern wchar_t *wcstok (wchar_t *__restrict __s,
-   const wchar_t *__restrict __delim,
-   wchar_t **__restrict __ptr) noexcept (true);
-
-
-extern size_t wcslen (const wchar_t *__s) noexcept (true) __attribute__ ((__pure__));
-# 258 "/usr/include/wchar.h" 3 4
-extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-
-
-
-extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
-     noexcept (true) __attribute__ ((__pure__));
-# 278 "/usr/include/wchar.h" 3 4
-extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-
-extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
-     noexcept (true) __attribute__ ((__pure__));
-
-
-extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
-    const wchar_t *__restrict __s2, size_t __n) noexcept (true);
-
-
-
-extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
-     noexcept (true);
-
-
-extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) noexcept (true);
-
-
-
-
-extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
-     const wchar_t *__restrict __s2, size_t __n)
-     noexcept (true);
-
-
-
-
-
-extern wint_t btowc (int __c) noexcept (true);
-
-
-
-extern int wctob (wint_t __c) noexcept (true);
-
-
-
-extern int mbsinit (const mbstate_t *__ps) noexcept (true) __attribute__ ((__pure__));
-
-
-
-extern size_t mbrtowc (wchar_t *__restrict __pwc,
-         const char *__restrict __s, size_t __n,
-         mbstate_t *__restrict __p) noexcept (true);
-
-
-extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
-         mbstate_t *__restrict __ps) noexcept (true);
-
-
-extern size_t __mbrlen (const char *__restrict __s, size_t __n,
-   mbstate_t *__restrict __ps) noexcept (true);
-extern size_t mbrlen (const char *__restrict __s, size_t __n,
-        mbstate_t *__restrict __ps) noexcept (true);
-# 362 "/usr/include/wchar.h" 3 4
-extern size_t mbsrtowcs (wchar_t *__restrict __dst,
-    const char **__restrict __src, size_t __len,
-    mbstate_t *__restrict __ps) noexcept (true);
-
-
-
-extern size_t wcsrtombs (char *__restrict __dst,
-    const wchar_t **__restrict __src, size_t __len,
-    mbstate_t *__restrict __ps) noexcept (true);
-
-
-
-
-
-extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
-     const char **__restrict __src, size_t __nmc,
-     size_t __len, mbstate_t *__restrict __ps) noexcept (true);
-
-
-
-extern size_t wcsnrtombs (char *__restrict __dst,
-     const wchar_t **__restrict __src,
-     size_t __nwc, size_t __len,
-     mbstate_t *__restrict __ps) noexcept (true);
-
-
-
-
-
-
-extern int wcwidth (wchar_t __c) noexcept (true);
-
-
-
-extern int wcswidth (const wchar_t *__s, size_t __n) noexcept (true);
-
-
-
-
-
-extern double wcstod (const wchar_t *__restrict __nptr,
-        wchar_t **__restrict __endptr) noexcept (true);
-
-
-
-extern float wcstof (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr) noexcept (true);
-extern long double wcstold (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr) noexcept (true);
-# 422 "/usr/include/wchar.h" 3 4
-extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
-     wchar_t **__restrict __endptr) noexcept (true);
-
-
-
-extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
-     wchar_t **__restrict __endptr) noexcept (true);
-
-
-
-extern _Float128 wcstof128 (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr) noexcept (true);
-
-
-
-extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr) noexcept (true);
-
-
-
-extern _Float64x wcstof64x (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr) noexcept (true);
-# 455 "/usr/include/wchar.h" 3 4
-extern long int wcstol (const wchar_t *__restrict __nptr,
-   wchar_t **__restrict __endptr, int __base) noexcept (true);
-
-
-
-extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
-      wchar_t **__restrict __endptr, int __base)
-     noexcept (true);
-
-
-
-
-__extension__
-extern long long int wcstoll (const wchar_t *__restrict __nptr,
-         wchar_t **__restrict __endptr, int __base)
-     noexcept (true);
-
-
-
-__extension__
-extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
-     wchar_t **__restrict __endptr,
-     int __base) noexcept (true);
-
-
-
-
-
-__extension__
-extern long long int wcstoq (const wchar_t *__restrict __nptr,
-        wchar_t **__restrict __endptr, int __base)
-     noexcept (true);
-
-
-
-__extension__
-extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
-           wchar_t **__restrict __endptr,
-           int __base) noexcept (true);
-
-
-
-
-
-
-extern long int wcstol (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstol");
-
-
-extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoul");
-
-
-
-__extension__
-extern long long int wcstoll (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll");
-
-
-
-__extension__
-extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull");
-
-
-
-
-__extension__
-extern long long int wcstoq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoll");
-
-
-__extension__
-extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_wcstoull");
-# 561 "/usr/include/wchar.h" 3 4
-extern long int wcstol_l (const wchar_t *__restrict __nptr,
-     wchar_t **__restrict __endptr, int __base,
-     locale_t __loc) noexcept (true);
-
-extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
-        wchar_t **__restrict __endptr,
-        int __base, locale_t __loc) noexcept (true);
-
-__extension__
-extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
-    wchar_t **__restrict __endptr,
-    int __base, locale_t __loc) noexcept (true);
-
-__extension__
-extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr,
-       int __base, locale_t __loc)
-     noexcept (true);
-
-
-
-
-
-extern long int wcstol_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstol_l");
-
-
-
-extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoul_l");
-
-
-
-
-__extension__
-extern long long int wcstoll_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoll_l");
-
-
-
-
-__extension__
-extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_wcstoull_l");
-# 630 "/usr/include/wchar.h" 3 4
-extern double wcstod_l (const wchar_t *__restrict __nptr,
-   wchar_t **__restrict __endptr, locale_t __loc)
-     noexcept (true);
-
-extern float wcstof_l (const wchar_t *__restrict __nptr,
-         wchar_t **__restrict __endptr, locale_t __loc)
-     noexcept (true);
-
-extern long double wcstold_l (const wchar_t *__restrict __nptr,
-         wchar_t **__restrict __endptr,
-         locale_t __loc) noexcept (true);
-# 649 "/usr/include/wchar.h" 3 4
-extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr,
-       locale_t __loc) noexcept (true);
-
-
-
-extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
-       wchar_t **__restrict __endptr,
-       locale_t __loc) noexcept (true);
-
-
-
-extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr,
-         wchar_t **__restrict __endptr,
-         locale_t __loc) noexcept (true);
-
-
-
-extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
-         wchar_t **__restrict __endptr,
-         locale_t __loc) noexcept (true);
-
-
-
-extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr,
-         wchar_t **__restrict __endptr,
-         locale_t __loc) noexcept (true);
-# 689 "/usr/include/wchar.h" 3 4
-extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
-   const wchar_t *__restrict __src) noexcept (true);
-
-
-
-extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
-    const wchar_t *__restrict __src, size_t __n)
-     noexcept (true);
-# 718 "/usr/include/wchar.h" 3 4
-extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-
-extern int fwide (__FILE *__fp, int __mode) noexcept (true);
-
-
-
-
-
-
-extern int fwprintf (__FILE *__restrict __stream,
-       const wchar_t *__restrict __format, ...)
-                                                           ;
-
-
-
-
-extern int wprintf (const wchar_t *__restrict __format, ...)
-                                                           ;
-
-extern int swprintf (wchar_t *__restrict __s, size_t __n,
-       const wchar_t *__restrict __format, ...)
-     noexcept (true) ;
-
-
-
-
-
-extern int vfwprintf (__FILE *__restrict __s,
-        const wchar_t *__restrict __format,
-        __gnuc_va_list __arg)
-                                                           ;
-
-
-
-
-extern int vwprintf (const wchar_t *__restrict __format,
-       __gnuc_va_list __arg)
-                                                           ;
-
-
-extern int vswprintf (wchar_t *__restrict __s, size_t __n,
-        const wchar_t *__restrict __format,
-        __gnuc_va_list __arg)
-     noexcept (true) ;
-
-
-
-
-
-
-extern int fwscanf (__FILE *__restrict __stream,
-      const wchar_t *__restrict __format, ...)
-                                                          ;
-
-
-
-
-extern int wscanf (const wchar_t *__restrict __format, ...)
-                                                          ;
-
-extern int swscanf (const wchar_t *__restrict __s,
-      const wchar_t *__restrict __format, ...)
-     noexcept (true) ;
-# 795 "/usr/include/wchar.h" 3 4
-extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_fwscanf")
-
-
-                                                          ;
-extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc23_wscanf")
-
-                                                          ;
-extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_swscanf")
-
-
-                                                          ;
-# 851 "/usr/include/wchar.h" 3 4
-extern int vfwscanf (__FILE *__restrict __s,
-       const wchar_t *__restrict __format,
-       __gnuc_va_list __arg)
-                                                          ;
-
-
-
-
-extern int vwscanf (const wchar_t *__restrict __format,
-      __gnuc_va_list __arg)
-                                                          ;
-
-extern int vswscanf (const wchar_t *__restrict __s,
-       const wchar_t *__restrict __format,
-       __gnuc_va_list __arg)
-     noexcept (true) ;
-# 875 "/usr/include/wchar.h" 3 4
-extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfwscanf")
-
-
-                                                          ;
-extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vwscanf")
-
-                                                          ;
-extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vswscanf")
-
-
-                                                          ;
-# 935 "/usr/include/wchar.h" 3 4
-extern wint_t fgetwc (__FILE *__stream);
-extern wint_t getwc (__FILE *__stream);
-
-
-
-
-
-extern wint_t getwchar (void);
-
-
-
-
-
-
-extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
-extern wint_t putwc (wchar_t __wc, __FILE *__stream);
-
-
-
-
-
-extern wint_t putwchar (wchar_t __wc);
-
-
-
-
-
-
-
-extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
-   __FILE *__restrict __stream);
-
-
-
-
-
-extern int fputws (const wchar_t *__restrict __ws,
-     __FILE *__restrict __stream);
-
-
-
-
-
-
-extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
-# 990 "/usr/include/wchar.h" 3 4
-extern wint_t getwc_unlocked (__FILE *__stream);
-extern wint_t getwchar_unlocked (void);
-
-
-
-
-
-
-
-extern wint_t fgetwc_unlocked (__FILE *__stream);
-
-
-
-
-
-
-
-extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
-# 1016 "/usr/include/wchar.h" 3 4
-extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
-extern wint_t putwchar_unlocked (wchar_t __wc);
-# 1026 "/usr/include/wchar.h" 3 4
-extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
-     __FILE *__restrict __stream);
-
-
-
-
-
-
-
-extern int fputws_unlocked (const wchar_t *__restrict __ws,
-       __FILE *__restrict __stream);
-
-
-
-
-
-
-extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
-   const wchar_t *__restrict __format,
-   const struct tm *__restrict __tp) noexcept (true);
-
-
-
-
-extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
-     const wchar_t *__restrict __format,
-     const struct tm *__restrict __tp,
-     locale_t __loc) noexcept (true);
-# 1073 "/usr/include/wchar.h" 3 4
-}
-# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 2 3
-# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
-namespace std
-{
-  using ::mbstate_t;
-}
-# 137 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
-extern "C++"
-{
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  using ::wint_t;
-
-  using ::btowc;
-  using ::fgetwc;
-  using ::fgetws;
-  using ::fputwc;
-  using ::fputws;
-  using ::fwide;
-  using ::fwprintf;
-  using ::fwscanf;
-  using ::getwc;
-  using ::getwchar;
-  using ::mbrlen;
-  using ::mbrtowc;
-  using ::mbsinit;
-  using ::mbsrtowcs;
-  using ::putwc;
-  using ::putwchar;
-
-  using ::swprintf;
-
-  using ::swscanf;
-  using ::ungetwc;
-  using ::vfwprintf;
-
-  using ::vfwscanf;
-
-
-  using ::vswprintf;
-
-
-  using ::vswscanf;
-
-  using ::vwprintf;
-
-  using ::vwscanf;
-
-  using ::wcrtomb;
-  using ::wcscat;
-  using ::wcscmp;
-  using ::wcscoll;
-  using ::wcscpy;
-  using ::wcscspn;
-  using ::wcsftime;
-  using ::wcslen;
-  using ::wcsncat;
-  using ::wcsncmp;
-  using ::wcsncpy;
-  using ::wcsrtombs;
-  using ::wcsspn;
-  using ::wcstod;
-
-  using ::wcstof;
-
-  using ::wcstok;
-  using ::wcstol;
-  using ::wcstoul;
-  using ::wcsxfrm;
-  using ::wctob;
-  using ::wmemcmp;
-  using ::wmemcpy;
-  using ::wmemmove;
-  using ::wmemset;
-  using ::wprintf;
-  using ::wscanf;
-  using ::wcschr;
-  using ::wcspbrk;
-  using ::wcsrchr;
-  using ::wcsstr;
-  using ::wmemchr;
-
-
-  inline wchar_t*
-  wcschr(wchar_t* __p, wchar_t __c)
-  { return wcschr(const_cast<const wchar_t*>(__p), __c); }
-
-  inline wchar_t*
-  wcspbrk(wchar_t* __s1, const wchar_t* __s2)
-  { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
-
-  inline wchar_t*
-  wcsrchr(wchar_t* __p, wchar_t __c)
-  { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
-
-  inline wchar_t*
-  wcsstr(wchar_t* __s1, const wchar_t* __s2)
-  { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
-
-  inline wchar_t*
-  wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
-  { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
-
-
-
-}
-}
-
-
-
-
-
-
-
-namespace __gnu_cxx
-{
-
-
-
-
-
-  using ::wcstold;
-# 262 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
-  using ::wcstoll;
-  using ::wcstoull;
-
-}
-
-namespace std
-{
-  using ::__gnu_cxx::wcstold;
-  using ::__gnu_cxx::wcstoll;
-  using ::__gnu_cxx::wcstoull;
-}
-# 282 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwchar" 3
-namespace std
-{
-
-  using std::wcstof;
-
-
-  using std::vfwscanf;
-
-
-  using std::vswscanf;
-
-
-  using std::vwscanf;
-
-
-
-  using std::wcstold;
-  using std::wcstoll;
-  using std::wcstoull;
-
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
-  typedef long int streamoff;
-
-
-
-#pragma GCC diagnostic pop
-
-
-  typedef ptrdiff_t streamsize;
-# 86 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
-  template<typename _StateT>
-    class fpos
-    {
-    private:
-      streamoff _M_off;
-      _StateT _M_state;
-
-    public:
-
-
-
-
-      fpos()
-      : _M_off(0), _M_state() { }
-# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
-      fpos(streamoff __off)
-      : _M_off(__off), _M_state() { }
-
-
-      fpos(const fpos&) = default;
-      fpos& operator=(const fpos&) = default;
-      ~fpos() = default;
-
-
-
-      operator streamoff() const { return _M_off; }
-
-
-      void
-      state(_StateT __st)
-      { _M_state = __st; }
-
-
-      _StateT
-      state() const
-      { return _M_state; }
-
-
-
-
-
-      fpos&
-      operator+=(streamoff __off)
-      {
- _M_off += __off;
- return *this;
-      }
-
-
-
-
-
-      fpos&
-      operator-=(streamoff __off)
-      {
- _M_off -= __off;
- return *this;
-      }
-
-
-
-
-
-
-
-      fpos
-      operator+(streamoff __off) const
-      {
- fpos __pos(*this);
- __pos += __off;
- return __pos;
-      }
-
-
-
-
-
-
-
-      fpos
-      operator-(streamoff __off) const
-      {
- fpos __pos(*this);
- __pos -= __off;
- return __pos;
-      }
-
-
-
-
-
-
-      streamoff
-      operator-(const fpos& __other) const
-      { return _M_off - __other._M_off; }
-    };
-
-
-
-
-
-
-  template<typename _StateT>
-    inline bool
-    operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
-    { return streamoff(__lhs) == streamoff(__rhs); }
-
-  template<typename _StateT>
-    inline bool
-    operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
-    { return streamoff(__lhs) != streamoff(__rhs); }
-
-
-
-
-
-  typedef fpos<mbstate_t> streampos;
-
-  typedef fpos<mbstate_t> wstreampos;
-# 220 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/postypes.h" 3
-  typedef fpos<mbstate_t> u16streampos;
-
-  typedef fpos<mbstate_t> u32streampos;
-
-
-
-}
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 78 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 3
-  class ios_base;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_ios;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_streambuf;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_istream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_ostream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_iostream;
-
-
-namespace __cxx11 {
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT>,
-     typename _Alloc = allocator<_CharT> >
-    class basic_stringbuf;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT>,
-    typename _Alloc = allocator<_CharT> >
-    class basic_istringstream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT>,
-    typename _Alloc = allocator<_CharT> >
-    class basic_ostringstream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT>,
-    typename _Alloc = allocator<_CharT> >
-    class basic_stringstream;
-
-}
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_filebuf;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_ifstream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_ofstream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class basic_fstream;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class istreambuf_iterator;
-
-  template<typename _CharT, typename _Traits = char_traits<_CharT> >
-    class ostreambuf_iterator;
-
-
-
-  typedef basic_ios<char> ios;
-
-
-  typedef basic_streambuf<char> streambuf;
-
-
-  typedef basic_istream<char> istream;
-
-
-  typedef basic_ostream<char> ostream;
-
-
-  typedef basic_iostream<char> iostream;
-
-
-  typedef basic_stringbuf<char> stringbuf;
-
-
-  typedef basic_istringstream<char> istringstream;
-
-
-  typedef basic_ostringstream<char> ostringstream;
-
-
-  typedef basic_stringstream<char> stringstream;
-
-
-  typedef basic_filebuf<char> filebuf;
-
-
-  typedef basic_ifstream<char> ifstream;
-
-
-  typedef basic_ofstream<char> ofstream;
-
-
-  typedef basic_fstream<char> fstream;
-
-
-
-  typedef basic_ios<wchar_t> wios;
-
-
-  typedef basic_streambuf<wchar_t> wstreambuf;
-
-
-  typedef basic_istream<wchar_t> wistream;
-
-
-  typedef basic_ostream<wchar_t> wostream;
-
-
-  typedef basic_iostream<wchar_t> wiostream;
-
-
-  typedef basic_stringbuf<wchar_t> wstringbuf;
-
-
-  typedef basic_istringstream<wchar_t> wistringstream;
-
-
-  typedef basic_ostringstream<wchar_t> wostringstream;
-
-
-  typedef basic_stringstream<wchar_t> wstringstream;
-
-
-  typedef basic_filebuf<wchar_t> wfilebuf;
-
-
-  typedef basic_ifstream<wchar_t> wifstream;
-
-
-  typedef basic_ofstream<wchar_t> wofstream;
-
-
-  typedef basic_fstream<wchar_t> wfstream;
-# 258 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iosfwd" 3
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception.h" 3
-extern "C++" {
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 61 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception.h" 3
-  class exception
-  {
-  public:
-    exception() noexcept { }
-    virtual ~exception() noexcept;
-
-    exception(const exception&) = default;
-    exception& operator=(const exception&) = default;
-    exception(exception&&) = default;
-    exception& operator=(exception&&) = default;
-
-
-
-
-    virtual const char*
-    what() const noexcept;
-  };
-
-
-
-}
-
-}
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
-
-extern "C++" {
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
-  class bad_exception : public exception
-  {
-  public:
-    bad_exception() noexcept { }
-
-
-
-    virtual ~bad_exception() noexcept;
-
-
-    virtual const char*
-    what() const noexcept;
-  };
-
-
-  typedef void (*terminate_handler) ();
-
-
-  terminate_handler set_terminate(terminate_handler) noexcept;
-
-
-
-  terminate_handler get_terminate() noexcept;
-
-
-
-
-  void terminate() noexcept __attribute__ ((__noreturn__,__cold__));
-
-
-
-  typedef void (*__attribute__ ((__deprecated__)) unexpected_handler) ();
-
-
-
-
-
-  __attribute__ ((__deprecated__))
-  unexpected_handler set_unexpected(unexpected_handler) noexcept;
-
-
-
-
-
-
-
-  __attribute__ ((__deprecated__))
-  unexpected_handler get_unexpected() noexcept;
-
-
-
-
-
-
-
-  __attribute__ ((__deprecated__))
-  void unexpected() __attribute__ ((__noreturn__,__cold__));
-# 126 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
-  __attribute__ ((__deprecated__ ("use '" "std::uncaught_exceptions()" "' instead")))
-  bool uncaught_exception() noexcept __attribute__ ((__pure__));
-
-
-
-
-
-
-  int uncaught_exceptions() noexcept __attribute__ ((__pure__));
-
-
-
-}
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-# 160 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 3
-  void __verbose_terminate_handler();
-
-
-}
-
-}
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 1 3
-# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_defines.h" 1 3
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 3
-#pragma GCC visibility push(default)
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3
-# 84 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_header_macro.h" 1 3
-# 85 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3
-# 18 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 3
-typedef long int ptrdiff_t;
-# 89 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3
-# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3
-# 114 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 123 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_max_align_t.h" 1 3
-# 19 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_max_align_t.h" 3
-typedef struct {
-  long long __clang_max_align_nonce1
-      __attribute__((__aligned__(__alignof__(long long))));
-  long double __clang_max_align_nonce2
-      __attribute__((__aligned__(__alignof__(long double))));
-} max_align_t;
-# 124 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_offsetof.h" 1 3
-# 129 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 2 3
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_init_exception.h" 3
-namespace std
-{
-  class type_info;
-}
-
-namespace __cxxabiv1
-{
-  struct __cxa_refcounted_exception;
-
-  extern "C"
-    {
-
-      void*
-      __cxa_allocate_exception(size_t) noexcept;
-
-      void
-      __cxa_free_exception(void*) noexcept;
-
-
-      __cxa_refcounted_exception*
-      __cxa_init_primary_exception(void *__object, std::type_info *__tinfo,
-                void ( *__dest) (void *))
- noexcept;
-
-    }
-}
-
-
-
-#pragma GCC visibility pop
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/hash_bytes.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/hash_bytes.h" 3
-namespace std
-{
-
-
-
-
-
-
-
-  size_t
-  _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
-
-
-
-
-
-  size_t
-  _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
-
-
-}
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 2 3
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 2 3
-
-#pragma GCC visibility push(default)
-
-extern "C++" {
-
-namespace __cxxabiv1
-{
-  class __class_type_info;
-}
-# 85 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
-namespace std
-{
-
-
-
-
-
-
-  class type_info
-  {
-  public:
-
-
-
-
-    virtual ~type_info();
-
-
-
-    const char* name() const noexcept
-    { return __name[0] == '*' ? __name + 1 : __name; }
-
-
-
-    bool before(const type_info& __arg) const noexcept;
-
-
-    bool operator==(const type_info& __arg) const noexcept;
-
-
-    bool operator!=(const type_info& __arg) const noexcept
-    { return !operator==(__arg); }
-
-
-
-    size_t hash_code() const noexcept
-    {
-
-      return _Hash_bytes(name(), __builtin_strlen(name()),
-    static_cast<size_t>(0xc70f6907UL));
-
-
-
-    }
-
-
-
-    virtual bool __is_pointer_p() const;
-
-
-    virtual bool __is_function_p() const;
-
-
-
-
-
-
-
-    virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
-       unsigned __outer) const;
-
-
-    virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
-        void **__obj_ptr) const;
-
-  protected:
-    const char *__name;
-
-    explicit type_info(const char *__n): __name(__n) { }
-
-  private:
-
-
-    type_info& operator=(const type_info&) = delete;
-    type_info(const type_info&) = delete;
-# 168 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
-  };
-
-
-  inline bool
-  type_info::before(const type_info& __arg) const noexcept
-  {
-
-
-
-
-    if (__name[0] != '*' || __arg.__name[0] != '*')
-      return __builtin_strcmp (__name, __arg.__name) < 0;
-# 188 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
-    return __name < __arg.__name;
-  }
-
-
-
-
-
-
-                       inline bool
-  type_info::operator==(const type_info& __arg) const noexcept
-  {
-    if (std::__is_constant_evaluated())
-      return this == &__arg;
-
-    if (__name == __arg.__name)
-      return true;
-
-
-
-
-
-
-    return __name[0] != '*' && __builtin_strcmp (__name, __arg.name()) == 0;
-
-
-
-  }
-# 224 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/typeinfo" 3
-  class bad_cast : public exception
-  {
-  public:
-    bad_cast() noexcept { }
-
-
-
-    virtual ~bad_cast() noexcept;
-
-
-    virtual const char* what() const noexcept;
-  };
-
-
-
-
-
-  class bad_typeid : public exception
-  {
-  public:
-    bad_typeid () noexcept { }
-
-
-
-    virtual ~bad_typeid() noexcept;
-
-
-    virtual const char* what() const noexcept;
-  };
-}
-
-}
-
-#pragma GCC visibility pop
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 1 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 2 3
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-#pragma GCC visibility push(default)
-
-extern "C++" {
-
-namespace std
-{
-
-
-
-
-
-
-  class bad_alloc : public exception
-  {
-  public:
-    bad_alloc() throw() { }
-
-
-    bad_alloc(const bad_alloc&) = default;
-    bad_alloc& operator=(const bad_alloc&) = default;
-
-
-
-
-    virtual ~bad_alloc() throw();
-
-
-    virtual const char* what() const throw();
-  };
-
-
-  class bad_array_new_length : public bad_alloc
-  {
-  public:
-    bad_array_new_length() throw() { }
-
-
-
-    virtual ~bad_array_new_length() throw();
-
-
-    virtual const char* what() const throw();
-  };
-
-
-
-  enum class align_val_t: size_t {};
-
-
-  struct nothrow_t
-  {
-
-    explicit nothrow_t() = default;
-
-  };
-
-  extern const nothrow_t nothrow;
-
-
-
-  typedef void (*new_handler)();
-
-
-
-  new_handler set_new_handler(new_handler) throw();
-
-
-
-  new_handler get_new_handler() noexcept;
-
-}
-# 137 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
-[[__nodiscard__]] void* operator new(std::size_t)
-
-  __attribute__((__externally_visible__, __malloc__));
-[[__nodiscard__]] void* operator new[](std::size_t)
-
-  __attribute__((__externally_visible__, __malloc__));
-void operator delete(void*) noexcept
-  __attribute__((__externally_visible__));
-void operator delete[](void*) noexcept
-  __attribute__((__externally_visible__));
-
-void operator delete(void*, std::size_t)
-                    noexcept
-  __attribute__((__externally_visible__));
-void operator delete[](void*, std::size_t)
-                    noexcept
-  __attribute__((__externally_visible__));
-
-[[__nodiscard__]] void* operator new(std::size_t, const std::nothrow_t&)
-                    noexcept
-  __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
-[[__nodiscard__]] void* operator new[](std::size_t, const std::nothrow_t&)
-                    noexcept
-  __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
-void operator delete(void*, const std::nothrow_t&)
-                    noexcept
-  __attribute__((__externally_visible__));
-void operator delete[](void*, const std::nothrow_t&)
-                    noexcept
-  __attribute__((__externally_visible__));
-
-[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t)
-
-  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
-[[__nodiscard__]] void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
-                    noexcept
-  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
-void operator delete(void*, std::align_val_t)
-  noexcept __attribute__((__externally_visible__));
-void operator delete(void*, std::align_val_t, const std::nothrow_t&)
-
-  noexcept __attribute__((__externally_visible__));
-[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t)
-
-  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
-[[__nodiscard__]] void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
-                    noexcept
-  __attribute__((__externally_visible__, __alloc_size__ (1), __alloc_align__ (2), __malloc__));
-void operator delete[](void*, std::align_val_t)
-  noexcept __attribute__((__externally_visible__));
-void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
-
-  noexcept __attribute__((__externally_visible__));
-
-void operator delete(void*, std::size_t, std::align_val_t)
-  noexcept __attribute__((__externally_visible__));
-void operator delete[](void*, std::size_t, std::align_val_t)
-  noexcept __attribute__((__externally_visible__));
-# 205 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
-[[__nodiscard__]] inline
-void* operator new(std::size_t, void* __p)
-                    noexcept
-{ return __p; }
-[[__nodiscard__]] inline
-void* operator new[](std::size_t, void* __p)
-                    noexcept
-{ return __p; }
-
-
-
-
-inline void operator delete (void*, void*)
-                    noexcept
-{ }
-inline void operator delete[](void*, void*)
-                    noexcept
-{ }
-
-}
-
-namespace std
-{
-
-
-  template<typename _Tp>
-    [[nodiscard]] constexpr _Tp*
-    launder(_Tp* __p) noexcept
-    {
-      if constexpr (__is_same(const volatile _Tp, const volatile void))
- static_assert(!__is_same(const volatile _Tp, const volatile void),
-        "std::launder argument must not be a void pointer");
-
-      else if constexpr (__is_function(_Tp))
- static_assert(!__is_function(_Tp),
-        "std::launder argument must not be a function pointer");
-
-      else
- return __builtin_launder(__p);
-      return nullptr;
-    }
-
-
-
-  inline constexpr size_t hardware_destructive_interference_size = 64;
-  inline constexpr size_t hardware_constructive_interference_size = 64;
-# 264 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/new" 3
-}
-
-#pragma GCC visibility pop
-#pragma GCC diagnostic pop
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 1 3
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 1 3
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 67 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 2 3
-
-extern "C++"
-{
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _Tp>
-    class reference_wrapper;
-# 91 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp, _Tp __v>
-    struct integral_constant
-    {
-      static constexpr _Tp value = __v;
-      using value_type = _Tp;
-      using type = integral_constant<_Tp, __v>;
-      constexpr operator value_type() const noexcept { return value; }
-
-
-      constexpr value_type operator()() const noexcept { return value; }
-
-    };
-# 111 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<bool __v>
-    using __bool_constant = integral_constant<bool, __v>;
-
-
-
-  using true_type = __bool_constant<true>;
-
-
-  using false_type = __bool_constant<false>;
-
-
-
-
-  template<bool __v>
-    using bool_constant = __bool_constant<__v>;
-
-
-
-
-
-
-  template<bool, typename _Tp = void>
-    struct enable_if
-    { };
-
-
-  template<typename _Tp>
-    struct enable_if<true, _Tp>
-    { using type = _Tp; };
-
-
-  template<bool _Cond, typename _Tp = void>
-    using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
-
-  template<bool>
-    struct __conditional
-    {
-      template<typename _Tp, typename>
- using type = _Tp;
-    };
-
-  template<>
-    struct __conditional<false>
-    {
-      template<typename, typename _Up>
- using type = _Up;
-    };
-
-
-  template<bool _Cond, typename _If, typename _Else>
-    using __conditional_t
-      = typename __conditional<_Cond>::template type<_If, _Else>;
-
-
-  template <typename _Type>
-    struct __type_identity
-    { using type = _Type; };
-
-  template<typename _Tp>
-    using __type_identity_t = typename __type_identity<_Tp>::type;
-
-  namespace __detail
-  {
-
-    template<typename _Tp, typename...>
-      using __first_t = _Tp;
-
-
-    template<typename... _Bn>
-      auto __or_fn(int) -> __first_t<false_type,
-         __enable_if_t<!bool(_Bn::value)>...>;
-
-    template<typename... _Bn>
-      auto __or_fn(...) -> true_type;
-
-    template<typename... _Bn>
-      auto __and_fn(int) -> __first_t<true_type,
-          __enable_if_t<bool(_Bn::value)>...>;
-
-    template<typename... _Bn>
-      auto __and_fn(...) -> false_type;
-  }
-
-
-
-
-  template<typename... _Bn>
-    struct __or_
-    : decltype(__detail::__or_fn<_Bn...>(0))
-    { };
-
-  template<typename... _Bn>
-    struct __and_
-    : decltype(__detail::__and_fn<_Bn...>(0))
-    { };
-
-  template<typename _Pp>
-    struct __not_
-    : __bool_constant<!bool(_Pp::value)>
-    { };
-
-
-
-
-
-  template<typename... _Bn>
-    inline constexpr bool __or_v = __or_<_Bn...>::value;
-  template<typename... _Bn>
-    inline constexpr bool __and_v = __and_<_Bn...>::value;
-
-  namespace __detail
-  {
-    template<typename , typename _B1, typename... _Bn>
-      struct __disjunction_impl
-      { using type = _B1; };
-
-    template<typename _B1, typename _B2, typename... _Bn>
-      struct __disjunction_impl<__enable_if_t<!bool(_B1::value)>, _B1, _B2, _Bn...>
-      { using type = typename __disjunction_impl<void, _B2, _Bn...>::type; };
-
-    template<typename , typename _B1, typename... _Bn>
-      struct __conjunction_impl
-      { using type = _B1; };
-
-    template<typename _B1, typename _B2, typename... _Bn>
-      struct __conjunction_impl<__enable_if_t<bool(_B1::value)>, _B1, _B2, _Bn...>
-      { using type = typename __conjunction_impl<void, _B2, _Bn...>::type; };
-  }
-
-
-  template<typename... _Bn>
-    struct conjunction
-    : __detail::__conjunction_impl<void, _Bn...>::type
-    { };
-
-  template<>
-    struct conjunction<>
-    : true_type
-    { };
-
-  template<typename... _Bn>
-    struct disjunction
-    : __detail::__disjunction_impl<void, _Bn...>::type
-    { };
-
-  template<>
-    struct disjunction<>
-    : false_type
-    { };
-
-  template<typename _Pp>
-    struct negation
-    : __not_<_Pp>::type
-    { };
-
-
-
-
-  template<typename... _Bn>
-    inline constexpr bool conjunction_v = conjunction<_Bn...>::value;
-
-  template<typename... _Bn>
-    inline constexpr bool disjunction_v = disjunction<_Bn...>::value;
-
-  template<typename _Pp>
-    inline constexpr bool negation_v = negation<_Pp>::value;
-
-
-
-
-
-  template<typename>
-    struct is_reference;
-  template<typename>
-    struct is_function;
-  template<typename>
-    struct is_void;
-  template<typename>
-    struct remove_cv;
-  template<typename>
-    struct is_const;
-
-
-  template<typename>
-    struct __is_array_unknown_bounds;
-
-
-
-
-  template <typename _Tp, size_t = sizeof(_Tp)>
-    constexpr true_type __is_complete_or_unbounded(__type_identity<_Tp>)
-    { return {}; }
-
-  template <typename _TypeIdentity,
-      typename _NestedType = typename _TypeIdentity::type>
-    constexpr typename __or_<
-      is_reference<_NestedType>,
-      is_function<_NestedType>,
-      is_void<_NestedType>,
-      __is_array_unknown_bounds<_NestedType>
-    >::type __is_complete_or_unbounded(_TypeIdentity)
-    { return {}; }
-
-
-  template<typename _Tp>
-    using __remove_cv_t = typename remove_cv<_Tp>::type;
-
-
-
-
-
-  template<typename _Tp>
-    struct is_void
-    : public false_type { };
-
-  template<>
-    struct is_void<void>
-    : public true_type { };
-
-  template<>
-    struct is_void<const void>
-    : public true_type { };
-
-  template<>
-    struct is_void<volatile void>
-    : public true_type { };
-
-  template<>
-    struct is_void<const volatile void>
-    : public true_type { };
-
-
-  template<typename>
-    struct __is_integral_helper
-    : public false_type { };
-
-  template<>
-    struct __is_integral_helper<bool>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<char>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<signed char>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<unsigned char>
-    : public true_type { };
-
-
-
-
-  template<>
-    struct __is_integral_helper<wchar_t>
-    : public true_type { };
-
-
-
-
-
-
-
-  template<>
-    struct __is_integral_helper<char16_t>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<char32_t>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<short>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<unsigned short>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<int>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<unsigned int>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<long>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<unsigned long>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<long long>
-    : public true_type { };
-
-  template<>
-    struct __is_integral_helper<unsigned long long>
-    : public true_type { };
-
-
-
-
-  __extension__
-  template<>
-    struct __is_integral_helper<__int128>
-    : public true_type { };
-
-  __extension__
-  template<>
-    struct __is_integral_helper<unsigned __int128>
-    : public true_type { };
-# 465 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_integral
-    : public __is_integral_helper<__remove_cv_t<_Tp>>::type
-    { };
-
-
-  template<typename>
-    struct __is_floating_point_helper
-    : public false_type { };
-
-  template<>
-    struct __is_floating_point_helper<float>
-    : public true_type { };
-
-  template<>
-    struct __is_floating_point_helper<double>
-    : public true_type { };
-
-  template<>
-    struct __is_floating_point_helper<long double>
-    : public true_type { };
-# 518 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<>
-    struct __is_floating_point_helper<__float128>
-    : public true_type { };
-
-
-
-
-  template<typename _Tp>
-    struct is_floating_point
-    : public __is_floating_point_helper<__remove_cv_t<_Tp>>::type
-    { };
-
-
-
-  template<typename _Tp>
-    struct is_array
-    : public __bool_constant<__is_array(_Tp)>
-    { };
-# 552 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_pointer
-    : public __bool_constant<__is_pointer(_Tp)>
-    { };
-# 579 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename>
-    struct is_lvalue_reference
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_lvalue_reference<_Tp&>
-    : public true_type { };
-
-
-  template<typename>
-    struct is_rvalue_reference
-    : public false_type { };
-
-  template<typename _Tp>
-    struct is_rvalue_reference<_Tp&&>
-    : public true_type { };
-
-
-
-  template<typename _Tp>
-    struct is_member_object_pointer
-    : public __bool_constant<__is_member_object_pointer(_Tp)>
-    { };
-# 620 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_member_function_pointer
-    : public __bool_constant<__is_member_function_pointer(_Tp)>
-    { };
-# 641 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_enum
-    : public __bool_constant<__is_enum(_Tp)>
-    { };
-
-
-  template<typename _Tp>
-    struct is_union
-    : public __bool_constant<__is_union(_Tp)>
-    { };
-
-
-  template<typename _Tp>
-    struct is_class
-    : public __bool_constant<__is_class(_Tp)>
-    { };
-
-
-
-  template<typename _Tp>
-    struct is_function
-    : public __bool_constant<__is_function(_Tp)>
-    { };
-# 680 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_null_pointer
-    : public false_type { };
-
-  template<>
-    struct is_null_pointer<std::nullptr_t>
-    : public true_type { };
-
-  template<>
-    struct is_null_pointer<const std::nullptr_t>
-    : public true_type { };
-
-  template<>
-    struct is_null_pointer<volatile std::nullptr_t>
-    : public true_type { };
-
-  template<>
-    struct is_null_pointer<const volatile std::nullptr_t>
-    : public true_type { };
-
-
-
-  template<typename _Tp>
-    struct __is_nullptr_t
-    : public is_null_pointer<_Tp>
-    { } __attribute__ ((__deprecated__ ("use '" "std::is_null_pointer" "' instead")));
-
-
-
-
-
-
-  template<typename _Tp>
-    struct is_reference
-    : public __bool_constant<__is_reference(_Tp)>
-    { };
-# 734 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_arithmetic
-    : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
-    { };
-
-
-  template<typename _Tp>
-    struct is_fundamental
-    : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
-     is_null_pointer<_Tp>>::type
-    { };
-
-
-
-  template<typename _Tp>
-    struct is_object
-    : public __bool_constant<__is_object(_Tp)>
-    { };
-# 760 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename>
-    struct is_member_pointer;
-
-
-  template<typename _Tp>
-    struct is_scalar
-    : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
-                   is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
-    { };
-
-
-  template<typename _Tp>
-    struct is_compound
-    : public __bool_constant<!is_fundamental<_Tp>::value> { };
-
-
-
-  template<typename _Tp>
-    struct is_member_pointer
-    : public __bool_constant<__is_member_pointer(_Tp)>
-    { };
-# 798 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename, typename>
-    struct is_same;
-
-
-  template<typename _Tp, typename... _Types>
-    using __is_one_of = __or_<is_same<_Tp, _Types>...>;
-
-
-  __extension__
-  template<typename _Tp>
-    using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
-   signed char, signed short, signed int, signed long,
-   signed long long
-
-   , signed __int128
-# 823 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-   >;
-
-
-  __extension__
-  template<typename _Tp>
-    using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>,
-   unsigned char, unsigned short, unsigned int, unsigned long,
-   unsigned long long
-
-   , unsigned __int128
-# 843 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-   >;
-
-
-  template<typename _Tp>
-    using __is_standard_integer
-      = __or_<__is_signed_integer<_Tp>, __is_unsigned_integer<_Tp>>;
-
-
-  template<typename...> using __void_t = void;
-
-
-
-
-
-
-  template<typename _Tp>
-    struct is_const
-    : public __bool_constant<__is_const(_Tp)>
-    { };
-# 874 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_volatile
-    : public __bool_constant<__is_volatile(_Tp)>
-    { };
-# 895 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct
-
-    is_trivial
-    : public __bool_constant<__is_trivial(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_trivially_copyable
-    : public __bool_constant<__is_trivially_copyable(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_standard_layout
-    : public __bool_constant<__is_standard_layout(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-
-
-
-  template<typename _Tp>
-    struct
-
-    is_pod
-    : public __bool_constant<__is_pod(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-
-
-  template<typename _Tp>
-    struct
-    [[__deprecated__]]
-    is_literal_type
-    : public __bool_constant<__is_literal_type(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_empty
-    : public __bool_constant<__is_empty(_Tp)>
-    { };
-
-
-  template<typename _Tp>
-    struct is_polymorphic
-    : public __bool_constant<__is_polymorphic(_Tp)>
-    { };
-
-
-
-
-  template<typename _Tp>
-    struct is_final
-    : public __bool_constant<__is_final(_Tp)>
-    { };
-
-
-
-  template<typename _Tp>
-    struct is_abstract
-    : public __bool_constant<__is_abstract(_Tp)>
-    { };
-
-
-  template<typename _Tp,
-    bool = is_arithmetic<_Tp>::value>
-    struct __is_signed_helper
-    : public false_type { };
-
-  template<typename _Tp>
-    struct __is_signed_helper<_Tp, true>
-    : public __bool_constant<_Tp(-1) < _Tp(0)>
-    { };
-
-
-
-  template<typename _Tp>
-    struct is_signed
-    : public __is_signed_helper<_Tp>::type
-    { };
-
-
-  template<typename _Tp>
-    struct is_unsigned
-    : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>::type
-    { };
-
-
-  template<typename _Tp, typename _Up = _Tp&&>
-    _Up
-    __declval(int);
-
-  template<typename _Tp>
-    _Tp
-    __declval(long);
-
-
-  template<typename _Tp>
-    auto declval() noexcept -> decltype(__declval<_Tp>(0));
-
-  template<typename>
-    struct remove_all_extents;
-
-
-  template<typename _Tp>
-    struct __is_array_known_bounds
-    : public false_type
-    { };
-
-  template<typename _Tp, size_t _Size>
-    struct __is_array_known_bounds<_Tp[_Size]>
-    : public true_type
-    { };
-
-  template<typename _Tp>
-    struct __is_array_unknown_bounds
-    : public false_type
-    { };
-
-  template<typename _Tp>
-    struct __is_array_unknown_bounds<_Tp[]>
-    : public true_type
-    { };
-# 1047 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  struct __do_is_destructible_impl
-  {
-    template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
-      static true_type __test(int);
-
-    template<typename>
-      static false_type __test(...);
-  };
-
-  template<typename _Tp>
-    struct __is_destructible_impl
-    : public __do_is_destructible_impl
-    {
-      using type = decltype(__test<_Tp>(0));
-    };
-
-  template<typename _Tp,
-           bool = __or_<is_void<_Tp>,
-                        __is_array_unknown_bounds<_Tp>,
-                        is_function<_Tp>>::value,
-           bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
-    struct __is_destructible_safe;
-
-  template<typename _Tp>
-    struct __is_destructible_safe<_Tp, false, false>
-    : public __is_destructible_impl<typename
-               remove_all_extents<_Tp>::type>::type
-    { };
-
-  template<typename _Tp>
-    struct __is_destructible_safe<_Tp, true, false>
-    : public false_type { };
-
-  template<typename _Tp>
-    struct __is_destructible_safe<_Tp, false, true>
-    : public true_type { };
-
-
-
-  template<typename _Tp>
-    struct is_destructible
-    : public __is_destructible_safe<_Tp>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-
-
-
-
-  struct __do_is_nt_destructible_impl
-  {
-    template<typename _Tp>
-      static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
-      __test(int);
-
-    template<typename>
-      static false_type __test(...);
-  };
-
-  template<typename _Tp>
-    struct __is_nt_destructible_impl
-    : public __do_is_nt_destructible_impl
-    {
-      using type = decltype(__test<_Tp>(0));
-    };
-
-  template<typename _Tp,
-           bool = __or_<is_void<_Tp>,
-                        __is_array_unknown_bounds<_Tp>,
-                        is_function<_Tp>>::value,
-           bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
-    struct __is_nt_destructible_safe;
-
-  template<typename _Tp>
-    struct __is_nt_destructible_safe<_Tp, false, false>
-    : public __is_nt_destructible_impl<typename
-               remove_all_extents<_Tp>::type>::type
-    { };
-
-  template<typename _Tp>
-    struct __is_nt_destructible_safe<_Tp, true, false>
-    : public false_type { };
-
-  template<typename _Tp>
-    struct __is_nt_destructible_safe<_Tp, false, true>
-    : public true_type { };
-
-
-
-  template<typename _Tp>
-    struct is_nothrow_destructible
-    : public __is_nt_destructible_safe<_Tp>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename... _Args>
-    using __is_constructible_impl
-      = __bool_constant<__is_constructible(_Tp, _Args...)>;
-
-
-
-  template<typename _Tp, typename... _Args>
-    struct is_constructible
-      : public __is_constructible_impl<_Tp, _Args...>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_default_constructible
-    : public __is_constructible_impl<_Tp>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-  template<typename _Tp>
-    using __add_lval_ref_t = __add_lvalue_reference(_Tp);
-# 1191 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_copy_constructible
-    : public __is_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-  template<typename _Tp>
-    using __add_rval_ref_t = __add_rvalue_reference(_Tp);
-# 1218 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct is_move_constructible
-    : public __is_constructible_impl<_Tp, __add_rval_ref_t<_Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename... _Args>
-    using __is_nothrow_constructible_impl
-      = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
-
-
-
-  template<typename _Tp, typename... _Args>
-    struct is_nothrow_constructible
-    : public __is_nothrow_constructible_impl<_Tp, _Args...>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_nothrow_default_constructible
-    : public __is_nothrow_constructible_impl<_Tp>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_nothrow_copy_constructible
-    : public __is_nothrow_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_nothrow_move_constructible
-    : public __is_nothrow_constructible_impl<_Tp, __add_rval_ref_t<_Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename _Up>
-    using __is_assignable_impl = __bool_constant<__is_assignable(_Tp, _Up)>;
-
-
-
-  template<typename _Tp, typename _Up>
-    struct is_assignable
-    : public __is_assignable_impl<_Tp, _Up>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_copy_assignable
-    : public __is_assignable_impl<__add_lval_ref_t<_Tp>,
-      __add_lval_ref_t<const _Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_move_assignable
-    : public __is_assignable_impl<__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename _Up>
-    using __is_nothrow_assignable_impl
-      = __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
-
-
-
-  template<typename _Tp, typename _Up>
-    struct is_nothrow_assignable
-    : public __is_nothrow_assignable_impl<_Tp, _Up>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_nothrow_copy_assignable
-    : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>,
-       __add_lval_ref_t<const _Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_nothrow_move_assignable
-    : public __is_nothrow_assignable_impl<__add_lval_ref_t<_Tp>,
-       __add_rval_ref_t<_Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename... _Args>
-    using __is_trivially_constructible_impl
-      = __bool_constant<__is_trivially_constructible(_Tp, _Args...)>;
-
-
-
-  template<typename _Tp, typename... _Args>
-    struct is_trivially_constructible
-    : public __is_trivially_constructible_impl<_Tp, _Args...>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_trivially_default_constructible
-    : public __is_trivially_constructible_impl<_Tp>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-# 1370 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  struct __do_is_implicitly_default_constructible_impl
-  {
-    template <typename _Tp>
-    static void __helper(const _Tp&);
-
-    template <typename _Tp>
-    static true_type __test(const _Tp&,
-                            decltype(__helper<const _Tp&>({}))* = 0);
-
-    static false_type __test(...);
-  };
-
-  template<typename _Tp>
-    struct __is_implicitly_default_constructible_impl
-    : public __do_is_implicitly_default_constructible_impl
-    {
-      using type = decltype(__test(declval<_Tp>()));
-    };
-
-  template<typename _Tp>
-    struct __is_implicitly_default_constructible_safe
-    : public __is_implicitly_default_constructible_impl<_Tp>::type
-    { };
-
-  template <typename _Tp>
-    struct __is_implicitly_default_constructible
-    : public __and_<__is_constructible_impl<_Tp>,
-      __is_implicitly_default_constructible_safe<_Tp>>::type
-    { };
-
-
-
-  template<typename _Tp>
-    struct is_trivially_copy_constructible
-    : public __is_trivially_constructible_impl<_Tp, __add_lval_ref_t<const _Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_trivially_move_constructible
-    : public __is_trivially_constructible_impl<_Tp, __add_rval_ref_t<_Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename _Up>
-    using __is_trivially_assignable_impl
-      = __bool_constant<__is_trivially_assignable(_Tp, _Up)>;
-
-
-
-  template<typename _Tp, typename _Up>
-    struct is_trivially_assignable
-    : public __is_trivially_assignable_impl<_Tp, _Up>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_trivially_copy_assignable
-    : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>,
-         __add_lval_ref_t<const _Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_trivially_move_assignable
-    : public __is_trivially_assignable_impl<__add_lval_ref_t<_Tp>,
-         __add_rval_ref_t<_Tp>>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_trivially_destructible
-    : public __and_<__is_destructible_safe<_Tp>,
-      __bool_constant<__has_trivial_destructor(_Tp)>>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-  template<typename _Tp>
-    struct has_virtual_destructor
-    : public __bool_constant<__has_virtual_destructor(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-
-
-  template<typename _Tp>
-    struct alignment_of
-    : public integral_constant<std::size_t, alignof(_Tp)>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-
-  template<typename _Tp>
-    struct rank
-    : public integral_constant<std::size_t, __array_rank(_Tp)> { };
-# 1507 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename, unsigned _Uint = 0>
-    struct extent
-    : public integral_constant<size_t, 0> { };
-
-  template<typename _Tp, size_t _Size>
-    struct extent<_Tp[_Size], 0>
-    : public integral_constant<size_t, _Size> { };
-
-  template<typename _Tp, unsigned _Uint, size_t _Size>
-    struct extent<_Tp[_Size], _Uint>
-    : public extent<_Tp, _Uint - 1>::type { };
-
-  template<typename _Tp>
-    struct extent<_Tp[], 0>
-    : public integral_constant<size_t, 0> { };
-
-  template<typename _Tp, unsigned _Uint>
-    struct extent<_Tp[], _Uint>
-    : public extent<_Tp, _Uint - 1>::type { };
-
-
-
-
-
-
-  template<typename _Tp, typename _Up>
-    struct is_same
-    : public __bool_constant<__is_same(_Tp, _Up)>
-    { };
-# 1549 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Base, typename _Derived>
-    struct is_base_of
-    : public __bool_constant<__is_base_of(_Base, _Derived)>
-    { };
-# 1564 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _From, typename _To>
-    struct is_convertible
-    : public __bool_constant<__is_convertible(_From, _To)>
-    { };
-# 1607 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _ToElementType, typename _FromElementType>
-    using __is_array_convertible
-      = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>;
-# 1667 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++14-extensions"
-  template<typename _Tp, typename... _Args>
-    struct __is_nothrow_new_constructible_impl
-    : __bool_constant<
- noexcept(::new(std::declval<void*>()) _Tp(std::declval<_Args>()...))
-      >
-    { };
-
-  template<typename _Tp, typename... _Args>
-    inline constexpr bool __is_nothrow_new_constructible
-      = __and_<is_constructible<_Tp, _Args...>,
-        __is_nothrow_new_constructible_impl<_Tp, _Args...>>::value;
-#pragma GCC diagnostic pop
-
-
-
-
-  template<typename _Tp>
-    struct remove_const
-    { using type = _Tp; };
-
-  template<typename _Tp>
-    struct remove_const<_Tp const>
-    { using type = _Tp; };
-
-
-  template<typename _Tp>
-    struct remove_volatile
-    { using type = _Tp; };
-
-  template<typename _Tp>
-    struct remove_volatile<_Tp volatile>
-    { using type = _Tp; };
-
-
-
-  template<typename _Tp>
-    struct remove_cv
-    { using type = __remove_cv(_Tp); };
-# 1726 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct add_const
-    { using type = _Tp const; };
-
-
-  template<typename _Tp>
-    struct add_volatile
-    { using type = _Tp volatile; };
-
-
-  template<typename _Tp>
-    struct add_cv
-    { using type = _Tp const volatile; };
-
-
-
-  template<typename _Tp>
-    using remove_const_t = typename remove_const<_Tp>::type;
-
-
-  template<typename _Tp>
-    using remove_volatile_t = typename remove_volatile<_Tp>::type;
-
-
-  template<typename _Tp>
-    using remove_cv_t = typename remove_cv<_Tp>::type;
-
-
-  template<typename _Tp>
-    using add_const_t = typename add_const<_Tp>::type;
-
-
-  template<typename _Tp>
-    using add_volatile_t = typename add_volatile<_Tp>::type;
-
-
-  template<typename _Tp>
-    using add_cv_t = typename add_cv<_Tp>::type;
-# 1774 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct remove_reference
-    { using type = _Tp; };
-
-  template<typename _Tp>
-    struct remove_reference<_Tp&>
-    { using type = _Tp; };
-
-  template<typename _Tp>
-    struct remove_reference<_Tp&&>
-    { using type = _Tp; };
-
-
-
-  template<typename _Tp>
-    struct add_lvalue_reference
-    { using type = __add_lval_ref_t<_Tp>; };
-
-
-  template<typename _Tp>
-    struct add_rvalue_reference
-    { using type = __add_rval_ref_t<_Tp>; };
-
-
-
-  template<typename _Tp>
-    using remove_reference_t = typename remove_reference<_Tp>::type;
-
-
-  template<typename _Tp>
-    using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type;
-
-
-  template<typename _Tp>
-    using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type;
-
-
-
-
-
-
-
-  template<typename _Unqualified, bool _IsConst, bool _IsVol>
-    struct __cv_selector;
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, false, false>
-    { using __type = _Unqualified; };
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, false, true>
-    { using __type = volatile _Unqualified; };
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, true, false>
-    { using __type = const _Unqualified; };
-
-  template<typename _Unqualified>
-    struct __cv_selector<_Unqualified, true, true>
-    { using __type = const volatile _Unqualified; };
-
-  template<typename _Qualified, typename _Unqualified,
-    bool _IsConst = is_const<_Qualified>::value,
-    bool _IsVol = is_volatile<_Qualified>::value>
-    class __match_cv_qualifiers
-    {
-      using __match = __cv_selector<_Unqualified, _IsConst, _IsVol>;
-
-    public:
-      using __type = typename __match::__type;
-    };
-
-
-  template<typename _Tp>
-    struct __make_unsigned
-    { using __type = _Tp; };
-
-  template<>
-    struct __make_unsigned<char>
-    { using __type = unsigned char; };
-
-  template<>
-    struct __make_unsigned<signed char>
-    { using __type = unsigned char; };
-
-  template<>
-    struct __make_unsigned<short>
-    { using __type = unsigned short; };
-
-  template<>
-    struct __make_unsigned<int>
-    { using __type = unsigned int; };
-
-  template<>
-    struct __make_unsigned<long>
-    { using __type = unsigned long; };
-
-  template<>
-    struct __make_unsigned<long long>
-    { using __type = unsigned long long; };
-
-
-  __extension__
-  template<>
-    struct __make_unsigned<__int128>
-    { using __type = unsigned __int128; };
-# 1901 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp,
-    bool _IsInt = is_integral<_Tp>::value,
-    bool _IsEnum = __is_enum(_Tp)>
-    class __make_unsigned_selector;
-
-  template<typename _Tp>
-    class __make_unsigned_selector<_Tp, true, false>
-    {
-      using __unsigned_type
- = typename __make_unsigned<__remove_cv_t<_Tp>>::__type;
-
-    public:
-      using __type
- = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
-    };
-
-  class __make_unsigned_selector_base
-  {
-  protected:
-    template<typename...> struct _List { };
-
-    template<typename _Tp, typename... _Up>
-      struct _List<_Tp, _Up...> : _List<_Up...>
-      { static constexpr size_t __size = sizeof(_Tp); };
-
-    template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
-      struct __select;
-
-    template<size_t _Sz, typename _Uint, typename... _UInts>
-      struct __select<_Sz, _List<_Uint, _UInts...>, true>
-      { using __type = _Uint; };
-
-    template<size_t _Sz, typename _Uint, typename... _UInts>
-      struct __select<_Sz, _List<_Uint, _UInts...>, false>
-      : __select<_Sz, _List<_UInts...>>
-      { };
-  };
-
-
-  template<typename _Tp>
-    class __make_unsigned_selector<_Tp, false, true>
-    : __make_unsigned_selector_base
-    {
-
-      using _UInts = _List<unsigned char, unsigned short, unsigned int,
-      unsigned long, unsigned long long>;
-
-      using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
-
-    public:
-      using __type
- = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
-    };
-
-
-
-
-
-  template<>
-    struct __make_unsigned<wchar_t>
-    {
-      using __type
- = typename __make_unsigned_selector<wchar_t, false, true>::__type;
-    };
-# 1975 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<>
-    struct __make_unsigned<char16_t>
-    {
-      using __type
- = typename __make_unsigned_selector<char16_t, false, true>::__type;
-    };
-
-  template<>
-    struct __make_unsigned<char32_t>
-    {
-      using __type
- = typename __make_unsigned_selector<char32_t, false, true>::__type;
-    };
-
-
-
-
-
-
-  template<typename _Tp>
-    struct make_unsigned
-    { using type = typename __make_unsigned_selector<_Tp>::__type; };
-
-
-  template<> struct make_unsigned<bool>;
-  template<> struct make_unsigned<bool const>;
-  template<> struct make_unsigned<bool volatile>;
-  template<> struct make_unsigned<bool const volatile>;
-
-
-
-
-  template<typename _Tp>
-    struct __make_signed
-    { using __type = _Tp; };
-
-  template<>
-    struct __make_signed<char>
-    { using __type = signed char; };
-
-  template<>
-    struct __make_signed<unsigned char>
-    { using __type = signed char; };
-
-  template<>
-    struct __make_signed<unsigned short>
-    { using __type = signed short; };
-
-  template<>
-    struct __make_signed<unsigned int>
-    { using __type = signed int; };
-
-  template<>
-    struct __make_signed<unsigned long>
-    { using __type = signed long; };
-
-  template<>
-    struct __make_signed<unsigned long long>
-    { using __type = signed long long; };
-
-
-  __extension__
-  template<>
-    struct __make_signed<unsigned __int128>
-    { using __type = __int128; };
-# 2061 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp,
-    bool _IsInt = is_integral<_Tp>::value,
-    bool _IsEnum = __is_enum(_Tp)>
-    class __make_signed_selector;
-
-  template<typename _Tp>
-    class __make_signed_selector<_Tp, true, false>
-    {
-      using __signed_type
- = typename __make_signed<__remove_cv_t<_Tp>>::__type;
-
-    public:
-      using __type
- = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
-    };
-
-
-  template<typename _Tp>
-    class __make_signed_selector<_Tp, false, true>
-    {
-      using __unsigned_type = typename __make_unsigned_selector<_Tp>::__type;
-
-    public:
-      using __type = typename __make_signed_selector<__unsigned_type>::__type;
-    };
-
-
-
-
-
-  template<>
-    struct __make_signed<wchar_t>
-    {
-      using __type
- = typename __make_signed_selector<wchar_t, false, true>::__type;
-    };
-# 2107 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<>
-    struct __make_signed<char16_t>
-    {
-      using __type
- = typename __make_signed_selector<char16_t, false, true>::__type;
-    };
-
-  template<>
-    struct __make_signed<char32_t>
-    {
-      using __type
- = typename __make_signed_selector<char32_t, false, true>::__type;
-    };
-
-
-
-
-
-
-  template<typename _Tp>
-    struct make_signed
-    { using type = typename __make_signed_selector<_Tp>::__type; };
-
-
-  template<> struct make_signed<bool>;
-  template<> struct make_signed<bool const>;
-  template<> struct make_signed<bool volatile>;
-  template<> struct make_signed<bool const volatile>;
-
-
-
-  template<typename _Tp>
-    using make_signed_t = typename make_signed<_Tp>::type;
-
-
-  template<typename _Tp>
-    using make_unsigned_t = typename make_unsigned<_Tp>::type;
-
-
-
-
-
-
-  template<typename _Tp>
-    struct remove_extent
-    { using type = __remove_extent(_Tp); };
-# 2169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct remove_all_extents
-    { using type = __remove_all_extents(_Tp); };
-# 2188 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    using remove_extent_t = typename remove_extent<_Tp>::type;
-
-
-  template<typename _Tp>
-    using remove_all_extents_t = typename remove_all_extents<_Tp>::type;
-
-
-
-
-
-
-  template<typename _Tp>
-    struct remove_pointer
-    { using type = __remove_pointer(_Tp); };
-# 2220 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct add_pointer
-    { using type = __add_pointer(_Tp); };
-# 2248 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    using remove_pointer_t = typename remove_pointer<_Tp>::type;
-
-
-  template<typename _Tp>
-    using add_pointer_t = typename add_pointer<_Tp>::type;
-
-
-
-
-
-  struct __attribute__((__aligned__)) __aligned_storage_max_align_t
-  { };
-
-  constexpr size_t
-  __aligned_storage_default_alignment([[__maybe_unused__]] size_t __len)
-  {
-# 2279 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-    return alignof(__aligned_storage_max_align_t);
-
-  }
-# 2315 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<size_t _Len,
-    size_t _Align = __aligned_storage_default_alignment(_Len)>
-    struct
-
-    aligned_storage
-    {
-      struct type
-      {
- alignas(_Align) unsigned char __data[_Len];
-      };
-    };
-
-  template <typename... _Types>
-    struct __strictest_alignment
-    {
-      static const size_t _S_alignment = 0;
-      static const size_t _S_size = 0;
-    };
-
-  template <typename _Tp, typename... _Types>
-    struct __strictest_alignment<_Tp, _Types...>
-    {
-      static const size_t _S_alignment =
-        alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
- ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
-      static const size_t _S_size =
-        sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
- ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
-    };
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-# 2360 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template <size_t _Len, typename... _Types>
-    struct
-
-    aligned_union
-    {
-    private:
-      static_assert(sizeof...(_Types) != 0, "At least one type is required");
-
-      using __strictest = __strictest_alignment<_Types...>;
-      static const size_t _S_len = _Len > __strictest::_S_size
- ? _Len : __strictest::_S_size;
-    public:
-
-      static const size_t alignment_value = __strictest::_S_alignment;
-
-      using type = typename aligned_storage<_S_len, alignment_value>::type;
-    };
-
-  template <size_t _Len, typename... _Types>
-    const size_t aligned_union<_Len, _Types...>::alignment_value;
-#pragma GCC diagnostic pop
-
-
-
-
-  template<typename _Tp>
-    struct decay
-    { using type = __decay(_Tp); };
-# 2425 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct __strip_reference_wrapper
-    {
-      using __type = _Tp;
-    };
-
-  template<typename _Tp>
-    struct __strip_reference_wrapper<reference_wrapper<_Tp> >
-    {
-      using __type = _Tp&;
-    };
-
-
-  template<typename _Tp>
-    using __decay_t = typename decay<_Tp>::type;
-
-  template<typename _Tp>
-    using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>;
-
-
-
-
-
-  template<typename... _Cond>
-    using _Require = __enable_if_t<__and_<_Cond...>::value>;
-
-
-  template<typename _Tp>
-    using __remove_cvref_t
-     = typename remove_cv<typename remove_reference<_Tp>::type>::type;
-
-
-
-
-  template<bool _Cond, typename _Iftrue, typename _Iffalse>
-    struct conditional
-    { using type = _Iftrue; };
-
-
-  template<typename _Iftrue, typename _Iffalse>
-    struct conditional<false, _Iftrue, _Iffalse>
-    { using type = _Iffalse; };
-
-
-  template<typename... _Tp>
-    struct common_type;
-# 2481 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Tp>
-    struct __success_type
-    { using type = _Tp; };
-
-  struct __failure_type
-  { };
-
-  struct __do_common_type_impl
-  {
-    template<typename _Tp, typename _Up>
-      using __cond_t
- = decltype(true ? std::declval<_Tp>() : std::declval<_Up>());
-
-
-
-    template<typename _Tp, typename _Up>
-      static __success_type<__decay_t<__cond_t<_Tp, _Up>>>
-      _S_test(int);
-# 2508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-    template<typename, typename>
-      static __failure_type
-      _S_test_2(...);
-
-    template<typename _Tp, typename _Up>
-      static decltype(_S_test_2<_Tp, _Up>(0))
-      _S_test(...);
-  };
-
-
-  template<>
-    struct common_type<>
-    { };
-
-
-  template<typename _Tp0>
-    struct common_type<_Tp0>
-    : public common_type<_Tp0, _Tp0>
-    { };
-
-
-  template<typename _Tp1, typename _Tp2,
-    typename _Dp1 = __decay_t<_Tp1>, typename _Dp2 = __decay_t<_Tp2>>
-    struct __common_type_impl
-    {
-
-
-      using type = common_type<_Dp1, _Dp2>;
-    };
-
-  template<typename _Tp1, typename _Tp2>
-    struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2>
-    : private __do_common_type_impl
-    {
-
-
-      using type = decltype(_S_test<_Tp1, _Tp2>(0));
-    };
-
-
-  template<typename _Tp1, typename _Tp2>
-    struct common_type<_Tp1, _Tp2>
-    : public __common_type_impl<_Tp1, _Tp2>::type
-    { };
-
-  template<typename...>
-    struct __common_type_pack
-    { };
-
-  template<typename, typename, typename = void>
-    struct __common_type_fold;
-
-
-  template<typename _Tp1, typename _Tp2, typename... _Rp>
-    struct common_type<_Tp1, _Tp2, _Rp...>
-    : public __common_type_fold<common_type<_Tp1, _Tp2>,
-    __common_type_pack<_Rp...>>
-    { };
-
-
-
-
-  template<typename _CTp, typename... _Rp>
-    struct __common_type_fold<_CTp, __common_type_pack<_Rp...>,
-         __void_t<typename _CTp::type>>
-    : public common_type<typename _CTp::type, _Rp...>
-    { };
-
-
-  template<typename _CTp, typename _Rp>
-    struct __common_type_fold<_CTp, _Rp, void>
-    { };
-
-  template<typename _Tp, bool = __is_enum(_Tp)>
-    struct __underlying_type_impl
-    {
-      using type = __underlying_type(_Tp);
-    };
-
-  template<typename _Tp>
-    struct __underlying_type_impl<_Tp, false>
-    { };
-
-
-
-  template<typename _Tp>
-    struct underlying_type
-    : public __underlying_type_impl<_Tp>
-    { };
-
-
-  template<typename _Tp>
-    struct __declval_protector
-    {
-      static const bool __stop = false;
-    };
-
-
-
-
-
-
-  template<typename _Tp>
-    auto declval() noexcept -> decltype(__declval<_Tp>(0))
-    {
-      static_assert(__declval_protector<_Tp>::__stop,
-      "declval() must not be used!");
-      return __declval<_Tp>(0);
-    }
-
-
-  template<typename _Signature>
-    struct result_of;
-
-
-
-
-  struct __invoke_memfun_ref { };
-  struct __invoke_memfun_deref { };
-  struct __invoke_memobj_ref { };
-  struct __invoke_memobj_deref { };
-  struct __invoke_other { };
-
-
-  template<typename _Tp, typename _Tag>
-    struct __result_of_success : __success_type<_Tp>
-    { using __invoke_type = _Tag; };
-
-
-  struct __result_of_memfun_ref_impl
-  {
-    template<typename _Fp, typename _Tp1, typename... _Args>
-      static __result_of_success<decltype(
-      (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
-      ), __invoke_memfun_ref> _S_test(int);
-
-    template<typename...>
-      static __failure_type _S_test(...);
-  };
-
-  template<typename _MemPtr, typename _Arg, typename... _Args>
-    struct __result_of_memfun_ref
-    : private __result_of_memfun_ref_impl
-    {
-      using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0));
-    };
-
-
-  struct __result_of_memfun_deref_impl
-  {
-    template<typename _Fp, typename _Tp1, typename... _Args>
-      static __result_of_success<decltype(
-      ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
-      ), __invoke_memfun_deref> _S_test(int);
-
-    template<typename...>
-      static __failure_type _S_test(...);
-  };
-
-  template<typename _MemPtr, typename _Arg, typename... _Args>
-    struct __result_of_memfun_deref
-    : private __result_of_memfun_deref_impl
-    {
-      using type = decltype(_S_test<_MemPtr, _Arg, _Args...>(0));
-    };
-
-
-  struct __result_of_memobj_ref_impl
-  {
-    template<typename _Fp, typename _Tp1>
-      static __result_of_success<decltype(
-      std::declval<_Tp1>().*std::declval<_Fp>()
-      ), __invoke_memobj_ref> _S_test(int);
-
-    template<typename, typename>
-      static __failure_type _S_test(...);
-  };
-
-  template<typename _MemPtr, typename _Arg>
-    struct __result_of_memobj_ref
-    : private __result_of_memobj_ref_impl
-    {
-      using type = decltype(_S_test<_MemPtr, _Arg>(0));
-    };
-
-
-  struct __result_of_memobj_deref_impl
-  {
-    template<typename _Fp, typename _Tp1>
-      static __result_of_success<decltype(
-      (*std::declval<_Tp1>()).*std::declval<_Fp>()
-      ), __invoke_memobj_deref> _S_test(int);
-
-    template<typename, typename>
-      static __failure_type _S_test(...);
-  };
-
-  template<typename _MemPtr, typename _Arg>
-    struct __result_of_memobj_deref
-    : private __result_of_memobj_deref_impl
-    {
-      using type = decltype(_S_test<_MemPtr, _Arg>(0));
-    };
-
-  template<typename _MemPtr, typename _Arg>
-    struct __result_of_memobj;
-
-  template<typename _Res, typename _Class, typename _Arg>
-    struct __result_of_memobj<_Res _Class::*, _Arg>
-    {
-      using _Argval = __remove_cvref_t<_Arg>;
-      using _MemPtr = _Res _Class::*;
-      using type = typename __conditional_t<__or_<is_same<_Argval, _Class>,
-        is_base_of<_Class, _Argval>>::value,
-        __result_of_memobj_ref<_MemPtr, _Arg>,
-        __result_of_memobj_deref<_MemPtr, _Arg>
-      >::type;
-    };
-
-  template<typename _MemPtr, typename _Arg, typename... _Args>
-    struct __result_of_memfun;
-
-  template<typename _Res, typename _Class, typename _Arg, typename... _Args>
-    struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
-    {
-      using _Argval = typename remove_reference<_Arg>::type;
-      using _MemPtr = _Res _Class::*;
-      using type = typename __conditional_t<is_base_of<_Class, _Argval>::value,
-        __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
-        __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
-      >::type;
-    };
-
-
-
-
-
-
-  template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
-    struct __inv_unwrap
-    {
-      using type = _Tp;
-    };
-
-  template<typename _Tp, typename _Up>
-    struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
-    {
-      using type = _Up&;
-    };
-
-  template<bool, bool, typename _Functor, typename... _ArgTypes>
-    struct __result_of_impl
-    {
-      using type = __failure_type;
-    };
-
-  template<typename _MemPtr, typename _Arg>
-    struct __result_of_impl<true, false, _MemPtr, _Arg>
-    : public __result_of_memobj<__decay_t<_MemPtr>,
-    typename __inv_unwrap<_Arg>::type>
-    { };
-
-  template<typename _MemPtr, typename _Arg, typename... _Args>
-    struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
-    : public __result_of_memfun<__decay_t<_MemPtr>,
-    typename __inv_unwrap<_Arg>::type, _Args...>
-    { };
-
-
-  struct __result_of_other_impl
-  {
-    template<typename _Fn, typename... _Args>
-      static __result_of_success<decltype(
-      std::declval<_Fn>()(std::declval<_Args>()...)
-      ), __invoke_other> _S_test(int);
-
-    template<typename...>
-      static __failure_type _S_test(...);
-  };
-
-  template<typename _Functor, typename... _ArgTypes>
-    struct __result_of_impl<false, false, _Functor, _ArgTypes...>
-    : private __result_of_other_impl
-    {
-      using type = decltype(_S_test<_Functor, _ArgTypes...>(0));
-    };
-
-
-  template<typename _Functor, typename... _ArgTypes>
-    struct __invoke_result
-    : public __result_of_impl<
-        is_member_object_pointer<
-          typename remove_reference<_Functor>::type
-        >::value,
-        is_member_function_pointer<
-          typename remove_reference<_Functor>::type
-        >::value,
- _Functor, _ArgTypes...
-      >::type
-    { };
-
-
-  template<typename _Fn, typename... _Args>
-    using __invoke_result_t = typename __invoke_result<_Fn, _Args...>::type;
-
-
-  template<typename _Functor, typename... _ArgTypes>
-    struct result_of<_Functor(_ArgTypes...)>
-    : public __invoke_result<_Functor, _ArgTypes...>
-    { } __attribute__ ((__deprecated__ ("use '" "std::invoke_result" "' instead")));
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-  template<size_t _Len,
-    size_t _Align = __aligned_storage_default_alignment(_Len)>
-    using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
-
-  template <size_t _Len, typename... _Types>
-    using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
-#pragma GCC diagnostic pop
-
-
-  template<typename _Tp>
-    using decay_t = typename decay<_Tp>::type;
-
-
-  template<bool _Cond, typename _Tp = void>
-    using enable_if_t = typename enable_if<_Cond, _Tp>::type;
-
-
-  template<bool _Cond, typename _Iftrue, typename _Iffalse>
-    using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type;
-
-
-  template<typename... _Tp>
-    using common_type_t = typename common_type<_Tp...>::type;
-
-
-  template<typename _Tp>
-    using underlying_type_t = typename underlying_type<_Tp>::type;
-
-
-  template<typename _Tp>
-    using result_of_t = typename result_of<_Tp>::type;
-
-
-
-
-  template<typename...> using void_t = void;
-# 2885 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Default, typename _AlwaysVoid,
-    template<typename...> class _Op, typename... _Args>
-    struct __detector
-    {
-      using type = _Default;
-      using __is_detected = false_type;
-    };
-
-
-  template<typename _Default, template<typename...> class _Op,
-     typename... _Args>
-    struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
-    {
-      using type = _Op<_Args...>;
-      using __is_detected = true_type;
-    };
-
-  template<typename _Default, template<typename...> class _Op,
-    typename... _Args>
-    using __detected_or = __detector<_Default, void, _Op, _Args...>;
-
-
-
-  template<typename _Default, template<typename...> class _Op,
-    typename... _Args>
-    using __detected_or_t
-      = typename __detected_or<_Default, _Op, _Args...>::type;
-# 2927 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template <typename _Tp>
-    struct __is_swappable;
-
-  template <typename _Tp>
-    struct __is_nothrow_swappable;
-
-  template<typename>
-    struct __is_tuple_like_impl : false_type
-    { };
-
-
-  template<typename _Tp>
-    struct __is_tuple_like
-    : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
-    { };
-
-
-  template<typename _Tp>
-
-    inline
-    _Require<__not_<__is_tuple_like<_Tp>>,
-      is_move_constructible<_Tp>,
-      is_move_assignable<_Tp>>
-    swap(_Tp&, _Tp&)
-    noexcept(__and_<is_nothrow_move_constructible<_Tp>,
-             is_nothrow_move_assignable<_Tp>>::value);
-
-  template<typename _Tp, size_t _Nm>
-
-    inline
-    __enable_if_t<__is_swappable<_Tp>::value>
-    swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
-    noexcept(__is_nothrow_swappable<_Tp>::value);
-
-
-  namespace __swappable_details {
-    using std::swap;
-
-    struct __do_is_swappable_impl
-    {
-      template<typename _Tp, typename
-               = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
-        static true_type __test(int);
-
-      template<typename>
-        static false_type __test(...);
-    };
-
-    struct __do_is_nothrow_swappable_impl
-    {
-      template<typename _Tp>
-        static __bool_constant<
-          noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
-        > __test(int);
-
-      template<typename>
-        static false_type __test(...);
-    };
-
-  }
-
-  template<typename _Tp>
-    struct __is_swappable_impl
-    : public __swappable_details::__do_is_swappable_impl
-    {
-      using type = decltype(__test<_Tp>(0));
-    };
-
-  template<typename _Tp>
-    struct __is_nothrow_swappable_impl
-    : public __swappable_details::__do_is_nothrow_swappable_impl
-    {
-      using type = decltype(__test<_Tp>(0));
-    };
-
-  template<typename _Tp>
-    struct __is_swappable
-    : public __is_swappable_impl<_Tp>::type
-    { };
-
-  template<typename _Tp>
-    struct __is_nothrow_swappable
-    : public __is_nothrow_swappable_impl<_Tp>::type
-    { };
-
-
-
-
-
-
-  template<typename _Tp>
-    struct is_swappable
-    : public __is_swappable_impl<_Tp>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp>
-    struct is_nothrow_swappable
-    : public __is_nothrow_swappable_impl<_Tp>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-  template<typename _Tp>
-    inline constexpr bool is_swappable_v =
-      is_swappable<_Tp>::value;
-
-
-  template<typename _Tp>
-    inline constexpr bool is_nothrow_swappable_v =
-      is_nothrow_swappable<_Tp>::value;
-
-
-
-  namespace __swappable_with_details {
-    using std::swap;
-
-    struct __do_is_swappable_with_impl
-    {
-      template<typename _Tp, typename _Up, typename
-               = decltype(swap(std::declval<_Tp>(), std::declval<_Up>())),
-               typename
-               = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))>
-        static true_type __test(int);
-
-      template<typename, typename>
-        static false_type __test(...);
-    };
-
-    struct __do_is_nothrow_swappable_with_impl
-    {
-      template<typename _Tp, typename _Up>
-        static __bool_constant<
-          noexcept(swap(std::declval<_Tp>(), std::declval<_Up>()))
-          &&
-          noexcept(swap(std::declval<_Up>(), std::declval<_Tp>()))
-        > __test(int);
-
-      template<typename, typename>
-        static false_type __test(...);
-    };
-
-  }
-
-  template<typename _Tp, typename _Up>
-    struct __is_swappable_with_impl
-    : public __swappable_with_details::__do_is_swappable_with_impl
-    {
-      using type = decltype(__test<_Tp, _Up>(0));
-    };
-
-
-  template<typename _Tp>
-    struct __is_swappable_with_impl<_Tp&, _Tp&>
-    : public __swappable_details::__do_is_swappable_impl
-    {
-      using type = decltype(__test<_Tp&>(0));
-    };
-
-  template<typename _Tp, typename _Up>
-    struct __is_nothrow_swappable_with_impl
-    : public __swappable_with_details::__do_is_nothrow_swappable_with_impl
-    {
-      using type = decltype(__test<_Tp, _Up>(0));
-    };
-
-
-  template<typename _Tp>
-    struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&>
-    : public __swappable_details::__do_is_nothrow_swappable_impl
-    {
-      using type = decltype(__test<_Tp&>(0));
-    };
-
-
-
-  template<typename _Tp, typename _Up>
-    struct is_swappable_with
-    : public __is_swappable_with_impl<_Tp, _Up>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "first template argument must be a complete class or an unbounded array");
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
- "second template argument must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Tp, typename _Up>
-    struct is_nothrow_swappable_with
-    : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "first template argument must be a complete class or an unbounded array");
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Up>{}),
- "second template argument must be a complete class or an unbounded array");
-    };
-
-
-
-  template<typename _Tp, typename _Up>
-    inline constexpr bool is_swappable_with_v =
-      is_swappable_with<_Tp, _Up>::value;
-
-
-  template<typename _Tp, typename _Up>
-    inline constexpr bool is_nothrow_swappable_with_v =
-      is_nothrow_swappable_with<_Tp, _Up>::value;
-# 3149 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-  template<typename _Result, typename _Ret,
-    bool = is_void<_Ret>::value, typename = void>
-    struct __is_invocable_impl
-    : false_type
-    {
-      using __nothrow_conv = false_type;
-    };
-
-
-  template<typename _Result, typename _Ret>
-    struct __is_invocable_impl<_Result, _Ret,
-                                true,
-          __void_t<typename _Result::type>>
-    : true_type
-    {
-      using __nothrow_conv = true_type;
-    };
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
-
-  template<typename _Result, typename _Ret>
-    struct __is_invocable_impl<_Result, _Ret,
-                                false,
-          __void_t<typename _Result::type>>
-    {
-    private:
-
-      using _Res_t = typename _Result::type;
-
-
-
-      static _Res_t _S_get() noexcept;
-
-
-      template<typename _Tp>
- static void _S_conv(__type_identity_t<_Tp>) noexcept;
-
-
-      template<typename _Tp,
-        bool _Nothrow = noexcept(_S_conv<_Tp>(_S_get())),
-        typename = decltype(_S_conv<_Tp>(_S_get())),
-
-        bool _Dangle = __reference_converts_from_temporary(_Tp, _Res_t)
-
-
-
-       >
- static __bool_constant<_Nothrow && !_Dangle>
- _S_test(int);
-
-      template<typename _Tp, bool = false>
- static false_type
- _S_test(...);
-
-    public:
-
-      using type = decltype(_S_test<_Ret, true>(1));
-
-
-      using __nothrow_conv = decltype(_S_test<_Ret>(1));
-    };
-#pragma GCC diagnostic pop
-
-  template<typename _Fn, typename... _ArgTypes>
-    struct __is_invocable
-    : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
-    { };
-
-  template<typename _Fn, typename _Tp, typename... _Args>
-    constexpr bool __call_is_nt(__invoke_memfun_ref)
-    {
-      using _Up = typename __inv_unwrap<_Tp>::type;
-      return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
-     std::declval<_Args>()...));
-    }
-
-  template<typename _Fn, typename _Tp, typename... _Args>
-    constexpr bool __call_is_nt(__invoke_memfun_deref)
-    {
-      return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
-     std::declval<_Args>()...));
-    }
-
-  template<typename _Fn, typename _Tp>
-    constexpr bool __call_is_nt(__invoke_memobj_ref)
-    {
-      using _Up = typename __inv_unwrap<_Tp>::type;
-      return noexcept(std::declval<_Up>().*std::declval<_Fn>());
-    }
-
-  template<typename _Fn, typename _Tp>
-    constexpr bool __call_is_nt(__invoke_memobj_deref)
-    {
-      return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
-    }
-
-  template<typename _Fn, typename... _Args>
-    constexpr bool __call_is_nt(__invoke_other)
-    {
-      return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
-    }
-
-  template<typename _Result, typename _Fn, typename... _Args>
-    struct __call_is_nothrow
-    : __bool_constant<
- std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
-      >
-    { };
-
-  template<typename _Fn, typename... _Args>
-    using __call_is_nothrow_
-      = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
-
-
-  template<typename _Fn, typename... _Args>
-    struct __is_nothrow_invocable
-    : __and_<__is_invocable<_Fn, _Args...>,
-             __call_is_nothrow_<_Fn, _Args...>>::type
-    { };
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
-  struct __nonesuchbase {};
-  struct __nonesuch : private __nonesuchbase {
-    ~__nonesuch() = delete;
-    __nonesuch(__nonesuch const&) = delete;
-    void operator=(__nonesuch const&) = delete;
-  };
-#pragma GCC diagnostic pop
-
-
-
-
-  template<typename _Functor, typename... _ArgTypes>
-    struct invoke_result
-    : public __invoke_result<_Functor, _ArgTypes...>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Functor>{}),
- "_Functor must be a complete class or an unbounded array");
-      static_assert((std::__is_complete_or_unbounded(
- __type_identity<_ArgTypes>{}) && ...),
- "each argument type must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Fn, typename... _Args>
-    using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
-
-
-  template<typename _Fn, typename... _ArgTypes>
-    struct is_invocable
-
-
-
-    : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
-
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
- "_Fn must be a complete class or an unbounded array");
-      static_assert((std::__is_complete_or_unbounded(
- __type_identity<_ArgTypes>{}) && ...),
- "each argument type must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Ret, typename _Fn, typename... _ArgTypes>
-    struct is_invocable_r
-    : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
- "_Fn must be a complete class or an unbounded array");
-      static_assert((std::__is_complete_or_unbounded(
- __type_identity<_ArgTypes>{}) && ...),
- "each argument type must be a complete class or an unbounded array");
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
- "_Ret must be a complete class or an unbounded array");
-    };
-
-
-  template<typename _Fn, typename... _ArgTypes>
-    struct is_nothrow_invocable
-
-
-
-    : __and_<__is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>,
-      __call_is_nothrow_<_Fn, _ArgTypes...>>::type
-
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
- "_Fn must be a complete class or an unbounded array");
-      static_assert((std::__is_complete_or_unbounded(
- __type_identity<_ArgTypes>{}) && ...),
- "each argument type must be a complete class or an unbounded array");
-    };
-
-
-
-
-
-  template<typename _Result, typename _Ret>
-    using __is_nt_invocable_impl
-      = typename __is_invocable_impl<_Result, _Ret>::__nothrow_conv;
-
-
-
-  template<typename _Ret, typename _Fn, typename... _ArgTypes>
-    struct is_nothrow_invocable_r
-    : __and_<__is_nt_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, _Ret>,
-             __call_is_nothrow_<_Fn, _ArgTypes...>>::type
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Fn>{}),
- "_Fn must be a complete class or an unbounded array");
-      static_assert((std::__is_complete_or_unbounded(
- __type_identity<_ArgTypes>{}) && ...),
- "each argument type must be a complete class or an unbounded array");
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Ret>{}),
- "_Ret must be a complete class or an unbounded array");
-    };
-# 3385 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_void_v = is_void<_Tp>::value;
-template <typename _Tp>
-  inline constexpr bool is_null_pointer_v = is_null_pointer<_Tp>::value;
-template <typename _Tp>
-  inline constexpr bool is_integral_v = is_integral<_Tp>::value;
-template <typename _Tp>
-  inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
-
-
-template <typename _Tp>
-  inline constexpr bool is_array_v = __is_array(_Tp);
-# 3407 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_pointer_v = __is_pointer(_Tp);
-# 3422 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_lvalue_reference_v = false;
-template <typename _Tp>
-  inline constexpr bool is_lvalue_reference_v<_Tp&> = true;
-template <typename _Tp>
-  inline constexpr bool is_rvalue_reference_v = false;
-template <typename _Tp>
-  inline constexpr bool is_rvalue_reference_v<_Tp&&> = true;
-
-
-template <typename _Tp>
-  inline constexpr bool is_member_object_pointer_v =
-    __is_member_object_pointer(_Tp);
-
-
-
-
-
-
-
-template <typename _Tp>
-  inline constexpr bool is_member_function_pointer_v =
-    __is_member_function_pointer(_Tp);
-
-
-
-
-
-
-template <typename _Tp>
-  inline constexpr bool is_enum_v = __is_enum(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_union_v = __is_union(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_class_v = __is_class(_Tp);
-
-
-
-template <typename _Tp>
-  inline constexpr bool is_reference_v = __is_reference(_Tp);
-# 3471 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
-template <typename _Tp>
-  inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
-
-
-template <typename _Tp>
-  inline constexpr bool is_object_v = __is_object(_Tp);
-
-
-
-
-
-template <typename _Tp>
-  inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
-template <typename _Tp>
-  inline constexpr bool is_compound_v = !is_fundamental_v<_Tp>;
-
-
-template <typename _Tp>
-  inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp);
-
-
-
-
-
-
-template <typename _Tp>
-  inline constexpr bool is_const_v = __is_const(_Tp);
-# 3508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_function_v = __is_function(_Tp);
-# 3520 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_volatile_v = __is_volatile(_Tp);
-
-
-
-
-
-
-
-template <typename _Tp>
-
-  inline constexpr bool is_trivial_v = __is_trivial(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_trivially_copyable_v = __is_trivially_copyable(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp);
-template <typename _Tp>
-
-  inline constexpr bool is_pod_v = __is_pod(_Tp);
-template <typename _Tp>
-  [[__deprecated__]]
-  inline constexpr bool is_literal_type_v = __is_literal_type(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_empty_v = __is_empty(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_abstract_v = __is_abstract(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_final_v = __is_final(_Tp);
-
-template <typename _Tp>
-  inline constexpr bool is_signed_v = is_signed<_Tp>::value;
-template <typename _Tp>
-  inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
-
-template <typename _Tp, typename... _Args>
-  inline constexpr bool is_constructible_v = __is_constructible(_Tp, _Args...);
-template <typename _Tp>
-  inline constexpr bool is_default_constructible_v = __is_constructible(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_copy_constructible_v
-    = __is_constructible(_Tp, __add_lval_ref_t<const _Tp>);
-template <typename _Tp>
-  inline constexpr bool is_move_constructible_v
-    = __is_constructible(_Tp, __add_rval_ref_t<_Tp>);
-
-template <typename _Tp, typename _Up>
-  inline constexpr bool is_assignable_v = __is_assignable(_Tp, _Up);
-template <typename _Tp>
-  inline constexpr bool is_copy_assignable_v
-    = __is_assignable(__add_lval_ref_t<_Tp>, __add_lval_ref_t<const _Tp>);
-template <typename _Tp>
-  inline constexpr bool is_move_assignable_v
-    = __is_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>);
-
-template <typename _Tp>
-  inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
-
-template <typename _Tp, typename... _Args>
-  inline constexpr bool is_trivially_constructible_v
-    = __is_trivially_constructible(_Tp, _Args...);
-template <typename _Tp>
-  inline constexpr bool is_trivially_default_constructible_v
-    = __is_trivially_constructible(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_trivially_copy_constructible_v
-    = __is_trivially_constructible(_Tp, __add_lval_ref_t<const _Tp>);
-template <typename _Tp>
-  inline constexpr bool is_trivially_move_constructible_v
-    = __is_trivially_constructible(_Tp, __add_rval_ref_t<_Tp>);
-
-template <typename _Tp, typename _Up>
-  inline constexpr bool is_trivially_assignable_v
-    = __is_trivially_assignable(_Tp, _Up);
-template <typename _Tp>
-  inline constexpr bool is_trivially_copy_assignable_v
-    = __is_trivially_assignable(__add_lval_ref_t<_Tp>,
-    __add_lval_ref_t<const _Tp>);
-template <typename _Tp>
-  inline constexpr bool is_trivially_move_assignable_v
-    = __is_trivially_assignable(__add_lval_ref_t<_Tp>,
-    __add_rval_ref_t<_Tp>);
-# 3620 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp>
-  inline constexpr bool is_trivially_destructible_v =
-    is_trivially_destructible<_Tp>::value;
-
-
-template <typename _Tp, typename... _Args>
-  inline constexpr bool is_nothrow_constructible_v
-    = __is_nothrow_constructible(_Tp, _Args...);
-template <typename _Tp>
-  inline constexpr bool is_nothrow_default_constructible_v
-    = __is_nothrow_constructible(_Tp);
-template <typename _Tp>
-  inline constexpr bool is_nothrow_copy_constructible_v
-    = __is_nothrow_constructible(_Tp, __add_lval_ref_t<const _Tp>);
-template <typename _Tp>
-  inline constexpr bool is_nothrow_move_constructible_v
-    = __is_nothrow_constructible(_Tp, __add_rval_ref_t<_Tp>);
-
-template <typename _Tp, typename _Up>
-  inline constexpr bool is_nothrow_assignable_v
-    = __is_nothrow_assignable(_Tp, _Up);
-template <typename _Tp>
-  inline constexpr bool is_nothrow_copy_assignable_v
-    = __is_nothrow_assignable(__add_lval_ref_t<_Tp>,
-         __add_lval_ref_t<const _Tp>);
-template <typename _Tp>
-  inline constexpr bool is_nothrow_move_assignable_v
-    = __is_nothrow_assignable(__add_lval_ref_t<_Tp>, __add_rval_ref_t<_Tp>);
-
-template <typename _Tp>
-  inline constexpr bool is_nothrow_destructible_v =
-    is_nothrow_destructible<_Tp>::value;
-
-template <typename _Tp>
-  inline constexpr bool has_virtual_destructor_v
-    = __has_virtual_destructor(_Tp);
-
-template <typename _Tp>
-  inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
-
-
-
-template <typename _Tp>
-  inline constexpr size_t rank_v = __array_rank(_Tp);
-# 3673 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-template <typename _Tp, unsigned _Idx = 0>
-  inline constexpr size_t extent_v = 0;
-template <typename _Tp, size_t _Size>
-  inline constexpr size_t extent_v<_Tp[_Size], 0> = _Size;
-template <typename _Tp, unsigned _Idx, size_t _Size>
-  inline constexpr size_t extent_v<_Tp[_Size], _Idx> = extent_v<_Tp, _Idx - 1>;
-template <typename _Tp>
-  inline constexpr size_t extent_v<_Tp[], 0> = 0;
-template <typename _Tp, unsigned _Idx>
-  inline constexpr size_t extent_v<_Tp[], _Idx> = extent_v<_Tp, _Idx - 1>;
-
-
-template <typename _Tp, typename _Up>
-  inline constexpr bool is_same_v = __is_same(_Tp, _Up);
-
-
-
-
-
-
-template <typename _Base, typename _Derived>
-  inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived);
-
-
-
-
-
-template <typename _From, typename _To>
-  inline constexpr bool is_convertible_v = __is_convertible(_From, _To);
-
-
-
-
-template<typename _Fn, typename... _Args>
-  inline constexpr bool is_invocable_v = is_invocable<_Fn, _Args...>::value;
-template<typename _Fn, typename... _Args>
-  inline constexpr bool is_nothrow_invocable_v
-    = is_nothrow_invocable<_Fn, _Args...>::value;
-template<typename _Ret, typename _Fn, typename... _Args>
-  inline constexpr bool is_invocable_r_v
-    = is_invocable_r<_Ret, _Fn, _Args...>::value;
-template<typename _Ret, typename _Fn, typename... _Args>
-  inline constexpr bool is_nothrow_invocable_r_v
-    = is_nothrow_invocable_r<_Ret, _Fn, _Args...>::value;
-
-
-
-
-
-
-  template<typename _Tp>
-    struct has_unique_object_representations
-    : bool_constant<__has_unique_object_representations(
-      remove_cv_t<remove_all_extents_t<_Tp>>
-      )>
-    {
-      static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
- "template argument must be a complete class or an unbounded array");
-    };
-
-
-
-  template<typename _Tp>
-    inline constexpr bool has_unique_object_representations_v
-      = has_unique_object_representations<_Tp>::value;
-
-
-
-
-
-
-  template<typename _Tp>
-    struct is_aggregate
-    : bool_constant<__is_aggregate(remove_cv_t<_Tp>)>
-    { };
-
-
-
-
-
-
-  template<typename _Tp>
-    inline constexpr bool is_aggregate_v = __is_aggregate(remove_cv_t<_Tp>);
-# 4192 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/type_traits" 3
-}
-}
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 2 3
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-
-  template<typename _Tp>
-    __attribute__((__always_inline__))
-    inline constexpr _Tp*
-    __addressof(_Tp& __r) noexcept
-    { return __builtin_addressof(__r); }
-# 69 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-  template<typename _Tp>
-    [[__nodiscard__,__gnu__::__always_inline__]]
-    constexpr _Tp&&
-    forward(typename std::remove_reference<_Tp>::type& __t) noexcept
-    { return static_cast<_Tp&&>(__t); }
-# 82 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-  template<typename _Tp>
-    [[__nodiscard__,__gnu__::__always_inline__]]
-    constexpr _Tp&&
-    forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
-    {
-      static_assert(!std::is_lvalue_reference<_Tp>::value,
-   "std::forward must not be used to convert an rvalue to an lvalue");
-      return static_cast<_Tp&&>(__t);
-    }
-# 135 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-  template<typename _Tp>
-    [[__nodiscard__,__gnu__::__always_inline__]]
-    constexpr typename std::remove_reference<_Tp>::type&&
-    move(_Tp&& __t) noexcept
-    { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
-
-
-  template<typename _Tp>
-    struct __move_if_noexcept_cond
-    : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
-                    is_copy_constructible<_Tp>>::type { };
-# 156 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-  template<typename _Tp>
-    [[__nodiscard__,__gnu__::__always_inline__]]
-    constexpr
-    __conditional_t<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>
-    move_if_noexcept(_Tp& __x) noexcept
-    { return std::move(__x); }
-# 173 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-  template<typename _Tp>
-    [[__nodiscard__,__gnu__::__always_inline__]]
-    inline constexpr _Tp*
-    addressof(_Tp& __r) noexcept
-    { return std::__addressof(__r); }
-
-
-
-  template<typename _Tp>
-    const _Tp* addressof(const _Tp&&) = delete;
-
-
-  template <typename _Tp, typename _Up = _Tp>
-
-    inline _Tp
-    __exchange(_Tp& __obj, _Up&& __new_val)
-    {
-      _Tp __old_val = std::move(__obj);
-      __obj = std::forward<_Up>(__new_val);
-      return __old_val;
-    }
-# 217 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/move.h" 3
-  template<typename _Tp>
-
-    inline
-
-    typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
-         is_move_constructible<_Tp>,
-         is_move_assignable<_Tp>>::value>::type
-
-
-
-    swap(_Tp& __a, _Tp& __b)
-    noexcept(__and_<is_nothrow_move_constructible<_Tp>, is_nothrow_move_assignable<_Tp>>::value)
-
-    {
-
-
-
-
-      _Tp __tmp = std::move(__a);
-      __a = std::move(__b);
-      __b = std::move(__tmp);
-    }
-
-
-
-
-  template<typename _Tp, size_t _Nm>
-
-    inline
-
-    typename enable_if<__is_swappable<_Tp>::value>::type
-
-
-
-    swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
-    noexcept(__is_nothrow_swappable<_Tp>::value)
-    {
-      for (size_t __n = 0; __n < _Nm; ++__n)
- swap(__a[__n], __b[__n]);
-    }
-
-
-
-}
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 2 3
-
-
-
-
-
-
-
-
-extern "C++" {
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-  class type_info;
-
-
-
-
-
-
-  namespace __exception_ptr
-  {
-    class exception_ptr;
-  }
-
-  using __exception_ptr::exception_ptr;
-# 75 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-  exception_ptr current_exception() noexcept;
-
-  template<typename _Ex>
-  exception_ptr make_exception_ptr(_Ex) noexcept;
-
-
-  void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
-
-  namespace __exception_ptr
-  {
-    using std::rethrow_exception;
-# 97 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-    class exception_ptr
-    {
-      void* _M_exception_object;
-
-      explicit exception_ptr(void* __e) noexcept;
-
-      void _M_addref() noexcept;
-      void _M_release() noexcept;
-
-      void *_M_get() const noexcept __attribute__ ((__pure__));
-
-      friend exception_ptr std::current_exception() noexcept;
-      friend void std::rethrow_exception(exception_ptr);
-      template<typename _Ex>
-      friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
-
-    public:
-      exception_ptr() noexcept;
-
-      exception_ptr(const exception_ptr&) noexcept;
-
-
-      exception_ptr(nullptr_t) noexcept
-      : _M_exception_object(nullptr)
-      { }
-
-      exception_ptr(exception_ptr&& __o) noexcept
-      : _M_exception_object(__o._M_exception_object)
-      { __o._M_exception_object = nullptr; }
-# 135 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-      exception_ptr&
-      operator=(const exception_ptr&) noexcept;
-
-
-      exception_ptr&
-      operator=(exception_ptr&& __o) noexcept
-      {
-        exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
-        return *this;
-      }
-
-
-      ~exception_ptr() noexcept;
-
-      void
-      swap(exception_ptr&) noexcept;
-# 161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-      explicit operator bool() const noexcept
-      { return _M_exception_object; }
-
-
-
-
-
-
-
-      friend bool
-      operator==(const exception_ptr& __x, const exception_ptr& __y)
-      noexcept
-      { return __x._M_exception_object == __y._M_exception_object; }
-
-      friend bool
-      operator!=(const exception_ptr& __x, const exception_ptr& __y)
-      noexcept
-      { return __x._M_exception_object != __y._M_exception_object; }
-
-
-      const class std::type_info*
-      __cxa_exception_type() const noexcept
- __attribute__ ((__pure__));
-    };
-
-
-    inline
-    exception_ptr::exception_ptr() noexcept
-    : _M_exception_object(0)
-    { }
-
-
-    inline
-    exception_ptr::exception_ptr(const exception_ptr& __other)
-    noexcept
-    : _M_exception_object(__other._M_exception_object)
-    {
-      if (_M_exception_object)
- _M_addref();
-    }
-
-
-    inline
-    exception_ptr::~exception_ptr() noexcept
-    {
-      if (_M_exception_object)
- _M_release();
-    }
-
-
-    inline exception_ptr&
-    exception_ptr::operator=(const exception_ptr& __other) noexcept
-    {
-      exception_ptr(__other).swap(*this);
-      return *this;
-    }
-
-
-    inline void
-    exception_ptr::swap(exception_ptr &__other) noexcept
-    {
-      void *__tmp = _M_exception_object;
-      _M_exception_object = __other._M_exception_object;
-      __other._M_exception_object = __tmp;
-    }
-
-
-    inline void
-    swap(exception_ptr& __lhs, exception_ptr& __rhs)
-    { __lhs.swap(__rhs); }
-
-
-    template<typename _Ex>
-
-      inline void
-      __dest_thunk(void* __x)
-      { static_cast<_Ex*>(__x)->~_Ex(); }
-
-
-  }
-
-  using __exception_ptr::swap;
-
-
-
-  template<typename _Ex>
-    exception_ptr
-    make_exception_ptr(_Ex __ex) noexcept
-    {
-
-      using _Ex2 = typename decay<_Ex>::type;
-      void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
-      (void) __cxxabiv1::__cxa_init_primary_exception(
-   __e, const_cast<std::type_info*>(&typeid(_Ex)),
-   __exception_ptr::__dest_thunk<_Ex2>);
-      try
- {
-   ::new (__e) _Ex2(__ex);
-   return exception_ptr(__e);
- }
-      catch(...)
- {
-   __cxxabiv1::__cxa_free_exception(__e);
-   return current_exception();
- }
-# 276 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-    }
-# 290 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/exception_ptr.h" 3
-}
-
-}
-# 169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
-extern "C++" {
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 59 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
-  class nested_exception
-  {
-    exception_ptr _M_ptr;
-
-  public:
-
-    nested_exception() noexcept : _M_ptr(current_exception()) { }
-
-    nested_exception(const nested_exception&) noexcept = default;
-
-    nested_exception& operator=(const nested_exception&) noexcept = default;
-
-    virtual ~nested_exception() noexcept;
-
-
-    [[noreturn]]
-    void
-    rethrow_nested() const
-    {
-      if (_M_ptr)
- rethrow_exception(_M_ptr);
-      std::terminate();
-    }
-
-
-    exception_ptr
-    nested_ptr() const noexcept
-    { return _M_ptr; }
-  };
-
-
-
-  template<typename _Except>
-    struct _Nested_exception : public _Except, public nested_exception
-    {
-      explicit _Nested_exception(const _Except& __ex)
-      : _Except(__ex)
-      { }
-
-      explicit _Nested_exception(_Except&& __ex)
-      : _Except(static_cast<_Except&&>(__ex))
-      { }
-    };
-# 145 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
-  template<typename _Tp>
-    [[noreturn]]
-    inline void
-    throw_with_nested(_Tp&& __t)
-    {
-      using _Up = typename decay<_Tp>::type;
-      using _CopyConstructible
- = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
-      static_assert(_CopyConstructible::value,
-   "throw_with_nested argument must be CopyConstructible");
-
-
-      if constexpr (is_class_v<_Up>)
- if constexpr (!is_final_v<_Up>)
-   if constexpr (!is_base_of_v<nested_exception, _Up>)
-     throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
-      throw std::forward<_Tp>(__t);
-
-
-
-
-
-    }
-# 203 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
-  template<typename _Ex>
-
-
-
-    inline void
-    rethrow_if_nested(const _Ex& __ex)
-    {
-      const _Ex* __ptr = __builtin_addressof(__ex);
-# 223 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/nested_exception.h" 3
-      if constexpr (!is_polymorphic_v<_Ex>)
- return;
-      else if constexpr (is_base_of_v<nested_exception, _Ex>
-    && !is_convertible_v<_Ex*, nested_exception*>)
- return;
-
-
-
-
-      else if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
- __ne_ptr->rethrow_nested();
-
-    }
-
-
-}
-
-}
-# 170 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/exception" 2 3
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 1 3
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-#pragma GCC diagnostic push
-
-
-#pragma GCC diagnostic ignored "-Warray-bounds"
-# 85 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-  template<typename _CharT>
-    struct _Char_types
-    {
-      typedef unsigned long int_type;
-
-      typedef std::streampos pos_type;
-      typedef std::streamoff off_type;
-      typedef std::mbstate_t state_type;
-
-    };
-# 112 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-  template<typename _CharT>
-    struct char_traits
-    {
-      typedef _CharT char_type;
-      typedef typename _Char_types<_CharT>::int_type int_type;
-
-      typedef typename _Char_types<_CharT>::pos_type pos_type;
-      typedef typename _Char_types<_CharT>::off_type off_type;
-      typedef typename _Char_types<_CharT>::state_type state_type;
-
-
-
-
-
-      static constexpr void
-      assign(char_type& __c1, const char_type& __c2)
-      {
-
-
-
-
-
- __c1 = __c2;
-      }
-
-      static constexpr bool
-      eq(const char_type& __c1, const char_type& __c2)
-      { return __c1 == __c2; }
-
-      static constexpr bool
-      lt(const char_type& __c1, const char_type& __c2)
-      { return __c1 < __c2; }
-
-      static constexpr int
-      compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
-
-      static constexpr std::size_t
-      length(const char_type* __s);
-
-      static constexpr const char_type*
-      find(const char_type* __s, std::size_t __n, const char_type& __a);
-
-      static char_type*
-      move(char_type* __s1, const char_type* __s2, std::size_t __n);
-
-      static char_type*
-      copy(char_type* __s1, const char_type* __s2, std::size_t __n);
-
-      static char_type*
-      assign(char_type* __s, std::size_t __n, char_type __a);
-
-      static constexpr char_type
-      to_char_type(const int_type& __c)
-      { return static_cast<char_type>(__c); }
-
-      static constexpr int_type
-      to_int_type(const char_type& __c)
-      { return static_cast<int_type>(__c); }
-
-      static constexpr bool
-      eq_int_type(const int_type& __c1, const int_type& __c2)
-      { return __c1 == __c2; }
-
-
-      static constexpr int_type
-      eof()
-      { return static_cast<int_type>(-1); }
-
-      static constexpr int_type
-      not_eof(const int_type& __c)
-      { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
-
-    };
-
-  template<typename _CharT>
-    constexpr int
-    char_traits<_CharT>::
-    compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
-    {
-      for (std::size_t __i = 0; __i < __n; ++__i)
- if (lt(__s1[__i], __s2[__i]))
-   return -1;
- else if (lt(__s2[__i], __s1[__i]))
-   return 1;
-      return 0;
-    }
-
-  template<typename _CharT>
-    constexpr std::size_t
-    char_traits<_CharT>::
-    length(const char_type* __p)
-    {
-      std::size_t __i = 0;
-      while (!eq(__p[__i], char_type()))
-        ++__i;
-      return __i;
-    }
-
-  template<typename _CharT>
-    constexpr const typename char_traits<_CharT>::char_type*
-    char_traits<_CharT>::
-    find(const char_type* __s, std::size_t __n, const char_type& __a)
-    {
-      for (std::size_t __i = 0; __i < __n; ++__i)
-        if (eq(__s[__i], __a))
-          return __s + __i;
-      return 0;
-    }
-
-  template<typename _CharT>
-
-    typename char_traits<_CharT>::char_type*
-    char_traits<_CharT>::
-    move(char_type* __s1, const char_type* __s2, std::size_t __n)
-    {
-      if (__n == 0)
- return __s1;
-# 248 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-      __builtin_memmove(__s1, __s2, __n * sizeof(char_type));
-      return __s1;
-    }
-
-  template<typename _CharT>
-
-    typename char_traits<_CharT>::char_type*
-    char_traits<_CharT>::
-    copy(char_type* __s1, const char_type* __s2, std::size_t __n)
-    {
-      if (__n == 0)
- return __s1;
-# 268 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-      __builtin_memcpy(__s1, __s2, __n * sizeof(char_type));
-      return __s1;
-    }
-
-  template<typename _CharT>
-
-    typename char_traits<_CharT>::char_type*
-    char_traits<_CharT>::
-    assign(char_type* __s, std::size_t __n, char_type __a)
-    {
-# 287 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-      if constexpr (sizeof(_CharT) == 1 && __is_trivial(_CharT))
- {
-   if (__n)
-     {
-       unsigned char __c;
-       __builtin_memcpy(&__c, __builtin_addressof(__a), 1);
-       __builtin_memset(__s, __c, __n);
-     }
- }
-      else
- {
-   for (std::size_t __i = 0; __i < __n; ++__i)
-     __s[__i] = __a;
- }
-      return __s;
-    }
-
-
-}
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 324 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-  template<typename _CharT>
-    struct char_traits : public __gnu_cxx::char_traits<_CharT>
-    { };
-
-
-
-  template<>
-    struct char_traits<char>
-    {
-      typedef char char_type;
-      typedef int int_type;
-
-      typedef streampos pos_type;
-      typedef streamoff off_type;
-      typedef mbstate_t state_type;
-
-
-
-
-
-      static constexpr void
-      assign(char_type& __c1, const char_type& __c2) noexcept
-      {
-
-
-
-
-
- __c1 = __c2;
-      }
-
-      static constexpr bool
-      eq(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-      static constexpr bool
-      lt(const char_type& __c1, const char_type& __c2) noexcept
-      {
-
- return (static_cast<unsigned char>(__c1)
-  < static_cast<unsigned char>(__c2));
-      }
-
-      static constexpr int
-      compare(const char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return 0;
-
- if (std::__is_constant_evaluated())
-   {
-     for (size_t __i = 0; __i < __n; ++__i)
-       if (lt(__s1[__i], __s2[__i]))
-  return -1;
-       else if (lt(__s2[__i], __s1[__i]))
-  return 1;
-     return 0;
-   }
-
- return __builtin_memcmp(__s1, __s2, __n);
-      }
-
-      static constexpr size_t
-      length(const char_type* __s)
-      {
-
- if (std::__is_constant_evaluated())
-   return __gnu_cxx::char_traits<char_type>::length(__s);
-
- return __builtin_strlen(__s);
-      }
-
-      static constexpr const char_type*
-      find(const char_type* __s, size_t __n, const char_type& __a)
-      {
- if (__n == 0)
-   return 0;
-
- if (std::__is_constant_evaluated())
-   return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
-
- return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
-      }
-
-      static char_type*
-      move(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
-      }
-
-      static char_type*
-      copy(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
-      }
-
-      static char_type*
-      assign(char_type* __s, size_t __n, char_type __a)
-      {
- if (__n == 0)
-   return __s;
-
-
-
-
- return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
-      }
-
-      static constexpr char_type
-      to_char_type(const int_type& __c) noexcept
-      { return static_cast<char_type>(__c); }
-
-
-
-      static constexpr int_type
-      to_int_type(const char_type& __c) noexcept
-      { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
-
-      static constexpr bool
-      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-
-      static constexpr int_type
-      eof() noexcept
-      { return static_cast<int_type>(-1); }
-
-      static constexpr int_type
-      not_eof(const int_type& __c) noexcept
-      { return (__c == eof()) ? 0 : __c; }
-
-  };
-
-
-
-
-  template<>
-    struct char_traits<wchar_t>
-    {
-      typedef wchar_t char_type;
-      typedef wint_t int_type;
-
-      typedef streamoff off_type;
-      typedef wstreampos pos_type;
-      typedef mbstate_t state_type;
-
-
-
-
-
-      static constexpr void
-      assign(char_type& __c1, const char_type& __c2) noexcept
-      {
-
-
-
-
-
- __c1 = __c2;
-      }
-
-      static constexpr bool
-      eq(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-      static constexpr bool
-      lt(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 < __c2; }
-
-      static constexpr int
-      compare(const char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return 0;
-
- if (std::__is_constant_evaluated())
-   return __gnu_cxx::char_traits<char_type>::compare(__s1, __s2, __n);
-
- return wmemcmp(__s1, __s2, __n);
-      }
-
-      static constexpr size_t
-      length(const char_type* __s)
-      {
-
- if (std::__is_constant_evaluated())
-   return __gnu_cxx::char_traits<char_type>::length(__s);
-
- return wcslen(__s);
-      }
-
-      static constexpr const char_type*
-      find(const char_type* __s, size_t __n, const char_type& __a)
-      {
- if (__n == 0)
-   return 0;
-
- if (std::__is_constant_evaluated())
-   return __gnu_cxx::char_traits<char_type>::find(__s, __n, __a);
-
- return wmemchr(__s, __a, __n);
-      }
-
-      static char_type*
-      move(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return wmemmove(__s1, __s2, __n);
-      }
-
-      static char_type*
-      copy(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return wmemcpy(__s1, __s2, __n);
-      }
-
-      static char_type*
-      assign(char_type* __s, size_t __n, char_type __a)
-      {
- if (__n == 0)
-   return __s;
-
-
-
-
- return wmemset(__s, __a, __n);
-      }
-
-      static constexpr char_type
-      to_char_type(const int_type& __c) noexcept
-      { return char_type(__c); }
-
-      static constexpr int_type
-      to_int_type(const char_type& __c) noexcept
-      { return int_type(__c); }
-
-      static constexpr bool
-      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-
-      static constexpr int_type
-      eof() noexcept
-      { return static_cast<int_type>((0xffffffffu)); }
-
-      static constexpr int_type
-      not_eof(const int_type& __c) noexcept
-      { return eq_int_type(__c, eof()) ? 0 : __c; }
-
-  };
-# 732 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-}
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<>
-    struct char_traits<char16_t>
-    {
-      typedef char16_t char_type;
-
-      typedef unsigned short int_type;
-
-
-
-
-      typedef streamoff off_type;
-      typedef u16streampos pos_type;
-      typedef mbstate_t state_type;
-
-
-
-
-
-      static constexpr void
-      assign(char_type& __c1, const char_type& __c2) noexcept
-      {
-
-
-
-
-
- __c1 = __c2;
-      }
-
-      static constexpr bool
-      eq(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-      static constexpr bool
-      lt(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 < __c2; }
-
-      static constexpr int
-      compare(const char_type* __s1, const char_type* __s2, size_t __n)
-      {
- for (size_t __i = 0; __i < __n; ++__i)
-   if (lt(__s1[__i], __s2[__i]))
-     return -1;
-   else if (lt(__s2[__i], __s1[__i]))
-     return 1;
- return 0;
-      }
-
-      static constexpr size_t
-      length(const char_type* __s)
-      {
- size_t __i = 0;
- while (!eq(__s[__i], char_type()))
-   ++__i;
- return __i;
-      }
-
-      static constexpr const char_type*
-      find(const char_type* __s, size_t __n, const char_type& __a)
-      {
- for (size_t __i = 0; __i < __n; ++__i)
-   if (eq(__s[__i], __a))
-     return __s + __i;
- return 0;
-      }
-
-      static char_type*
-      move(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return (static_cast<char_type*>
-  (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
-      }
-
-      static char_type*
-      copy(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return (static_cast<char_type*>
-  (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
-      }
-
-      static char_type*
-      assign(char_type* __s, size_t __n, char_type __a)
-      {
- for (size_t __i = 0; __i < __n; ++__i)
-   assign(__s[__i], __a);
- return __s;
-      }
-
-      static constexpr char_type
-      to_char_type(const int_type& __c) noexcept
-      { return char_type(__c); }
-
-      static constexpr bool
-      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-
-      static constexpr int_type
-      to_int_type(const char_type& __c) noexcept
-      { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
-
-      static constexpr int_type
-      eof() noexcept
-      { return static_cast<int_type>(-1); }
-
-      static constexpr int_type
-      not_eof(const int_type& __c) noexcept
-      { return eq_int_type(__c, eof()) ? 0 : __c; }
-
-
-
-
-
-    };
-
-  template<>
-    struct char_traits<char32_t>
-    {
-      typedef char32_t char_type;
-
-      typedef unsigned int int_type;
-
-
-
-
-      typedef streamoff off_type;
-      typedef u32streampos pos_type;
-      typedef mbstate_t state_type;
-
-
-
-
-
-      static constexpr void
-      assign(char_type& __c1, const char_type& __c2) noexcept
-      {
-
-
-
-
-
- __c1 = __c2;
-      }
-
-      static constexpr bool
-      eq(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-      static constexpr bool
-      lt(const char_type& __c1, const char_type& __c2) noexcept
-      { return __c1 < __c2; }
-
-      static constexpr int
-      compare(const char_type* __s1, const char_type* __s2, size_t __n)
-      {
- for (size_t __i = 0; __i < __n; ++__i)
-   if (lt(__s1[__i], __s2[__i]))
-     return -1;
-   else if (lt(__s2[__i], __s1[__i]))
-     return 1;
- return 0;
-      }
-
-      static constexpr size_t
-      length(const char_type* __s)
-      {
- size_t __i = 0;
- while (!eq(__s[__i], char_type()))
-   ++__i;
- return __i;
-      }
-
-      static constexpr const char_type*
-      find(const char_type* __s, size_t __n, const char_type& __a)
-      {
- for (size_t __i = 0; __i < __n; ++__i)
-   if (eq(__s[__i], __a))
-     return __s + __i;
- return 0;
-      }
-
-      static char_type*
-      move(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return (static_cast<char_type*>
-  (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
-      }
-
-      static char_type*
-      copy(char_type* __s1, const char_type* __s2, size_t __n)
-      {
- if (__n == 0)
-   return __s1;
-
-
-
-
- return (static_cast<char_type*>
-  (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
-      }
-
-      static char_type*
-      assign(char_type* __s, size_t __n, char_type __a)
-      {
- for (size_t __i = 0; __i < __n; ++__i)
-   assign(__s[__i], __a);
- return __s;
-      }
-
-      static constexpr char_type
-      to_char_type(const int_type& __c) noexcept
-      { return char_type(__c); }
-
-      static constexpr int_type
-      to_int_type(const char_type& __c) noexcept
-      { return int_type(__c); }
-
-      static constexpr bool
-      eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
-      { return __c1 == __c2; }
-
-
-      static constexpr int_type
-      eof() noexcept
-      { return static_cast<int_type>(-1); }
-
-      static constexpr int_type
-      not_eof(const int_type& __c) noexcept
-      { return eq_int_type(__c, eof()) ? 0 : __c; }
-
-    };
-# 1009 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/char_traits.h" 3
-#pragma GCC diagnostic pop
-
-
-}
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/clocale" 1 3
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/clocale" 3
-# 1 "/usr/include/locale.h" 1 3 4
-# 28 "/usr/include/locale.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 29 "/usr/include/locale.h" 2 3 4
-# 1 "/usr/include/bits/locale.h" 1 3 4
-# 30 "/usr/include/locale.h" 2 3 4
-
-extern "C" {
-# 51 "/usr/include/locale.h" 3 4
-struct lconv
-{
-
-
-  char *decimal_point;
-  char *thousands_sep;
-
-
-
-
-
-  char *grouping;
-
-
-
-
-
-  char *int_curr_symbol;
-  char *currency_symbol;
-  char *mon_decimal_point;
-  char *mon_thousands_sep;
-  char *mon_grouping;
-  char *positive_sign;
-  char *negative_sign;
-  char int_frac_digits;
-  char frac_digits;
-
-  char p_cs_precedes;
-
-  char p_sep_by_space;
-
-  char n_cs_precedes;
-
-  char n_sep_by_space;
-
-
-
-
-
-
-  char p_sign_posn;
-  char n_sign_posn;
-
-
-  char int_p_cs_precedes;
-
-  char int_p_sep_by_space;
-
-  char int_n_cs_precedes;
-
-  char int_n_sep_by_space;
-
-
-
-
-
-
-  char int_p_sign_posn;
-  char int_n_sign_posn;
-# 118 "/usr/include/locale.h" 3 4
-};
-
-
-
-extern char *setlocale (int __category, const char *__locale) noexcept (true);
-
-
-extern struct lconv *localeconv (void) noexcept (true);
-# 141 "/usr/include/locale.h" 3 4
-extern locale_t newlocale (int __category_mask, const char *__locale,
-      locale_t __base) noexcept (true);
-# 176 "/usr/include/locale.h" 3 4
-extern locale_t duplocale (locale_t __dataset) noexcept (true);
-
-
-
-extern void freelocale (locale_t __dataset) noexcept (true);
-
-
-
-
-
-
-extern locale_t uselocale (locale_t __dataset) noexcept (true);
-
-
-
-
-
-
-
-}
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/clocale" 2 3
-
-
-
-
-
-namespace std
-{
-  using ::lconv;
-  using ::setlocale;
-  using ::localeconv;
-}
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 2 3
-
-
-
-
-
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-  extern "C" __typeof(uselocale) __uselocale;
-
-
-}
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  typedef __locale_t __c_locale;
-# 73 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 3
-  inline int
-  __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
-     char* __out,
-     const int __size __attribute__ ((__unused__)),
-     const char* __fmt, ...)
-  {
-
-    __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-# 93 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++locale.h" 3
-    __builtin_va_list __args;
-    __builtin_va_start(__args, __fmt);
-
-
-    const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
-
-
-
-
-    __builtin_va_end(__args);
-
-
-    __gnu_cxx::__uselocale(__old);
-
-
-
-
-
-
-
-    return __ret;
-  }
-
-
-
-
-
-
-
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 1 3
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/ctype.h" 1 3
-# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/ctype.h" 3
-# 1 "/usr/include/ctype.h" 1 3 4
-# 26 "/usr/include/ctype.h" 3 4
-# 1 "/usr/include/bits/types.h" 1 3 4
-# 27 "/usr/include/bits/types.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 28 "/usr/include/bits/types.h" 2 3 4
-# 1 "/usr/include/bits/timesize.h" 1 3 4
-# 19 "/usr/include/bits/timesize.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 20 "/usr/include/bits/timesize.h" 2 3 4
-# 29 "/usr/include/bits/types.h" 2 3 4
-
-
-typedef unsigned char __u_char;
-typedef unsigned short int __u_short;
-typedef unsigned int __u_int;
-typedef unsigned long int __u_long;
-
-
-typedef signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef signed short int __int16_t;
-typedef unsigned short int __uint16_t;
-typedef signed int __int32_t;
-typedef unsigned int __uint32_t;
-
-typedef signed long int __int64_t;
-typedef unsigned long int __uint64_t;
-
-
-
-
-
-
-typedef __int8_t __int_least8_t;
-typedef __uint8_t __uint_least8_t;
-typedef __int16_t __int_least16_t;
-typedef __uint16_t __uint_least16_t;
-typedef __int32_t __int_least32_t;
-typedef __uint32_t __uint_least32_t;
-typedef __int64_t __int_least64_t;
-typedef __uint64_t __uint_least64_t;
-
-
-
-typedef long int __quad_t;
-typedef unsigned long int __u_quad_t;
-
-
-
-
-
-
-
-typedef long int __intmax_t;
-typedef unsigned long int __uintmax_t;
-# 141 "/usr/include/bits/types.h" 3 4
-# 1 "/usr/include/bits/typesizes.h" 1 3 4
-# 142 "/usr/include/bits/types.h" 2 3 4
-# 1 "/usr/include/bits/time64.h" 1 3 4
-# 143 "/usr/include/bits/types.h" 2 3 4
-
-
-typedef unsigned long int __dev_t;
-typedef unsigned int __uid_t;
-typedef unsigned int __gid_t;
-typedef unsigned long int __ino_t;
-typedef unsigned long int __ino64_t;
-typedef unsigned int __mode_t;
-typedef unsigned long int __nlink_t;
-typedef long int __off_t;
-typedef long int __off64_t;
-typedef int __pid_t;
-typedef struct { int __val[2]; } __fsid_t;
-typedef long int __clock_t;
-typedef unsigned long int __rlim_t;
-typedef unsigned long int __rlim64_t;
-typedef unsigned int __id_t;
-typedef long int __time_t;
-typedef unsigned int __useconds_t;
-typedef long int __suseconds_t;
-typedef long int __suseconds64_t;
-
-typedef int __daddr_t;
-typedef int __key_t;
-
-
-typedef int __clockid_t;
-
-
-typedef void * __timer_t;
-
-
-typedef long int __blksize_t;
-
-
-
-
-typedef long int __blkcnt_t;
-typedef long int __blkcnt64_t;
-
-
-typedef unsigned long int __fsblkcnt_t;
-typedef unsigned long int __fsblkcnt64_t;
-
-
-typedef unsigned long int __fsfilcnt_t;
-typedef unsigned long int __fsfilcnt64_t;
-
-
-typedef long int __fsword_t;
-
-typedef long int __ssize_t;
-
-
-typedef long int __syscall_slong_t;
-
-typedef unsigned long int __syscall_ulong_t;
-
-
-
-typedef __off64_t __loff_t;
-typedef char *__caddr_t;
-
-
-typedef long int __intptr_t;
-
-
-typedef unsigned int __socklen_t;
-
-
-
-
-typedef int __sig_atomic_t;
-# 27 "/usr/include/ctype.h" 2 3 4
-
-extern "C" {
-# 39 "/usr/include/ctype.h" 3 4
-# 1 "/usr/include/bits/endian.h" 1 3 4
-# 35 "/usr/include/bits/endian.h" 3 4
-# 1 "/usr/include/bits/endianness.h" 1 3 4
-# 36 "/usr/include/bits/endian.h" 2 3 4
-# 40 "/usr/include/ctype.h" 2 3 4
-
-
-
-
-
-
-enum
-{
-  _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
-  _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
-  _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
-  _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
-  _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
-  _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
-  _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
-  _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
-  _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
-  _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
-  _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
-  _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
-};
-# 79 "/usr/include/ctype.h" 3 4
-extern const unsigned short int **__ctype_b_loc (void)
-     noexcept (true) __attribute__ ((__const__));
-extern const __int32_t **__ctype_tolower_loc (void)
-     noexcept (true) __attribute__ ((__const__));
-extern const __int32_t **__ctype_toupper_loc (void)
-     noexcept (true) __attribute__ ((__const__));
-# 108 "/usr/include/ctype.h" 3 4
-extern int isalnum (int) noexcept (true);
-extern int isalpha (int) noexcept (true);
-extern int iscntrl (int) noexcept (true);
-extern int isdigit (int) noexcept (true);
-extern int islower (int) noexcept (true);
-extern int isgraph (int) noexcept (true);
-extern int isprint (int) noexcept (true);
-extern int ispunct (int) noexcept (true);
-extern int isspace (int) noexcept (true);
-extern int isupper (int) noexcept (true);
-extern int isxdigit (int) noexcept (true);
-
-
-
-extern int tolower (int __c) noexcept (true);
-
-
-extern int toupper (int __c) noexcept (true);
-
-
-
-
-extern int isblank (int) noexcept (true);
-
-
-
-
-extern int isctype (int __c, int __mask) noexcept (true);
-
-
-
-
-
-
-extern int isascii (int __c) noexcept (true);
-
-
-
-extern int toascii (int __c) noexcept (true);
-
-
-
-extern int _toupper (int) noexcept (true);
-extern int _tolower (int) noexcept (true);
-# 251 "/usr/include/ctype.h" 3 4
-extern int isalnum_l (int, locale_t) noexcept (true);
-extern int isalpha_l (int, locale_t) noexcept (true);
-extern int iscntrl_l (int, locale_t) noexcept (true);
-extern int isdigit_l (int, locale_t) noexcept (true);
-extern int islower_l (int, locale_t) noexcept (true);
-extern int isgraph_l (int, locale_t) noexcept (true);
-extern int isprint_l (int, locale_t) noexcept (true);
-extern int ispunct_l (int, locale_t) noexcept (true);
-extern int isspace_l (int, locale_t) noexcept (true);
-extern int isupper_l (int, locale_t) noexcept (true);
-extern int isxdigit_l (int, locale_t) noexcept (true);
-
-extern int isblank_l (int, locale_t) noexcept (true);
-
-
-
-extern int __tolower_l (int __c, locale_t __l) noexcept (true);
-extern int tolower_l (int __c, locale_t __l) noexcept (true);
-
-
-extern int __toupper_l (int __c, locale_t __l) noexcept (true);
-extern int toupper_l (int __c, locale_t __l) noexcept (true);
-# 327 "/usr/include/ctype.h" 3 4
-}
-# 18 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/ctype.h" 2 3
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 2 3
-# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cctype" 3
-namespace std
-{
-  using ::isalnum;
-  using ::isalpha;
-  using ::iscntrl;
-  using ::isdigit;
-  using ::isgraph;
-  using ::islower;
-  using ::isprint;
-  using ::ispunct;
-  using ::isspace;
-  using ::isupper;
-  using ::isxdigit;
-  using ::tolower;
-  using ::toupper;
-}
-
-
-
-
-
-
-
-namespace std
-{
-  using ::isblank;
-}
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 57 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/localefwd.h" 3
-  class locale;
-
-  template<typename _Facet>
-    bool
-    has_facet(const locale&) throw();
-
-  template<typename _Facet>
-    const _Facet&
-    use_facet(const locale&);
-
-
-  template<typename _CharT>
-    bool
-    isspace(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isprint(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    iscntrl(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isupper(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    islower(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isalpha(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isdigit(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    ispunct(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isxdigit(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isalnum(_CharT, const locale&);
-
-  template<typename _CharT>
-    bool
-    isgraph(_CharT, const locale&);
-
-
-  template<typename _CharT>
-    bool
-    isblank(_CharT, const locale&);
-
-
-  template<typename _CharT>
-    _CharT
-    toupper(_CharT, const locale&);
-
-  template<typename _CharT>
-    _CharT
-    tolower(_CharT, const locale&);
-
-
-  struct ctype_base;
-  template<typename _CharT>
-    class ctype;
-  template<> class ctype<char>;
-
-  template<> class ctype<wchar_t>;
-
-  template<typename _CharT>
-    class ctype_byname;
-
-
-  class codecvt_base;
-  template<typename _InternT, typename _ExternT, typename _StateT>
-    class codecvt;
-  template<> class codecvt<char, char, mbstate_t>;
-
-  template<> class codecvt<wchar_t, char, mbstate_t>;
-
-
-  template<> class codecvt<char16_t, char, mbstate_t>;
-  template<> class codecvt<char32_t, char, mbstate_t>;
-
-
-
-
-
-  template<typename _InternT, typename _ExternT, typename _StateT>
-    class codecvt_byname;
-
-
-
-  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
-    class num_get;
-  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
-    class num_put;
-
-namespace __cxx11 {
-  template<typename _CharT> class numpunct;
-  template<typename _CharT> class numpunct_byname;
-}
-
-namespace __cxx11 {
-
-  template<typename _CharT>
-    class collate;
-  template<typename _CharT>
-    class collate_byname;
-}
-
-
-  class time_base;
-namespace __cxx11 {
-  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
-    class time_get;
-  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
-    class time_get_byname;
-}
-  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
-    class time_put;
-  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
-    class time_put_byname;
-
-
-  class money_base;
-namespace __cxx11 {
-  template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
-    class money_get;
-  template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
-    class money_put;
-}
-namespace __cxx11 {
-  template<typename _CharT, bool _Intl = false>
-    class moneypunct;
-  template<typename _CharT, bool _Intl = false>
-    class moneypunct_byname;
-}
-
-
-  struct messages_base;
-namespace __cxx11 {
-  template<typename _CharT>
-    class messages;
-  template<typename _CharT>
-    class messages_byname;
-}
-
-
-}
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 1 3
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 1 3
-# 30 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 3
-#pragma GCC visibility push(default)
-# 157 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 1 3
-# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
-# 1 "/usr/include/pthread.h" 1 3 4
-# 22 "/usr/include/pthread.h" 3 4
-# 1 "/usr/include/sched.h" 1 3 4
-# 29 "/usr/include/sched.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 30 "/usr/include/sched.h" 2 3 4
-
-# 1 "/usr/include/bits/types/time_t.h" 1 3 4
-# 10 "/usr/include/bits/types/time_t.h" 3 4
-typedef __time_t time_t;
-# 32 "/usr/include/sched.h" 2 3 4
-# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4
-# 11 "/usr/include/bits/types/struct_timespec.h" 3 4
-struct timespec
-{
-
-
-
-  __time_t tv_sec;
-
-
-
-
-  __syscall_slong_t tv_nsec;
-# 31 "/usr/include/bits/types/struct_timespec.h" 3 4
-};
-# 33 "/usr/include/sched.h" 2 3 4
-
-
-
-
-
-typedef __pid_t pid_t;
-
-
-
-
-# 1 "/usr/include/bits/sched.h" 1 3 4
-# 63 "/usr/include/bits/sched.h" 3 4
-# 1 "/usr/include/linux/sched/types.h" 1 3 4
-
-
-
-
-# 1 "/usr/include/linux/types.h" 1 3 4
-
-
-
-
-# 1 "/usr/include/asm/types.h" 1 3 4
-# 1 "/usr/include/asm-generic/types.h" 1 3 4
-
-
-
-
-
-
-# 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4
-# 12 "/usr/include/asm-generic/int-ll64.h" 3 4
-# 1 "/usr/include/asm/bitsperlong.h" 1 3 4
-# 11 "/usr/include/asm/bitsperlong.h" 3 4
-# 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4
-# 12 "/usr/include/asm/bitsperlong.h" 2 3 4
-# 13 "/usr/include/asm-generic/int-ll64.h" 2 3 4
-
-
-
-
-
-
-
-typedef __signed__ char __s8;
-typedef unsigned char __u8;
-
-typedef __signed__ short __s16;
-typedef unsigned short __u16;
-
-typedef __signed__ int __s32;
-typedef unsigned int __u32;
-
-
-__extension__ typedef __signed__ long long __s64;
-__extension__ typedef unsigned long long __u64;
-# 8 "/usr/include/asm-generic/types.h" 2 3 4
-# 2 "/usr/include/asm/types.h" 2 3 4
-# 6 "/usr/include/linux/types.h" 2 3 4
-
-
-
-# 1 "/usr/include/linux/posix_types.h" 1 3 4
-
-
-
-
-# 1 "/usr/include/linux/stddef.h" 1 3 4
-# 6 "/usr/include/linux/posix_types.h" 2 3 4
-# 25 "/usr/include/linux/posix_types.h" 3 4
-typedef struct {
- unsigned long fds_bits[1024 / (8 * sizeof(long))];
-} __kernel_fd_set;
-
-
-typedef void (*__kernel_sighandler_t)(int);
-
-
-typedef int __kernel_key_t;
-typedef int __kernel_mqd_t;
-
-# 1 "/usr/include/asm/posix_types.h" 1 3 4
-
-
-
-
-
-
-# 1 "/usr/include/asm/posix_types_64.h" 1 3 4
-# 11 "/usr/include/asm/posix_types_64.h" 3 4
-typedef unsigned short __kernel_old_uid_t;
-typedef unsigned short __kernel_old_gid_t;
-
-
-typedef unsigned long __kernel_old_dev_t;
-
-
-# 1 "/usr/include/asm-generic/posix_types.h" 1 3 4
-# 15 "/usr/include/asm-generic/posix_types.h" 3 4
-typedef long __kernel_long_t;
-typedef unsigned long __kernel_ulong_t;
-
-
-
-typedef __kernel_ulong_t __kernel_ino_t;
-
-
-
-typedef unsigned int __kernel_mode_t;
-
-
-
-typedef int __kernel_pid_t;
-
-
-
-typedef int __kernel_ipc_pid_t;
-
-
-
-typedef unsigned int __kernel_uid_t;
-typedef unsigned int __kernel_gid_t;
-
-
-
-typedef __kernel_long_t __kernel_suseconds_t;
-
-
-
-typedef int __kernel_daddr_t;
-
-
-
-typedef unsigned int __kernel_uid32_t;
-typedef unsigned int __kernel_gid32_t;
-# 72 "/usr/include/asm-generic/posix_types.h" 3 4
-typedef __kernel_ulong_t __kernel_size_t;
-typedef __kernel_long_t __kernel_ssize_t;
-typedef __kernel_long_t __kernel_ptrdiff_t;
-
-
-
-
-typedef struct {
- int val[2];
-} __kernel_fsid_t;
-
-
-
-
-
-typedef __kernel_long_t __kernel_off_t;
-typedef long long __kernel_loff_t;
-typedef __kernel_long_t __kernel_old_time_t;
-typedef __kernel_long_t __kernel_time_t;
-typedef long long __kernel_time64_t;
-typedef __kernel_long_t __kernel_clock_t;
-typedef int __kernel_timer_t;
-typedef int __kernel_clockid_t;
-typedef char * __kernel_caddr_t;
-typedef unsigned short __kernel_uid16_t;
-typedef unsigned short __kernel_gid16_t;
-# 19 "/usr/include/asm/posix_types_64.h" 2 3 4
-# 8 "/usr/include/asm/posix_types.h" 2 3 4
-# 37 "/usr/include/linux/posix_types.h" 2 3 4
-# 10 "/usr/include/linux/types.h" 2 3 4
-
-
-typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
-typedef unsigned __int128 __u128 __attribute__((aligned(16)));
-# 31 "/usr/include/linux/types.h" 3 4
-typedef __u16 __le16;
-typedef __u16 __be16;
-typedef __u32 __le32;
-typedef __u32 __be32;
-typedef __u64 __le64;
-typedef __u64 __be64;
-
-typedef __u16 __sum16;
-typedef __u32 __wsum;
-# 55 "/usr/include/linux/types.h" 3 4
-typedef unsigned __poll_t;
-# 6 "/usr/include/linux/sched/types.h" 2 3 4
-# 98 "/usr/include/linux/sched/types.h" 3 4
-struct sched_attr {
- __u32 size;
-
- __u32 sched_policy;
- __u64 sched_flags;
-
-
- __s32 sched_nice;
-
-
- __u32 sched_priority;
-
-
- __u64 sched_runtime;
- __u64 sched_deadline;
- __u64 sched_period;
-
-
- __u32 sched_util_min;
- __u32 sched_util_max;
-
-};
-# 64 "/usr/include/bits/sched.h" 2 3 4
-# 126 "/usr/include/bits/sched.h" 3 4
-# 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4
-# 23 "/usr/include/bits/types/struct_sched_param.h" 3 4
-struct sched_param
-{
-  int sched_priority;
-};
-# 127 "/usr/include/bits/sched.h" 2 3 4
-
-extern "C" {
-
-
-
-extern int clone (int (*__fn) (void *__arg), void *__child_stack,
-    int __flags, void *__arg, ...) noexcept (true);
-
-
-extern int unshare (int __flags) noexcept (true);
-
-
-extern int sched_getcpu (void) noexcept (true);
-
-
-extern int getcpu (unsigned int *, unsigned int *) noexcept (true);
-
-
-extern int setns (int __fd, int __nstype) noexcept (true);
-
-
-int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
-  noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-
-int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
-     unsigned int flags)
-  noexcept (true) __attribute__ ((__nonnull__ (2))) ;
-
-
-
-}
-# 44 "/usr/include/sched.h" 2 3 4
-# 1 "/usr/include/bits/cpu-set.h" 1 3 4
-# 32 "/usr/include/bits/cpu-set.h" 3 4
-typedef unsigned long int __cpu_mask;
-
-
-
-
-
-
-typedef struct
-{
-  __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
-} cpu_set_t;
-# 115 "/usr/include/bits/cpu-set.h" 3 4
-extern "C" {
-
-extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
-     noexcept (true);
-extern cpu_set_t *__sched_cpualloc (size_t __count) noexcept (true) ;
-extern void __sched_cpufree (cpu_set_t *__set) noexcept (true);
-
-}
-# 45 "/usr/include/sched.h" 2 3 4
-
-
-
-
-
-
-extern "C" {
-
-
-extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
-     noexcept (true);
-
-
-extern int sched_getparam (__pid_t __pid, struct sched_param *__param) noexcept (true);
-
-
-extern int sched_setscheduler (__pid_t __pid, int __policy,
-          const struct sched_param *__param) noexcept (true);
-
-
-extern int sched_getscheduler (__pid_t __pid) noexcept (true);
-
-
-extern int sched_yield (void) noexcept (true);
-
-
-extern int sched_get_priority_max (int __algorithm) noexcept (true);
-
-
-extern int sched_get_priority_min (int __algorithm) noexcept (true);
-
-
-
-extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) noexcept (true);
-# 130 "/usr/include/sched.h" 3 4
-extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
-         const cpu_set_t *__cpuset) noexcept (true);
-
-
-extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
-         cpu_set_t *__cpuset) noexcept (true);
-
-
-}
-# 23 "/usr/include/pthread.h" 2 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/time.h" 1 3 4
-# 16 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/time.h" 3 4
-# 1 "/usr/include/time.h" 1 3 4
-# 29 "/usr/include/time.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 30 "/usr/include/time.h" 2 3 4
-
-
-
-# 1 "/usr/include/bits/time.h" 1 3 4
-# 73 "/usr/include/bits/time.h" 3 4
-# 1 "/usr/include/bits/timex.h" 1 3 4
-# 22 "/usr/include/bits/timex.h" 3 4
-# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4
-
-
-
-
-
-
-
-struct timeval
-{
-
-
-
-
-  __time_t tv_sec;
-  __suseconds_t tv_usec;
-
-};
-# 23 "/usr/include/bits/timex.h" 2 3 4
-
-
-
-struct timex
-{
-# 58 "/usr/include/bits/timex.h" 3 4
-  unsigned int modes;
-  __syscall_slong_t offset;
-  __syscall_slong_t freq;
-  __syscall_slong_t maxerror;
-  __syscall_slong_t esterror;
-  int status;
-  __syscall_slong_t constant;
-  __syscall_slong_t precision;
-  __syscall_slong_t tolerance;
-  struct timeval time;
-  __syscall_slong_t tick;
-  __syscall_slong_t ppsfreq;
-  __syscall_slong_t jitter;
-  int shift;
-  __syscall_slong_t stabil;
-  __syscall_slong_t jitcnt;
-  __syscall_slong_t calcnt;
-  __syscall_slong_t errcnt;
-  __syscall_slong_t stbcnt;
-
-  int tai;
-
-
-  int :32; int :32; int :32; int :32;
-  int :32; int :32; int :32; int :32;
-  int :32; int :32; int :32;
-
-};
-# 74 "/usr/include/bits/time.h" 2 3 4
-
-extern "C" {
-
-
-extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) noexcept (true) __attribute__ ((__nonnull__ (2)));
-# 90 "/usr/include/bits/time.h" 3 4
-}
-# 34 "/usr/include/time.h" 2 3 4
-
-
-
-# 1 "/usr/include/bits/types/clock_t.h" 1 3 4
-
-
-
-
-
-
-typedef __clock_t clock_t;
-# 38 "/usr/include/time.h" 2 3 4
-
-# 1 "/usr/include/bits/types/struct_tm.h" 1 3 4
-
-
-
-
-
-
-struct tm
-{
-  int tm_sec;
-  int tm_min;
-  int tm_hour;
-  int tm_mday;
-  int tm_mon;
-  int tm_year;
-  int tm_wday;
-  int tm_yday;
-  int tm_isdst;
-
-
-  long int tm_gmtoff;
-  const char *tm_zone;
-
-
-
-
-};
-# 40 "/usr/include/time.h" 2 3 4
-
-
-
-
-
-
-# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4
-
-
-
-
-
-
-typedef __clockid_t clockid_t;
-# 47 "/usr/include/time.h" 2 3 4
-# 1 "/usr/include/bits/types/timer_t.h" 1 3 4
-
-
-
-
-
-
-typedef __timer_t timer_t;
-# 48 "/usr/include/time.h" 2 3 4
-# 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4
-
-
-
-
-
-
-
-struct itimerspec
-  {
-    struct timespec it_interval;
-    struct timespec it_value;
-  };
-# 49 "/usr/include/time.h" 2 3 4
-struct sigevent;
-# 68 "/usr/include/time.h" 3 4
-extern "C" {
-
-
-
-extern clock_t clock (void) noexcept (true);
-
-
-
-extern time_t time (time_t *__timer) noexcept (true);
-
-
-extern double difftime (time_t __time1, time_t __time0);
-
-
-extern time_t mktime (struct tm *__tp) noexcept (true);
-# 99 "/usr/include/time.h" 3 4
-extern size_t strftime (char *__restrict __s, size_t __maxsize,
-   const char *__restrict __format,
-   const struct tm *__restrict __tp)
-   noexcept (true) __attribute__ ((__nonnull__ (1, 3, 4)));
-
-
-
-
-extern char *strptime (const char *__restrict __s,
-         const char *__restrict __fmt, struct tm *__tp)
-     noexcept (true);
-
-
-
-
-
-
-extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
-     const char *__restrict __format,
-     const struct tm *__restrict __tp,
-     locale_t __loc) noexcept (true);
-
-
-
-extern char *strptime_l (const char *__restrict __s,
-    const char *__restrict __fmt, struct tm *__tp,
-    locale_t __loc) noexcept (true);
-
-
-
-
-
-
-extern struct tm *gmtime (const time_t *__timer) noexcept (true);
-
-
-
-extern struct tm *localtime (const time_t *__timer) noexcept (true);
-# 154 "/usr/include/time.h" 3 4
-extern struct tm *gmtime_r (const time_t *__restrict __timer,
-       struct tm *__restrict __tp) noexcept (true);
-
-
-
-extern struct tm *localtime_r (const time_t *__restrict __timer,
-          struct tm *__restrict __tp) noexcept (true);
-# 179 "/usr/include/time.h" 3 4
-extern char *asctime (const struct tm *__tp) noexcept (true);
-
-
-
-extern char *ctime (const time_t *__timer) noexcept (true);
-# 197 "/usr/include/time.h" 3 4
-extern char *asctime_r (const struct tm *__restrict __tp,
-   char *__restrict __buf) noexcept (true);
-
-
-
-extern char *ctime_r (const time_t *__restrict __timer,
-        char *__restrict __buf) noexcept (true);
-# 217 "/usr/include/time.h" 3 4
-extern char *__tzname[2];
-extern int __daylight;
-extern long int __timezone;
-
-
-
-
-extern char *tzname[2];
-
-
-
-extern void tzset (void) noexcept (true);
-
-
-
-extern int daylight;
-extern long int timezone;
-# 246 "/usr/include/time.h" 3 4
-extern time_t timegm (struct tm *__tp) noexcept (true);
-# 263 "/usr/include/time.h" 3 4
-extern time_t timelocal (struct tm *__tp) noexcept (true);
-
-
-
-
-
-
-
-extern int dysize (int __year) noexcept (true) __attribute__ ((__const__));
-# 281 "/usr/include/time.h" 3 4
-extern int nanosleep (const struct timespec *__requested_time,
-        struct timespec *__remaining);
-
-
-extern int clock_getres (clockid_t __clock_id, struct timespec *__res) noexcept (true);
-
-
-extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-# 323 "/usr/include/time.h" 3 4
-extern int clock_nanosleep (clockid_t __clock_id, int __flags,
-       const struct timespec *__req,
-       struct timespec *__rem);
-# 338 "/usr/include/time.h" 3 4
-extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) noexcept (true);
-
-
-
-
-extern int timer_create (clockid_t __clock_id,
-    struct sigevent *__restrict __evp,
-    timer_t *__restrict __timerid) noexcept (true);
-
-
-extern int timer_delete (timer_t __timerid) noexcept (true);
-
-
-
-extern int timer_settime (timer_t __timerid, int __flags,
-     const struct itimerspec *__restrict __value,
-     struct itimerspec *__restrict __ovalue) noexcept (true);
-
-
-extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
-     noexcept (true);
-# 376 "/usr/include/time.h" 3 4
-extern int timer_getoverrun (timer_t __timerid) noexcept (true);
-
-
-
-
-
-
-extern int timespec_get (struct timespec *__ts, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 399 "/usr/include/time.h" 3 4
-extern int timespec_getres (struct timespec *__ts, int __base)
-     noexcept (true);
-# 425 "/usr/include/time.h" 3 4
-extern int getdate_err;
-# 434 "/usr/include/time.h" 3 4
-extern struct tm *getdate (const char *__string);
-# 448 "/usr/include/time.h" 3 4
-extern int getdate_r (const char *__restrict __string,
-        struct tm *__restrict __resbufp);
-
-
-}
-# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/time.h" 2 3 4
-# 24 "/usr/include/pthread.h" 2 3 4
-
-
-# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
-# 23 "/usr/include/bits/pthreadtypes.h" 3 4
-# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4
-# 44 "/usr/include/bits/thread-shared-types.h" 3 4
-# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4
-# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4
-# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4
-
-# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4
-# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4
-typedef union
-{
-  __extension__ unsigned long long int __value64;
-  struct
-  {
-    unsigned int __low;
-    unsigned int __high;
-  } __value32;
-} __atomic_wide_counter;
-# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4
-
-
-
-
-typedef struct __pthread_internal_list
-{
-  struct __pthread_internal_list *__prev;
-  struct __pthread_internal_list *__next;
-} __pthread_list_t;
-
-typedef struct __pthread_internal_slist
-{
-  struct __pthread_internal_slist *__next;
-} __pthread_slist_t;
-# 76 "/usr/include/bits/thread-shared-types.h" 3 4
-# 1 "/usr/include/bits/struct_mutex.h" 1 3 4
-# 22 "/usr/include/bits/struct_mutex.h" 3 4
-struct __pthread_mutex_s
-{
-  int __lock;
-  unsigned int __count;
-  int __owner;
-
-  unsigned int __nusers;
-
-
-
-  int __kind;
-
-  short __spins;
-  short __elision;
-  __pthread_list_t __list;
-# 53 "/usr/include/bits/struct_mutex.h" 3 4
-};
-# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4
-# 89 "/usr/include/bits/thread-shared-types.h" 3 4
-# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4
-# 23 "/usr/include/bits/struct_rwlock.h" 3 4
-struct __pthread_rwlock_arch_t
-{
-  unsigned int __readers;
-  unsigned int __writers;
-  unsigned int __wrphase_futex;
-  unsigned int __writers_futex;
-  unsigned int __pad3;
-  unsigned int __pad4;
-
-  int __cur_writer;
-  int __shared;
-  signed char __rwelision;
-
-
-
-
-  unsigned char __pad1[7];
-
-
-  unsigned long int __pad2;
-
-
-  unsigned int __flags;
-# 55 "/usr/include/bits/struct_rwlock.h" 3 4
-};
-# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4
-
-
-
-
-struct __pthread_cond_s
-{
-  __atomic_wide_counter __wseq;
-  __atomic_wide_counter __g1_start;
-  unsigned int __g_size[2] ;
-  unsigned int __g1_orig_size;
-  unsigned int __wrefs;
-  unsigned int __g_signals[2];
-};
-
-typedef unsigned int __tss_t;
-typedef unsigned long int __thrd_t;
-
-typedef struct
-{
-  int __data ;
-} __once_flag;
-# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4
-
-
-
-typedef unsigned long int pthread_t;
-
-
-
-
-typedef union
-{
-  char __size[4];
-  int __align;
-} pthread_mutexattr_t;
-
-
-
-
-typedef union
-{
-  char __size[4];
-  int __align;
-} pthread_condattr_t;
-
-
-
-typedef unsigned int pthread_key_t;
-
-
-
-typedef int pthread_once_t;
-
-
-union pthread_attr_t
-{
-  char __size[56];
-  long int __align;
-};
-
-typedef union pthread_attr_t pthread_attr_t;
-
-
-
-
-typedef union
-{
-  struct __pthread_mutex_s __data;
-  char __size[40];
-  long int __align;
-} pthread_mutex_t;
-
-
-typedef union
-{
-  struct __pthread_cond_s __data;
-  char __size[48];
-  __extension__ long long int __align;
-} pthread_cond_t;
-
-
-
-
-
-typedef union
-{
-  struct __pthread_rwlock_arch_t __data;
-  char __size[56];
-  long int __align;
-} pthread_rwlock_t;
-
-typedef union
-{
-  char __size[8];
-  long int __align;
-} pthread_rwlockattr_t;
-
-
-
-
-
-typedef volatile int pthread_spinlock_t;
-
-
-
-
-typedef union
-{
-  char __size[32];
-  long int __align;
-} pthread_barrier_t;
-
-typedef union
-{
-  char __size[4];
-  int __align;
-} pthread_barrierattr_t;
-# 27 "/usr/include/pthread.h" 2 3 4
-# 1 "/usr/include/bits/setjmp.h" 1 3 4
-# 26 "/usr/include/bits/setjmp.h" 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 27 "/usr/include/bits/setjmp.h" 2 3 4
-
-
-
-
-typedef long int __jmp_buf[8];
-# 28 "/usr/include/pthread.h" 2 3 4
-# 1 "/usr/include/bits/wordsize.h" 1 3 4
-# 29 "/usr/include/pthread.h" 2 3 4
-
-# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4
-
-
-
-
-typedef struct
-{
-  unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
-} __sigset_t;
-# 31 "/usr/include/pthread.h" 2 3 4
-# 1 "/usr/include/bits/types/struct___jmp_buf_tag.h" 1 3 4
-# 26 "/usr/include/bits/types/struct___jmp_buf_tag.h" 3 4
-struct __jmp_buf_tag
-  {
-
-
-
-
-    __jmp_buf __jmpbuf;
-    int __mask_was_saved;
-    __sigset_t __saved_mask;
-  };
-# 32 "/usr/include/pthread.h" 2 3 4
-
-# 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4
-# 23 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4
-extern "C" {
-extern long int __sysconf (int __name) noexcept (true);
-}
-# 34 "/usr/include/pthread.h" 2 3 4
-
-
-
-enum
-{
-  PTHREAD_CREATE_JOINABLE,
-
-  PTHREAD_CREATE_DETACHED
-
-};
-
-
-
-enum
-{
-  PTHREAD_MUTEX_TIMED_NP,
-  PTHREAD_MUTEX_RECURSIVE_NP,
-  PTHREAD_MUTEX_ERRORCHECK_NP,
-  PTHREAD_MUTEX_ADAPTIVE_NP
-
-  ,
-  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
-  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
-  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
-  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
-
-
-
-  , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
-
-};
-
-
-
-
-enum
-{
-  PTHREAD_MUTEX_STALLED,
-  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
-  PTHREAD_MUTEX_ROBUST,
-  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
-};
-
-
-
-
-
-enum
-{
-  PTHREAD_PRIO_NONE,
-  PTHREAD_PRIO_INHERIT,
-  PTHREAD_PRIO_PROTECT
-};
-# 104 "/usr/include/pthread.h" 3 4
-enum
-{
-  PTHREAD_RWLOCK_PREFER_READER_NP,
-  PTHREAD_RWLOCK_PREFER_WRITER_NP,
-  PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
-  PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
-};
-# 124 "/usr/include/pthread.h" 3 4
-enum
-{
-  PTHREAD_INHERIT_SCHED,
-
-  PTHREAD_EXPLICIT_SCHED
-
-};
-
-
-
-enum
-{
-  PTHREAD_SCOPE_SYSTEM,
-
-  PTHREAD_SCOPE_PROCESS
-
-};
-
-
-
-enum
-{
-  PTHREAD_PROCESS_PRIVATE,
-
-  PTHREAD_PROCESS_SHARED
-
-};
-# 159 "/usr/include/pthread.h" 3 4
-struct _pthread_cleanup_buffer
-{
-  void (*__routine) (void *);
-  void *__arg;
-  int __canceltype;
-  struct _pthread_cleanup_buffer *__prev;
-};
-
-
-enum
-{
-  PTHREAD_CANCEL_ENABLE,
-
-  PTHREAD_CANCEL_DISABLE
-
-};
-enum
-{
-  PTHREAD_CANCEL_DEFERRED,
-
-  PTHREAD_CANCEL_ASYNCHRONOUS
-
-};
-# 197 "/usr/include/pthread.h" 3 4
-extern "C" {
-
-
-
-
-extern int pthread_create (pthread_t *__restrict __newthread,
-      const pthread_attr_t *__restrict __attr,
-      void *(*__start_routine) (void *),
-      void *__restrict __arg) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-
-
-extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
-
-
-
-
-
-
-
-extern int pthread_join (pthread_t __th, void **__thread_return);
-
-
-
-
-extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) noexcept (true);
-# 233 "/usr/include/pthread.h" 3 4
-extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
-     const struct timespec *__abstime);
-# 243 "/usr/include/pthread.h" 3 4
-extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
-                                 clockid_t __clockid,
-     const struct timespec *__abstime);
-# 269 "/usr/include/pthread.h" 3 4
-extern int pthread_detach (pthread_t __th) noexcept (true);
-
-
-
-extern pthread_t pthread_self (void) noexcept (true) __attribute__ ((__const__));
-
-
-extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
-  noexcept (true) __attribute__ ((__const__));
-
-
-
-
-
-
-
-extern int pthread_attr_init (pthread_attr_t *__attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_attr_destroy (pthread_attr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
-     int *__detachstate)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
-     int __detachstate)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
-          size_t *__guardsize)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
-          size_t __guardsize)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
-           struct sched_param *__restrict __param)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
-           const struct sched_param *__restrict
-           __param) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
-     __attr, int *__restrict __policy)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
-      __attr, int *__restrict __inherit)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
-      int __inherit)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
-      int *__restrict __scope)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
-          __attr, void **__restrict __stackaddr)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
-
-
-
-
-
-extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
-          void *__stackaddr)
-     noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
-
-
-extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
-          __attr, size_t *__restrict __stacksize)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
-          size_t __stacksize)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
-      void **__restrict __stackaddr,
-      size_t *__restrict __stacksize)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3)));
-
-
-
-
-extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
-      size_t __stacksize) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
-     size_t __cpusetsize,
-     const cpu_set_t *__cpuset)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
-     size_t __cpusetsize,
-     cpu_set_t *__cpuset)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-extern int pthread_getattr_default_np (pthread_attr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr,
-           const __sigset_t *sigmask);
-
-
-
-
-extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr,
-           __sigset_t *sigmask);
-
-
-
-
-
-
-
-extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-
-
-extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
-      const struct sched_param *__param)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-
-extern int pthread_getschedparam (pthread_t __target_thread,
-      int *__restrict __policy,
-      struct sched_param *__restrict __param)
-     noexcept (true) __attribute__ ((__nonnull__ (2, 3)));
-
-
-extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
-     noexcept (true);
-
-
-
-
-extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
-          size_t __buflen)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-extern int pthread_getconcurrency (void) noexcept (true);
-
-
-extern int pthread_setconcurrency (int __level) noexcept (true);
-
-
-
-extern int pthread_yield (void) noexcept (true);
-
-extern int pthread_yield (void) noexcept (true) __asm__ ("" "sched_yield")
-  __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead")));
-# 489 "/usr/include/pthread.h" 3 4
-extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
-       const cpu_set_t *__cpuset)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-
-extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
-       cpu_set_t *__cpuset)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-# 509 "/usr/include/pthread.h" 3 4
-extern int pthread_once (pthread_once_t *__once_control,
-    void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
-# 521 "/usr/include/pthread.h" 3 4
-extern int pthread_setcancelstate (int __state, int *__oldstate);
-
-
-
-extern int pthread_setcanceltype (int __type, int *__oldtype);
-
-
-extern int pthread_cancel (pthread_t __th);
-
-
-
-
-extern void pthread_testcancel (void);
-
-
-
-
-struct __cancel_jmp_buf_tag
-{
-  __jmp_buf __cancel_jmp_buf;
-  int __mask_was_saved;
-};
-
-typedef struct
-{
-  struct __cancel_jmp_buf_tag __cancel_jmp_buf[1];
-  void *__pad[4];
-} __pthread_unwind_buf_t __attribute__ ((__aligned__));
-# 557 "/usr/include/pthread.h" 3 4
-struct __pthread_cleanup_frame
-{
-  void (*__cancel_routine) (void *);
-  void *__cancel_arg;
-  int __do_it;
-  int __cancel_type;
-};
-
-
-
-
-class __pthread_cleanup_class
-{
-  void (*__cancel_routine) (void *);
-  void *__cancel_arg;
-  int __do_it;
-  int __cancel_type;
-
- public:
-  __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
-    : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
-  ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
-  void __setdoit (int __newval) { __do_it = __newval; }
-  void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
-        &__cancel_type); }
-  void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
-};
-# 773 "/usr/include/pthread.h" 3 4
-extern int __sigsetjmp (struct __jmp_buf_tag __env[1],
-   int __savemask) noexcept (true);
-
-
-
-
-
-
-extern int pthread_mutex_init (pthread_mutex_t *__mutex,
-          const pthread_mutexattr_t *__mutexattr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
-        const struct timespec *__restrict
-        __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-# 817 "/usr/include/pthread.h" 3 4
-extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
-        clockid_t __clockid,
-        const struct timespec *__restrict
-        __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-# 835 "/usr/include/pthread.h" 3 4
-extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
-      __restrict __mutex,
-      int *__restrict __prioceiling)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
-      int __prioceiling,
-      int *__restrict __old_ceiling)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-
-extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutex_consistent_np (pthread_mutex_t *) noexcept (true) __asm__ ("" "pthread_mutex_consistent") __attribute__ ((__nonnull__ (1)))
-
-  __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent")));
-# 874 "/usr/include/pthread.h" 3 4
-extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
-      __restrict __attr,
-      int *__restrict __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
-      int __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
-          __attr, int *__restrict __kind)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
-       __restrict __attr,
-       int *__restrict __protocol)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
-       int __protocol)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
-          __restrict __attr,
-          int *__restrict __prioceiling)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
-          int __prioceiling)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
-     int *__robustness)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_mutexattr_getrobust_np (pthread_mutexattr_t *, int *) noexcept (true) __asm__ ("" "pthread_mutexattr_getrobust") __attribute__ ((__nonnull__ (1)))
-
-
-  __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust")));
-
-
-
-
-
-
-
-extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
-     int __robustness)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) noexcept (true) __asm__ ("" "pthread_mutexattr_setrobust") __attribute__ ((__nonnull__ (1)))
-
-
-  __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust")));
-# 967 "/usr/include/pthread.h" 3 4
-extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
-    const pthread_rwlockattr_t *__restrict
-    __attr) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
-  noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
-           const struct timespec *__restrict
-           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-# 1004 "/usr/include/pthread.h" 3 4
-extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
-           clockid_t __clockid,
-           const struct timespec *__restrict
-           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-# 1023 "/usr/include/pthread.h" 3 4
-extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
-           const struct timespec *__restrict
-           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-# 1051 "/usr/include/pthread.h" 3 4
-extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
-           clockid_t __clockid,
-           const struct timespec *__restrict
-           __abstime) noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-# 1071 "/usr/include/pthread.h" 3 4
-extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
-       __restrict __attr,
-       int *__restrict __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
-       int __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
-       __restrict __attr,
-       int *__restrict __pref)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
-       int __pref) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-
-extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
-         const pthread_condattr_t *__restrict __cond_attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_cond_destroy (pthread_cond_t *__cond)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_cond_signal (pthread_cond_t *__cond)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_cond_broadcast (pthread_cond_t *__cond)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
-         pthread_mutex_t *__restrict __mutex)
-     __attribute__ ((__nonnull__ (1, 2)));
-# 1145 "/usr/include/pthread.h" 3 4
-extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
-       pthread_mutex_t *__restrict __mutex,
-       const struct timespec *__restrict __abstime)
-     __attribute__ ((__nonnull__ (1, 2, 3)));
-# 1171 "/usr/include/pthread.h" 3 4
-extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
-       pthread_mutex_t *__restrict __mutex,
-       __clockid_t __clock_id,
-       const struct timespec *__restrict __abstime)
-     __attribute__ ((__nonnull__ (1, 2, 4)));
-# 1194 "/usr/include/pthread.h" 3 4
-extern int pthread_condattr_init (pthread_condattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_condattr_getpshared (const pthread_condattr_t *
-     __restrict __attr,
-     int *__restrict __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
-     int __pshared) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_condattr_getclock (const pthread_condattr_t *
-          __restrict __attr,
-          __clockid_t *__restrict __clock_id)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
-          __clockid_t __clock_id)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 1230 "/usr/include/pthread.h" 3 4
-extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_spin_lock (pthread_spinlock_t *__lock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
-     const pthread_barrierattr_t *__restrict
-     __attr, unsigned int __count)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
-        __restrict __attr,
-        int *__restrict __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
-        int __pshared)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 1297 "/usr/include/pthread.h" 3 4
-extern int pthread_key_create (pthread_key_t *__key,
-          void (*__destr_function) (void *))
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern int pthread_key_delete (pthread_key_t __key) noexcept (true);
-
-
-extern void *pthread_getspecific (pthread_key_t __key) noexcept (true);
-
-
-extern int pthread_setspecific (pthread_key_t __key,
-    const void *__pointer)
-  noexcept (true) ;
-
-
-
-
-extern int pthread_getcpuclockid (pthread_t __thread_id,
-      __clockid_t *__clock_id)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-# 1332 "/usr/include/pthread.h" 3 4
-extern int pthread_atfork (void (*__prepare) (void),
-      void (*__parent) (void),
-      void (*__child) (void)) noexcept (true);
-# 1346 "/usr/include/pthread.h" 3 4
-}
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 2 3
-# 62 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
-typedef pthread_t __gthread_t;
-typedef pthread_key_t __gthread_key_t;
-typedef pthread_once_t __gthread_once_t;
-typedef pthread_mutex_t __gthread_mutex_t;
-
-
-
-typedef pthread_mutex_t __gthread_recursive_mutex_t;
-typedef pthread_cond_t __gthread_cond_t;
-typedef struct timespec __gthread_time_t;
-# 345 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
-inline __attribute__((__always_inline__)) int
-__gthread_active_p (void)
-{
-  return 1;
-}
-# 705 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
-inline __attribute__((__always_inline__)) int
-__gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
-    void *__args)
-{
-  return pthread_create (__threadid, __null, __func, __args);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_join (__gthread_t __threadid, void **__value_ptr)
-{
-  return pthread_join (__threadid, __value_ptr);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_detach (__gthread_t __threadid)
-{
-  return pthread_detach (__threadid);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_equal (__gthread_t __t1, __gthread_t __t2)
-{
-  return pthread_equal (__t1, __t2);
-}
-
-inline __attribute__((__always_inline__)) __gthread_t
-__gthread_self (void)
-{
-  return pthread_self ();
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_yield (void)
-{
-  return sched_yield ();
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_once (__gthread_once_t *__once, void (*__func) (void))
-{
-  if (__gthread_active_p ())
-    return pthread_once (__once, __func);
-  else
-    return -1;
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
-{
-  return pthread_key_create (__key, __dtor);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_key_delete (__gthread_key_t __key)
-{
-  return pthread_key_delete (__key);
-}
-
-inline __attribute__((__always_inline__)) void *
-__gthread_getspecific (__gthread_key_t __key)
-{
-  return pthread_getspecific (__key);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_setspecific (__gthread_key_t __key, const void *__ptr)
-{
-  return pthread_setspecific (__key, __ptr);
-}
-
-inline __attribute__((__always_inline__)) void
-__gthread_mutex_init_function (__gthread_mutex_t *__mutex)
-{
-  if (__gthread_active_p ())
-    pthread_mutex_init (__mutex, __null);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_mutex_destroy (__gthread_mutex_t *__mutex)
-{
-  if (__gthread_active_p ())
-    return pthread_mutex_destroy (__mutex);
-  else
-    return 0;
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_mutex_lock (__gthread_mutex_t *__mutex)
-{
-  if (__gthread_active_p ())
-    return pthread_mutex_lock (__mutex);
-  else
-    return 0;
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_mutex_trylock (__gthread_mutex_t *__mutex)
-{
-  if (__gthread_active_p ())
-    return pthread_mutex_trylock (__mutex);
-  else
-    return 0;
-}
-
-
-inline __attribute__((__always_inline__)) int
-__gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
-      const __gthread_time_t *__abs_timeout)
-{
-  if (__gthread_active_p ())
-    return pthread_mutex_timedlock (__mutex, __abs_timeout);
-  else
-    return 0;
-}
-
-
-inline __attribute__((__always_inline__)) int
-__gthread_mutex_unlock (__gthread_mutex_t *__mutex)
-{
-  if (__gthread_active_p ())
-    return pthread_mutex_unlock (__mutex);
-  else
-    return 0;
-}
-# 854 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
-inline __attribute__((__always_inline__)) int
-__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
-{
-  return __gthread_mutex_lock (__mutex);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
-{
-  return __gthread_mutex_trylock (__mutex);
-}
-
-
-inline __attribute__((__always_inline__)) int
-__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
-         const __gthread_time_t *__abs_timeout)
-{
-  return __gthread_mutex_timedlock (__mutex, __abs_timeout);
-}
-
-
-inline __attribute__((__always_inline__)) int
-__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
-{
-  return __gthread_mutex_unlock (__mutex);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
-{
-  return __gthread_mutex_destroy (__mutex);
-}
-# 896 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr-default.h" 3
-inline __attribute__((__always_inline__)) int
-__gthread_cond_broadcast (__gthread_cond_t *__cond)
-{
-  return pthread_cond_broadcast (__cond);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_cond_signal (__gthread_cond_t *__cond)
-{
-  return pthread_cond_signal (__cond);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
-{
-  return pthread_cond_wait (__cond, __mutex);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
-     const __gthread_time_t *__abs_timeout)
-{
-  return pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_cond_wait_recursive (__gthread_cond_t *__cond,
-          __gthread_recursive_mutex_t *__mutex)
-{
-  return __gthread_cond_wait (__cond, __mutex);
-}
-
-inline __attribute__((__always_inline__)) int
-__gthread_cond_destroy (__gthread_cond_t* __cond)
-{
-  return pthread_cond_destroy (__cond);
-}
-# 158 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/gthr.h" 2 3
-
-
-#pragma GCC visibility pop
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/atomic_word.h" 1 3
-# 32 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/atomic_word.h" 3
-typedef int _Atomic_word;
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 2 3
-
-# 1 "/usr/include/sys/single_threaded.h" 1 3 4
-# 24 "/usr/include/sys/single_threaded.h" 3 4
-extern "C" {
-
-
-
-
-extern char __libc_single_threaded;
-
-}
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 2 3
-
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-  __attribute__((__always_inline__))
-  inline bool
-  __is_single_threaded() noexcept
-  {
-
-
-
-    return ::__libc_single_threaded;
-
-
-
-  }
-
-
-
-
-
-
-  inline _Atomic_word
-  __attribute__((__always_inline__))
-  __exchange_and_add(volatile _Atomic_word* __mem, int __val)
-  { return __atomic_fetch_add(__mem, __val, 4); }
-
-  inline void
-  __attribute__((__always_inline__))
-  __atomic_add(volatile _Atomic_word* __mem, int __val)
-  { __atomic_fetch_add(__mem, __val, 4); }
-# 82 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/atomicity.h" 3
-  inline _Atomic_word
-  __attribute__((__always_inline__))
-  __exchange_and_add_single(_Atomic_word* __mem, int __val)
-  {
-    _Atomic_word __result = *__mem;
-    *__mem += __val;
-    return __result;
-  }
-
-  inline void
-  __attribute__((__always_inline__))
-  __atomic_add_single(_Atomic_word* __mem, int __val)
-  { *__mem += __val; }
-
-  inline _Atomic_word
-  __attribute__ ((__always_inline__))
-  __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
-  {
-    if (__is_single_threaded())
-      return __exchange_and_add_single(__mem, __val);
-    else
-      return __exchange_and_add(__mem, __val);
-  }
-
-  inline void
-  __attribute__ ((__always_inline__))
-  __atomic_add_dispatch(_Atomic_word* __mem, int __val)
-  {
-    if (__is_single_threaded())
-      __atomic_add_single(__mem, __val);
-    else
-      __atomic_add(__mem, __val);
-  }
-
-
-}
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 1 3
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 1 3
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 1 3
-# 33 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 1 3
-# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functexcept.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functexcept.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  void
-  __throw_bad_exception(void) __attribute__((__noreturn__));
-
-
-  void
-  __throw_bad_alloc(void) __attribute__((__noreturn__));
-
-  void
-  __throw_bad_array_new_length(void) __attribute__((__noreturn__));
-
-
-  void
-  __throw_bad_cast(void) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__));
-
-
-  void
-  __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_length_error(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__))
-    __attribute__((__format__(__gnu_printf__, 1, 2)));
-
-  void
-  __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_range_error(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__));
-
-
-  void
-  __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__));
-
-  void
-  __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__));
-
-
-  void
-  __throw_system_error(int) __attribute__((__noreturn__,__cold__));
-
-
-  void
-  __throw_future_error(int) __attribute__((__noreturn__,__cold__));
-
-
-  void
-  __throw_bad_function_call() __attribute__((__noreturn__,__cold__));
-# 141 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functexcept.h" 3
-}
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 2 3
-
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 62 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
-  template<typename _Tp>
-    class __new_allocator
-    {
-    public:
-      typedef _Tp value_type;
-      typedef std::size_t size_type;
-      typedef std::ptrdiff_t difference_type;
-
-      typedef _Tp* pointer;
-      typedef const _Tp* const_pointer;
-      typedef _Tp& reference;
-      typedef const _Tp& const_reference;
-
-      template<typename _Tp1>
- struct rebind
- { typedef __new_allocator<_Tp1> other; };
-
-
-
-
-
-      typedef std::true_type propagate_on_container_move_assignment;
-
-
-      __attribute__((__always_inline__))
-
-      __new_allocator() noexcept { }
-
-      __attribute__((__always_inline__))
-
-      __new_allocator(const __new_allocator&) noexcept { }
-
-      template<typename _Tp1>
- __attribute__((__always_inline__))
-
- __new_allocator(const __new_allocator<_Tp1>&) noexcept { }
-
-
-      __new_allocator& operator=(const __new_allocator&) = default;
-
-
-
-      ~__new_allocator() noexcept { }
-
-      pointer
-      address(reference __x) const noexcept
-      { return std::__addressof(__x); }
-
-      const_pointer
-      address(const_reference __x) const noexcept
-      { return std::__addressof(__x); }
-# 125 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
-      [[__nodiscard__]] _Tp*
-      allocate(size_type __n, const void* = static_cast<const void*>(0))
-      {
-
-
-
- static_assert(sizeof(_Tp) != 0, "cannot allocate incomplete types");
-
-
- if (__builtin_expect(__n > this->_M_max_size(), false))
-   {
-
-
-     if (__n > (std::size_t(-1) / sizeof(_Tp)))
-       std::__throw_bad_array_new_length();
-     std::__throw_bad_alloc();
-   }
-
-
- if (alignof(_Tp) > 16UL)
-   {
-     std::align_val_t __al = std::align_val_t(alignof(_Tp));
-     return static_cast<_Tp*>(__builtin_operator_new(__n * sizeof(_Tp),
-          __al));
-   }
-
- return static_cast<_Tp*>(__builtin_operator_new(__n * sizeof(_Tp)));
-      }
-
-
-      void
-      deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__)))
-      {
-
-
-
-
-
-
-
- if (alignof(_Tp) > 16UL)
-   {
-     __builtin_operator_delete((__p), (__n) * sizeof(_Tp),
-         std::align_val_t(alignof(_Tp)));
-     return;
-   }
-
- __builtin_operator_delete((__p), (__n) * sizeof(_Tp));
-      }
-
-
-
-
-
-
-      __attribute__((__always_inline__))
-      size_type
-      max_size() const noexcept
-      { return _M_max_size(); }
-
-
-      template<typename _Up, typename... _Args>
- __attribute__((__always_inline__))
- void
- construct(_Up* __p, _Args&&... __args)
- noexcept(__is_nothrow_new_constructible<_Up, _Args...>)
- { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
-
-      template<typename _Up>
- __attribute__((__always_inline__))
- void
- destroy(_Up* __p)
- noexcept(std::is_nothrow_destructible<_Up>::value)
- { __p->~_Up(); }
-# 213 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/new_allocator.h" 3
-      template<typename _Up>
- friend __attribute__((__always_inline__)) bool
- operator==(const __new_allocator&, const __new_allocator<_Up>&)
- noexcept
- { return true; }
-
-
-      template<typename _Up>
- friend __attribute__((__always_inline__)) bool
- operator!=(const __new_allocator&, const __new_allocator<_Up>&)
- noexcept
- { return false; }
-
-
-    private:
-      __attribute__((__always_inline__))
-      constexpr size_type
-      _M_max_size() const noexcept
-      {
-
- return std::size_t(9223372036854775807L) / sizeof(_Tp);
-
-
-
-      }
-    };
-
-
-}
-# 34 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 2 3
-
-
-namespace std
-{
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/c++allocator.h" 3
-  template<typename _Tp>
-    using __allocator_base = __new_allocator<_Tp>;
-}
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 2 3
-
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 75 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
-  template<>
-    class allocator<void>
-    {
-    public:
-      typedef void value_type;
-      typedef size_t size_type;
-      typedef ptrdiff_t difference_type;
-
-
-
-      typedef void* pointer;
-      typedef const void* const_pointer;
-
-      template<typename _Tp1>
- struct rebind
- { typedef allocator<_Tp1> other; };
-
-
-
-
-
-      using propagate_on_container_move_assignment = true_type;
-
-
-      using is_always_equal
-
- = true_type;
-# 120 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
-    };
-# 132 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
-  template<typename _Tp>
-    class allocator : public __allocator_base<_Tp>
-    {
-    public:
-      typedef _Tp value_type;
-      typedef size_t size_type;
-      typedef ptrdiff_t difference_type;
-
-
-
-      typedef _Tp* pointer;
-      typedef const _Tp* const_pointer;
-      typedef _Tp& reference;
-      typedef const _Tp& const_reference;
-
-      template<typename _Tp1>
- struct rebind
- { typedef allocator<_Tp1> other; };
-
-
-
-
-
-      using propagate_on_container_move_assignment = true_type;
-
-
-      using is_always_equal
-
- = true_type;
-
-
-
-
-
-      __attribute__((__always_inline__))
-
-      allocator() noexcept { }
-
-      __attribute__((__always_inline__))
-
-      allocator(const allocator& __a) noexcept
-      : __allocator_base<_Tp>(__a) { }
-
-
-
-      allocator& operator=(const allocator&) = default;
-
-
-      template<typename _Tp1>
- __attribute__((__always_inline__))
-
- allocator(const allocator<_Tp1>&) noexcept { }
-
-      __attribute__((__always_inline__))
-
-
-
-      ~allocator() noexcept { }
-# 219 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/allocator.h" 3
-      friend __attribute__((__always_inline__))
-      bool
-      operator==(const allocator&, const allocator&) noexcept
-      { return true; }
-
-
-      friend __attribute__((__always_inline__))
-      bool
-      operator!=(const allocator&, const allocator&) noexcept
-      { return false; }
-
-
-
-    };
-
-
-
-
-
-
-  template<typename _T1, typename _T2>
-    __attribute__((__always_inline__))
-    inline bool
-    operator==(const allocator<_T1>&, const allocator<_T2>&)
-    noexcept
-    { return true; }
-
-
-  template<typename _T1, typename _T2>
-    __attribute__((__always_inline__))
-    inline bool
-    operator!=(const allocator<_T1>&, const allocator<_T2>&)
-    noexcept
-    { return false; }
-
-
-
-
-
-
-  template<typename _Tp>
-    class allocator<const _Tp>
-    {
-    public:
-      typedef _Tp value_type;
-      allocator() { }
-      template<typename _Up> allocator(const allocator<_Up>&) { }
-    };
-
-  template<typename _Tp>
-    class allocator<volatile _Tp>
-    {
-    public:
-      typedef _Tp value_type;
-      allocator() { }
-      template<typename _Up> allocator(const allocator<_Up>&) { }
-    };
-
-  template<typename _Tp>
-    class allocator<const volatile _Tp>
-    {
-    public:
-      typedef _Tp value_type;
-      allocator() { }
-      template<typename _Up> allocator(const allocator<_Up>&) { }
-    };
-
-
-
-
-
-
-
-  extern template class allocator<char>;
-  extern template class allocator<wchar_t>;
-
-
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 2 3
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-extern "C++" {
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  struct __true_type { };
-  struct __false_type { };
-
-  template<bool>
-    struct __truth_type
-    { typedef __false_type __type; };
-
-  template<>
-    struct __truth_type<true>
-    { typedef __true_type __type; };
-
-
-
-  template<class _Sp, class _Tp>
-    struct __traitor
-    {
-      enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
-      typedef typename __truth_type<__value>::__type __type;
-    };
-
-
-  template<typename, typename>
-    struct __are_same
-    {
-      enum { __value = 0 };
-      typedef __false_type __type;
-    };
-
-  template<typename _Tp>
-    struct __are_same<_Tp, _Tp>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-
-
-
-  template<typename _Tp>
-    struct __is_integer
-    {
-      enum { __value = 0 };
-      typedef __false_type __type;
-    };
-
-
-
-  template<>
-    struct __is_integer<bool>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<signed char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<unsigned char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-
-  template<>
-    struct __is_integer<wchar_t>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-# 176 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-  template<>
-    struct __is_integer<char16_t>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<char32_t>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-
-  template<>
-    struct __is_integer<short>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<unsigned short>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<int>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<unsigned int>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<long>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<unsigned long>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<long long>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_integer<unsigned long long>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-# 264 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-__extension__ template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer<unsigned __int128> { enum { __value = 1 }; typedef __true_type __type; };
-# 281 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-  template<typename _Tp>
-    struct __is_floating
-    {
-      enum { __value = 0 };
-      typedef __false_type __type;
-    };
-
-
-  template<>
-    struct __is_floating<float>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_floating<double>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_floating<long double>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-# 358 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-  template<typename _Tp>
-    struct __is_arithmetic
-    : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
-    { };
-
-
-
-
-  template<typename _Tp>
-    struct __is_char
-    {
-      enum { __value = 0 };
-      typedef __false_type __type;
-    };
-
-  template<>
-    struct __is_char<char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-
-  template<>
-    struct __is_char<wchar_t>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-
-  template<typename _Tp>
-    struct __is_byte
-    {
-      enum { __value = 0 };
-      typedef __false_type __type;
-    };
-
-  template<>
-    struct __is_byte<char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_byte<signed char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-  template<>
-    struct __is_byte<unsigned char>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-
-
-  enum class byte : unsigned char;
-
-  template<>
-    struct __is_byte<byte>
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-# 438 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-  template<typename _Tp>
-    struct __is_nonvolatile_trivially_copyable
-    {
-      enum { __value = __is_trivially_copyable(_Tp) };
-    };
-
-
-
-
-  template<typename _Tp>
-    struct __is_nonvolatile_trivially_copyable<volatile _Tp>
-    {
-      enum { __value = 0 };
-    };
-
-
-  template<typename _OutputIter, typename _InputIter>
-    struct __memcpyable
-    {
-      enum { __value = 0 };
-    };
-
-
-  template<typename _Tp>
-    struct __memcpyable<_Tp*, _Tp*>
-    : __is_nonvolatile_trivially_copyable<_Tp>
-    { };
-
-
-  template<typename _Tp>
-    struct __memcpyable<_Tp*, const _Tp*>
-    : __is_nonvolatile_trivially_copyable<_Tp>
-    { };
-
-  template<typename _Tp> struct __memcpyable_integer;
-
-
-
-
-  template<typename _Tp, typename _Up>
-    struct __memcpyable<_Tp*, _Up*>
-    {
-      enum {
- __value = __memcpyable_integer<_Tp>::__width != 0
-      && ((int)__memcpyable_integer<_Tp>::__width
-     == (int)__memcpyable_integer<_Up>::__width)
-      };
-    };
-
-
-  template<typename _Tp, typename _Up>
-    struct __memcpyable<_Tp*, const _Up*>
-    : __memcpyable<_Tp*, _Up*>
-    { };
-
-  template<typename _Tp>
-    struct __memcpyable_integer
-    {
-      enum {
- __width = __is_integer<_Tp>::__value ? (sizeof(_Tp) * 8) : 0
-      };
-    };
-
-
-  template<typename _Tp>
-    struct __memcpyable_integer<volatile _Tp>
-    { enum { __width = 0 }; };
-# 592 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-  template<typename _Iter1, typename _Iter2>
-    struct __memcmpable
-    {
-      enum { __value = 0 };
-    };
-
-
-  template<typename _Tp>
-    struct __memcmpable<_Tp*, _Tp*>
-    : __is_nonvolatile_trivially_copyable<_Tp>
-    { };
-
-  template<typename _Tp>
-    struct __memcmpable<const _Tp*, _Tp*>
-    : __is_nonvolatile_trivially_copyable<_Tp>
-    { };
-
-  template<typename _Tp>
-    struct __memcmpable<_Tp*, const _Tp*>
-    : __is_nonvolatile_trivially_copyable<_Tp>
-    { };
-
-
-
-
-
-
-
-  template<typename _Tp, bool _TreatAsBytes =
-
-
-
- __is_byte<_Tp>::__value
-
-    >
-    struct __is_memcmp_ordered
-    {
-      static const bool __value = _Tp(-1) > _Tp(1);
-    };
-
-  template<typename _Tp>
-    struct __is_memcmp_ordered<_Tp, false>
-    {
-      static const bool __value = false;
-    };
-
-
-  template<typename _Tp, typename _Up, bool = sizeof(_Tp) == sizeof(_Up)>
-    struct __is_memcmp_ordered_with
-    {
-      static const bool __value = __is_memcmp_ordered<_Tp>::__value
- && __is_memcmp_ordered<_Up>::__value;
-    };
-
-  template<typename _Tp, typename _Up>
-    struct __is_memcmp_ordered_with<_Tp, _Up, false>
-    {
-      static const bool __value = false;
-    };
-# 661 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cpp_type_traits.h" 3
-  template<>
-    struct __is_memcmp_ordered_with<std::byte, std::byte, true>
-    { static constexpr bool __value = true; };
-
-  template<typename _Tp, bool _SameSize>
-    struct __is_memcmp_ordered_with<_Tp, std::byte, _SameSize>
-    { static constexpr bool __value = false; };
-
-  template<typename _Up, bool _SameSize>
-    struct __is_memcmp_ordered_with<std::byte, _Up, _SameSize>
-    { static constexpr bool __value = false; };
-
-
-
-  template<typename _ValT, typename _Tp>
-    constexpr bool __can_use_memchr_for_find
-
-      = __is_byte<_ValT>::__value
-
-   && (is_same_v<_Tp, _ValT> || is_integral_v<_Tp>);
-
-
-
-
-
-  template<typename _Tp>
-    struct __is_move_iterator
-    {
-      enum { __value = 0 };
-      typedef __false_type __type;
-    };
-
-
-
-  template<typename _Iterator>
-
-    inline _Iterator
-    __miter_base(_Iterator __it)
-    { return __it; }
-
-
-}
-}
-
-#pragma GCC diagnostic pop
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream_insert.h" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream_insert.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_forced.h" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/cxxabi_forced.h" 3
-#pragma GCC visibility push(default)
-
-
-namespace __cxxabiv1
-{
-
-
-
-
-
-
-
-  class __forced_unwind
-  {
-    virtual ~__forced_unwind() throw();
-
-
-    virtual void __pure_dummy() = 0;
-  };
-}
-
-
-#pragma GCC visibility pop
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream_insert.h" 2 3
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    inline void
-    __ostream_write(basic_ostream<_CharT, _Traits>& __out,
-      const _CharT* __s, streamsize __n)
-    {
-      typedef basic_ostream<_CharT, _Traits> __ostream_type;
-      typedef typename __ostream_type::ios_base __ios_base;
-
-      const streamsize __put = __out.rdbuf()->sputn(__s, __n);
-      if (__put != __n)
- __out.setstate(__ios_base::badbit);
-    }
-
-  template<typename _CharT, typename _Traits>
-    inline void
-    __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
-    {
-      typedef basic_ostream<_CharT, _Traits> __ostream_type;
-      typedef typename __ostream_type::ios_base __ios_base;
-
-      const _CharT __c = __out.fill();
-      for (; __n > 0; --__n)
- {
-   const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
-   if (_Traits::eq_int_type(__put, _Traits::eof()))
-     {
-       __out.setstate(__ios_base::badbit);
-       break;
-     }
- }
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
-       const _CharT* __s, streamsize __n)
-    {
-      typedef basic_ostream<_CharT, _Traits> __ostream_type;
-      typedef typename __ostream_type::ios_base __ios_base;
-
-      typename __ostream_type::sentry __cerb(__out);
-      if (__cerb)
- {
-   try
-     {
-       const streamsize __w = __out.width();
-       if (__w > __n)
-  {
-    const bool __left = ((__out.flags()
-     & __ios_base::adjustfield)
-           == __ios_base::left);
-    if (!__left)
-      __ostream_fill(__out, __w - __n);
-    if (__out.good())
-      __ostream_write(__out, __s, __n);
-    if (__left && __out.good())
-      __ostream_fill(__out, __w - __n);
-  }
-       else
-  __ostream_write(__out, __s, __n);
-       __out.width(0);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __out._M_setstate(__ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { __out._M_setstate(__ios_base::badbit); }
- }
-      return __out;
-    }
-
-
-
-
-  extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
-
-
-  extern template wostream& __ostream_insert(wostream&, const wchar_t*,
-          streamsize);
-
-
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 1 3
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/concept_check.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/concept_check.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wvariadic-macros"
-# 86 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/concept_check.h" 3
-#pragma GCC diagnostic pop
-# 67 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/debug/assertions.h" 1 3
-# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 1 3
-# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 95 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
-  struct input_iterator_tag { };
-
-
-  struct output_iterator_tag { };
-
-
-  struct forward_iterator_tag : public input_iterator_tag { };
-
-
-
-  struct bidirectional_iterator_tag : public forward_iterator_tag { };
-
-
-
-  struct random_access_iterator_tag : public bidirectional_iterator_tag { };
-# 127 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
-  template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
-           typename _Pointer = _Tp*, typename _Reference = _Tp&>
-    struct [[__deprecated__]] iterator
-    {
-
-      typedef _Category iterator_category;
-
-      typedef _Tp value_type;
-
-      typedef _Distance difference_type;
-
-      typedef _Pointer pointer;
-
-      typedef _Reference reference;
-    };
-# 151 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
-  template<typename _Iterator>
-    struct iterator_traits;
-
-
-
-
-  template<typename _Iterator, typename = __void_t<>>
-    struct __iterator_traits { };
-
-
-
-  template<typename _Iterator>
-    struct __iterator_traits<_Iterator,
-        __void_t<typename _Iterator::iterator_category,
-          typename _Iterator::value_type,
-          typename _Iterator::difference_type,
-          typename _Iterator::pointer,
-          typename _Iterator::reference>>
-    {
-      typedef typename _Iterator::iterator_category iterator_category;
-      typedef typename _Iterator::value_type value_type;
-      typedef typename _Iterator::difference_type difference_type;
-      typedef typename _Iterator::pointer pointer;
-      typedef typename _Iterator::reference reference;
-    };
-
-
-  template<typename _Iterator>
-    struct iterator_traits
-    : public __iterator_traits<_Iterator> { };
-# 211 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
-  template<typename _Tp>
-    struct iterator_traits<_Tp*>
-    {
-      typedef random_access_iterator_tag iterator_category;
-      typedef _Tp value_type;
-      typedef ptrdiff_t difference_type;
-      typedef _Tp* pointer;
-      typedef _Tp& reference;
-    };
-
-
-  template<typename _Tp>
-    struct iterator_traits<const _Tp*>
-    {
-      typedef random_access_iterator_tag iterator_category;
-      typedef _Tp value_type;
-      typedef ptrdiff_t difference_type;
-      typedef const _Tp* pointer;
-      typedef const _Tp& reference;
-    };
-
-
-
-
-
-
-  template<typename _Iter>
-    __attribute__((__always_inline__))
-    inline constexpr
-    typename iterator_traits<_Iter>::iterator_category
-    __iterator_category(const _Iter&)
-    { return typename iterator_traits<_Iter>::iterator_category(); }
-
-
-
-
-  template<typename _Iter>
-    using __iter_category_t
-      = typename iterator_traits<_Iter>::iterator_category;
-
-  template<typename _InIter>
-    using _RequireInputIter =
-      __enable_if_t<is_convertible<__iter_category_t<_InIter>,
-       input_iterator_tag>::value>;
-
-
-
-
-
-
-
-  template<typename _It,
-    typename _Cat = __iter_category_t<_It>>
-    struct __is_random_access_iter
-      : is_base_of<random_access_iterator_tag, _Cat>
-    {
-      typedef is_base_of<random_access_iterator_tag, _Cat> _Base;
-      enum { __value = _Base::value };
-    };
-# 278 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_types.h" 3
-}
-# 69 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  template <typename> struct _List_iterator;
-  template <typename> struct _List_const_iterator;
-
-
-  template<typename _InputIterator>
-    inline constexpr
-    typename iterator_traits<_InputIterator>::difference_type
-    __distance(_InputIterator __first, _InputIterator __last,
-               input_iterator_tag)
-    {
-
-
-
-      typename iterator_traits<_InputIterator>::difference_type __n = 0;
-      while (__first != __last)
- {
-   ++__first;
-   ++__n;
- }
-      return __n;
-    }
-
-  template<typename _RandomAccessIterator>
-    __attribute__((__always_inline__))
-    inline constexpr
-    typename iterator_traits<_RandomAccessIterator>::difference_type
-    __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
-               random_access_iterator_tag)
-    {
-
-
-
-      return __last - __first;
-    }
-
-
-
-  template<typename _Tp>
-    ptrdiff_t
-    __distance(std::_List_iterator<_Tp>,
-        std::_List_iterator<_Tp>,
-        input_iterator_tag);
-
-  template<typename _Tp>
-    ptrdiff_t
-    __distance(std::_List_const_iterator<_Tp>,
-        std::_List_const_iterator<_Tp>,
-        input_iterator_tag);
-
-
-
-
-  template<typename _OutputIterator>
-    void
-    __distance(_OutputIterator, _OutputIterator, output_iterator_tag) = delete;
-# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 3
-  template<typename _InputIterator>
-    [[__nodiscard__]] __attribute__((__always_inline__))
-    inline constexpr
-    typename iterator_traits<_InputIterator>::difference_type
-    distance(_InputIterator __first, _InputIterator __last)
-    {
-
-      return std::__distance(__first, __last,
-        std::__iterator_category(__first));
-    }
-
-  template<typename _InputIterator, typename _Distance>
-    inline constexpr void
-    __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
-    {
-
-
-      do { if (__builtin_expect(!bool(__n >= 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h", 163, __PRETTY_FUNCTION__, "__n >= 0"); } while (false);
-      while (__n--)
- ++__i;
-    }
-
-  template<typename _BidirectionalIterator, typename _Distance>
-    inline constexpr void
-    __advance(_BidirectionalIterator& __i, _Distance __n,
-       bidirectional_iterator_tag)
-    {
-
-
-
-      if (__n > 0)
-        while (__n--)
-   ++__i;
-      else
-        while (__n++)
-   --__i;
-    }
-
-  template<typename _RandomAccessIterator, typename _Distance>
-    inline constexpr void
-    __advance(_RandomAccessIterator& __i, _Distance __n,
-              random_access_iterator_tag)
-    {
-
-
-
-      if (__builtin_constant_p(__n) && __n == 1)
- ++__i;
-      else if (__builtin_constant_p(__n) && __n == -1)
- --__i;
-      else
- __i += __n;
-    }
-
-
-
-  template<typename _OutputIterator, typename _Distance>
-    void
-    __advance(_OutputIterator&, _Distance, output_iterator_tag) = delete;
-# 219 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator_base_funcs.h" 3
-  template<typename _InputIterator, typename _Distance>
-    __attribute__((__always_inline__))
-    inline constexpr void
-    advance(_InputIterator& __i, _Distance __n)
-    {
-
-      typename iterator_traits<_InputIterator>::difference_type __d = __n;
-      std::__advance(__i, __d, std::__iterator_category(__i));
-    }
-
-
-
-  template<typename _InputIterator>
-    [[__nodiscard__]] [[__gnu__::__always_inline__]]
-    inline constexpr _InputIterator
-    next(_InputIterator __x, typename
-  iterator_traits<_InputIterator>::difference_type __n = 1)
-    {
-
-
-      std::advance(__x, __n);
-      return __x;
-    }
-
-  template<typename _BidirectionalIterator>
-    [[__nodiscard__]] [[__gnu__::__always_inline__]]
-    inline constexpr _BidirectionalIterator
-    prev(_BidirectionalIterator __x, typename
-  iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
-    {
-
-
-
-      std::advance(__x, -__n);
-      return __x;
-    }
-
-
-
-
-}
-# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 1 3
-# 65 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-
-extern "C++" {
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  template<bool, typename>
-    struct __enable_if
-    { };
-
-  template<typename _Tp>
-    struct __enable_if<true, _Tp>
-    { typedef _Tp __type; };
-
-
-
-  template<bool _Cond, typename _Iftrue, typename _Iffalse>
-    struct __conditional_type
-    { typedef _Iftrue __type; };
-
-  template<typename _Iftrue, typename _Iffalse>
-    struct __conditional_type<false, _Iftrue, _Iffalse>
-    { typedef _Iffalse __type; };
-
-
-
-  template<typename _Tp>
-    struct __add_unsigned
-    {
-    private:
-      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
-
-    public:
-      typedef typename __if_type::__type __type;
-    };
-
-  template<>
-    struct __add_unsigned<char>
-    { typedef unsigned char __type; };
-
-  template<>
-    struct __add_unsigned<signed char>
-    { typedef unsigned char __type; };
-
-  template<>
-    struct __add_unsigned<short>
-    { typedef unsigned short __type; };
-
-  template<>
-    struct __add_unsigned<int>
-    { typedef unsigned int __type; };
-
-  template<>
-    struct __add_unsigned<long>
-    { typedef unsigned long __type; };
-
-  template<>
-    struct __add_unsigned<long long>
-    { typedef unsigned long long __type; };
-
-
-  template<>
-    struct __add_unsigned<bool>;
-
-  template<>
-    struct __add_unsigned<wchar_t>;
-
-
-
-  template<typename _Tp>
-    struct __remove_unsigned
-    {
-    private:
-      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
-
-    public:
-      typedef typename __if_type::__type __type;
-    };
-
-  template<>
-    struct __remove_unsigned<char>
-    { typedef signed char __type; };
-
-  template<>
-    struct __remove_unsigned<unsigned char>
-    { typedef signed char __type; };
-
-  template<>
-    struct __remove_unsigned<unsigned short>
-    { typedef short __type; };
-
-  template<>
-    struct __remove_unsigned<unsigned int>
-    { typedef int __type; };
-
-  template<>
-    struct __remove_unsigned<unsigned long>
-    { typedef long __type; };
-
-  template<>
-    struct __remove_unsigned<unsigned long long>
-    { typedef long long __type; };
-
-
-  template<>
-    struct __remove_unsigned<bool>;
-
-  template<>
-    struct __remove_unsigned<wchar_t>;
-
-
-
-  template<typename _Type>
-    constexpr
-    inline bool
-    __is_null_pointer(_Type* __ptr)
-    { return __ptr == 0; }
-
-  template<typename _Type>
-    constexpr
-    inline bool
-    __is_null_pointer(_Type)
-    { return false; }
-
-
-  constexpr bool
-  __is_null_pointer(std::nullptr_t)
-  { return true; }
-
-
-
-
-  template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
-    struct __promote
-    { typedef double __type; };
-
-
-
-
-  template<typename _Tp>
-    struct __promote<_Tp, false>
-    { };
-
-  template<>
-    struct __promote<long double>
-    { typedef long double __type; };
-
-  template<>
-    struct __promote<double>
-    { typedef double __type; };
-
-  template<>
-    struct __promote<float>
-    { typedef float __type; };
-# 230 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 3
-  template<typename... _Tp>
-    using __promoted_t = decltype((typename __promote<_Tp>::__type(0) + ...));
-
-
-
-  template<typename _Tp, typename _Up>
-    using __promote_2 = __promote<__promoted_t<_Tp, _Up>>;
-
-  template<typename _Tp, typename _Up, typename _Vp>
-    using __promote_3 = __promote<__promoted_t<_Tp, _Up, _Vp>>;
-
-  template<typename _Tp, typename _Up, typename _Vp, typename _Wp>
-    using __promote_4 = __promote<__promoted_t<_Tp, _Up, _Vp, _Wp>>;
-# 275 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/type_traits.h" 3
-}
-}
-
-#pragma GCC diagnostic pop
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ptr_traits.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ptr_traits.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  class __undefined;
-
-
-
-  template<typename _Tp>
-    struct __get_first_arg
-    { using type = __undefined; };
-
-  template<template<typename, typename...> class _SomeTemplate, typename _Tp,
-           typename... _Types>
-    struct __get_first_arg<_SomeTemplate<_Tp, _Types...>>
-    { using type = _Tp; };
-
-
-
-  template<typename _Tp, typename _Up>
-    struct __replace_first_arg
-    { };
-
-  template<template<typename, typename...> class _SomeTemplate, typename _Up,
-           typename _Tp, typename... _Types>
-    struct __replace_first_arg<_SomeTemplate<_Tp, _Types...>, _Up>
-    { using type = _SomeTemplate<_Up, _Types...>; };
-
-
-  template<typename _Ptr, typename = void>
-    struct __ptr_traits_elem : __get_first_arg<_Ptr>
-    { };
-
-
-
-
-
-
-
-  template<typename _Ptr>
-    struct __ptr_traits_elem<_Ptr, __void_t<typename _Ptr::element_type>>
-    { using type = typename _Ptr::element_type; };
-
-
-  template<typename _Ptr>
-    using __ptr_traits_elem_t = typename __ptr_traits_elem<_Ptr>::type;
-
-
-
-
-  template<typename _Ptr, typename _Elt, bool = is_void<_Elt>::value>
-    struct __ptr_traits_ptr_to
-    {
-      using pointer = _Ptr;
-      using element_type = _Elt;
-
-
-
-
-
-
-
-      static pointer
-      pointer_to(element_type& __r)
-
-
-
-
-
-      { return pointer::pointer_to(__r); }
-    };
-
-
-  template<typename _Ptr, typename _Elt>
-    struct __ptr_traits_ptr_to<_Ptr, _Elt, true>
-    { };
-
-
-  template<typename _Tp>
-    struct __ptr_traits_ptr_to<_Tp*, _Tp, false>
-    {
-      using pointer = _Tp*;
-      using element_type = _Tp;
-
-
-
-
-
-
-      static pointer
-      pointer_to(element_type& __r) noexcept
-      { return std::addressof(__r); }
-    };
-
-  template<typename _Ptr, typename _Elt>
-    struct __ptr_traits_impl : __ptr_traits_ptr_to<_Ptr, _Elt>
-    {
-    private:
-      template<typename _Tp>
- using __diff_t = typename _Tp::difference_type;
-
-      template<typename _Tp, typename _Up>
- using __rebind = __type_identity<typename _Tp::template rebind<_Up>>;
-
-    public:
-
-      using pointer = _Ptr;
-
-
-      using element_type = _Elt;
-
-
-      using difference_type = __detected_or_t<ptrdiff_t, __diff_t, _Ptr>;
-
-
-      template<typename _Up>
- using rebind = typename __detected_or_t<__replace_first_arg<_Ptr, _Up>,
-      __rebind, _Ptr, _Up>::type;
-    };
-
-
-
-  template<typename _Ptr>
-    struct __ptr_traits_impl<_Ptr, __undefined>
-    { };
-
-
-
-
-
-
-
-  template<typename _Ptr>
-    struct pointer_traits : __ptr_traits_impl<_Ptr, __ptr_traits_elem_t<_Ptr>>
-    { };
-
-
-
-
-
-
-
-  template<typename _Tp>
-    struct pointer_traits<_Tp*> : __ptr_traits_ptr_to<_Tp*, _Tp>
-    {
-
-      typedef _Tp* pointer;
-
-      typedef _Tp element_type;
-
-      typedef ptrdiff_t difference_type;
-
-      template<typename _Up> using rebind = _Up*;
-    };
-
-
-  template<typename _Ptr, typename _Tp>
-    using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
-
-
-  template<typename _Tp>
-    [[__gnu__::__always_inline__]]
-    constexpr _Tp*
-    __to_address(_Tp* __ptr) noexcept
-    {
-      static_assert(!std::is_function<_Tp>::value, "std::to_address argument "
-      "must not be a function pointer");
-      return __ptr;
-    }
-
-
-
-
-
-  template<typename _Ptr>
-    constexpr typename std::pointer_traits<_Ptr>::element_type*
-    __to_address(const _Ptr& __ptr)
-    { return std::__to_address(__ptr.operator->()); }
-# 269 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ptr_traits.h" 3
-}
-# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 2 3
-# 85 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-# 130 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Iterator>
-    class reverse_iterator
-    : public iterator<typename iterator_traits<_Iterator>::iterator_category,
-        typename iterator_traits<_Iterator>::value_type,
-        typename iterator_traits<_Iterator>::difference_type,
-        typename iterator_traits<_Iterator>::pointer,
-                      typename iterator_traits<_Iterator>::reference>
-    {
-      template<typename _Iter>
- friend class reverse_iterator;
-# 149 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-    protected:
-      _Iterator current;
-
-      typedef iterator_traits<_Iterator> __traits_type;
-
-    public:
-      typedef _Iterator iterator_type;
-      typedef typename __traits_type::pointer pointer;
-
-      typedef typename __traits_type::difference_type difference_type;
-      typedef typename __traits_type::reference reference;
-# 180 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      constexpr
-      reverse_iterator()
-      noexcept(noexcept(_Iterator()))
-      : current()
-      { }
-
-
-
-
-      explicit constexpr
-      reverse_iterator(iterator_type __x)
-      noexcept(noexcept(_Iterator(__x)))
-      : current(__x)
-      { }
-
-
-
-
-      constexpr
-      reverse_iterator(const reverse_iterator& __x)
-      noexcept(noexcept(_Iterator(__x.current)))
-      : current(__x.current)
-      { }
-
-
-      reverse_iterator& operator=(const reverse_iterator&) = default;
-
-
-
-
-
-
-      template<typename _Iter>
-
-
-
- constexpr
-        reverse_iterator(const reverse_iterator<_Iter>& __x)
- noexcept(noexcept(_Iterator(__x.current)))
- : current(__x.current)
- { }
-
-
-      template<typename _Iter>
-
-
-
-
- constexpr
- reverse_iterator&
- operator=(const reverse_iterator<_Iter>& __x)
- noexcept(noexcept(current = __x.current))
- {
-   current = __x.current;
-   return *this;
- }
-
-
-
-
-
-      [[__nodiscard__]]
-      constexpr iterator_type
-      base() const
-      noexcept(noexcept(_Iterator(current)))
-      { return current; }
-# 257 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      [[__nodiscard__]]
-      constexpr reference
-      operator*() const
-      {
- _Iterator __tmp = current;
- return *--__tmp;
-      }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      constexpr pointer
-      operator->() const
-
-
-
-
-      {
-
-
- _Iterator __tmp = current;
- --__tmp;
- return _S_to_pointer(__tmp);
-      }
-
-
-
-
-
-
-      constexpr reverse_iterator&
-      operator++()
-      {
- --current;
- return *this;
-      }
-
-
-
-
-
-
-      constexpr reverse_iterator
-      operator++(int)
-      {
- reverse_iterator __tmp = *this;
- --current;
- return __tmp;
-      }
-
-
-
-
-
-
-      constexpr reverse_iterator&
-      operator--()
-      {
- ++current;
- return *this;
-      }
-
-
-
-
-
-
-      constexpr reverse_iterator
-      operator--(int)
-      {
- reverse_iterator __tmp = *this;
- ++current;
- return __tmp;
-      }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      constexpr reverse_iterator
-      operator+(difference_type __n) const
-      { return reverse_iterator(current - __n); }
-
-
-
-
-
-
-
-      constexpr reverse_iterator&
-      operator+=(difference_type __n)
-      {
- current -= __n;
- return *this;
-      }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      constexpr reverse_iterator
-      operator-(difference_type __n) const
-      { return reverse_iterator(current + __n); }
-
-
-
-
-
-
-
-      constexpr reverse_iterator&
-      operator-=(difference_type __n)
-      {
- current += __n;
- return *this;
-      }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      constexpr reference
-      operator[](difference_type __n) const
-      { return *(*this + __n); }
-# 417 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-    private:
-      template<typename _Tp>
- static constexpr _Tp*
- _S_to_pointer(_Tp* __p)
-        { return __p; }
-
-      template<typename _Tp>
- static constexpr pointer
- _S_to_pointer(_Tp __t)
-        { return __t.operator->(); }
-    };
-# 440 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator==(const reverse_iterator<_Iterator>& __x,
-        const reverse_iterator<_Iterator>& __y)
-    { return __x.base() == __y.base(); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<(const reverse_iterator<_Iterator>& __x,
-       const reverse_iterator<_Iterator>& __y)
-    { return __y.base() < __x.base(); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator!=(const reverse_iterator<_Iterator>& __x,
-        const reverse_iterator<_Iterator>& __y)
-    { return !(__x == __y); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>(const reverse_iterator<_Iterator>& __x,
-       const reverse_iterator<_Iterator>& __y)
-    { return __y < __x; }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<=(const reverse_iterator<_Iterator>& __x,
-        const reverse_iterator<_Iterator>& __y)
-    { return !(__y < __x); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>=(const reverse_iterator<_Iterator>& __x,
-        const reverse_iterator<_Iterator>& __y)
-    { return !(__x < __y); }
-
-
-
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator==(const reverse_iterator<_IteratorL>& __x,
-        const reverse_iterator<_IteratorR>& __y)
-    { return __x.base() == __y.base(); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<(const reverse_iterator<_IteratorL>& __x,
-       const reverse_iterator<_IteratorR>& __y)
-    { return __x.base() > __y.base(); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator!=(const reverse_iterator<_IteratorL>& __x,
-        const reverse_iterator<_IteratorR>& __y)
-    { return __x.base() != __y.base(); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>(const reverse_iterator<_IteratorL>& __x,
-       const reverse_iterator<_IteratorR>& __y)
-    { return __x.base() < __y.base(); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    inline constexpr bool
-    operator<=(const reverse_iterator<_IteratorL>& __x,
-        const reverse_iterator<_IteratorR>& __y)
-    { return __x.base() >= __y.base(); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>=(const reverse_iterator<_IteratorL>& __x,
-        const reverse_iterator<_IteratorR>& __y)
-    { return __x.base() <= __y.base(); }
-# 617 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr auto
-    operator-(const reverse_iterator<_IteratorL>& __x,
-       const reverse_iterator<_IteratorR>& __y)
-    -> decltype(__y.base() - __x.base())
-    { return __y.base() - __x.base(); }
-
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr reverse_iterator<_Iterator>
-    operator+(typename reverse_iterator<_Iterator>::difference_type __n,
-       const reverse_iterator<_Iterator>& __x)
-    { return reverse_iterator<_Iterator>(__x.base() - __n); }
-
-
-
-  template<typename _Iterator>
-    inline constexpr reverse_iterator<_Iterator>
-    __make_reverse_iterator(_Iterator __i)
-    { return reverse_iterator<_Iterator>(__i); }
-
-
-
-
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr reverse_iterator<_Iterator>
-    make_reverse_iterator(_Iterator __i)
-    { return reverse_iterator<_Iterator>(__i); }
-# 659 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Iterator>
-    struct __is_move_iterator<reverse_iterator<_Iterator> >
-      : __is_move_iterator<_Iterator>
-    { };
-# 676 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Container>
-    class back_insert_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-    {
-    protected:
-      _Container* container;
-
-    public:
-
-      typedef _Container container_type;
-
-
-
-
-
-      explicit
-      back_insert_iterator(_Container& __x)
-      : container(std::__addressof(__x)) { }
-# 715 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      back_insert_iterator&
-      operator=(const typename _Container::value_type& __value)
-      {
- container->push_back(__value);
- return *this;
-      }
-
-
-      back_insert_iterator&
-      operator=(typename _Container::value_type&& __value)
-      {
- container->push_back(std::move(__value));
- return *this;
-      }
-
-
-
-      [[__nodiscard__]]
-      back_insert_iterator&
-      operator*()
-      { return *this; }
-
-
-
-      back_insert_iterator&
-      operator++()
-      { return *this; }
-
-
-
-      back_insert_iterator
-      operator++(int)
-      { return *this; }
-    };
-# 761 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Container>
-    [[__nodiscard__]]
-    inline back_insert_iterator<_Container>
-    back_inserter(_Container& __x)
-    { return back_insert_iterator<_Container>(__x); }
-# 777 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Container>
-    class front_insert_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-    {
-    protected:
-      _Container* container;
-
-    public:
-
-      typedef _Container container_type;
-
-
-
-
-
-      explicit
-      front_insert_iterator(_Container& __x)
-      : container(std::__addressof(__x)) { }
-# 816 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      front_insert_iterator&
-      operator=(const typename _Container::value_type& __value)
-      {
- container->push_front(__value);
- return *this;
-      }
-
-
-      front_insert_iterator&
-      operator=(typename _Container::value_type&& __value)
-      {
- container->push_front(std::move(__value));
- return *this;
-      }
-
-
-
-      [[__nodiscard__]]
-      front_insert_iterator&
-      operator*()
-      { return *this; }
-
-
-
-      front_insert_iterator&
-      operator++()
-      { return *this; }
-
-
-
-      front_insert_iterator
-      operator++(int)
-      { return *this; }
-    };
-# 862 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Container>
-    [[__nodiscard__]]
-    inline front_insert_iterator<_Container>
-    front_inserter(_Container& __x)
-    { return front_insert_iterator<_Container>(__x); }
-# 882 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Container>
-    class insert_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-    {
-
-
-
-      typedef typename _Container::iterator _Iter;
-
-    protected:
-      _Container* container;
-      _Iter iter;
-
-    public:
-
-      typedef _Container container_type;
-# 908 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      insert_iterator(_Container& __x, _Iter __i)
-      : container(std::__addressof(__x)), iter(__i) {}
-# 944 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      insert_iterator&
-      operator=(const typename _Container::value_type& __value)
-      {
- iter = container->insert(iter, __value);
- ++iter;
- return *this;
-      }
-
-
-      insert_iterator&
-      operator=(typename _Container::value_type&& __value)
-      {
- iter = container->insert(iter, std::move(__value));
- ++iter;
- return *this;
-      }
-
-
-
-      [[__nodiscard__]]
-      insert_iterator&
-      operator*()
-      { return *this; }
-
-
-
-      insert_iterator&
-      operator++()
-      { return *this; }
-
-
-
-      insert_iterator&
-      operator++(int)
-      { return *this; }
-    };
-
-#pragma GCC diagnostic pop
-# 1002 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Container>
-    [[__nodiscard__]]
-    inline insert_iterator<_Container>
-    inserter(_Container& __x, typename _Container::iterator __i)
-    { return insert_iterator<_Container>(__x, __i); }
-
-
-
-
-
-}
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-# 1025 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Iterator, typename _Container>
-    class __normal_iterator
-    {
-    protected:
-      _Iterator _M_current;
-
-      typedef std::iterator_traits<_Iterator> __traits_type;
-
-
-      template<typename _Iter>
- using __convertible_from
-   = std::__enable_if_t<std::is_convertible<_Iter, _Iterator>::value>;
-
-
-    public:
-      typedef _Iterator iterator_type;
-      typedef typename __traits_type::iterator_category iterator_category;
-      typedef typename __traits_type::value_type value_type;
-      typedef typename __traits_type::difference_type difference_type;
-      typedef typename __traits_type::reference reference;
-      typedef typename __traits_type::pointer pointer;
-
-
-
-
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator() noexcept
-      : _M_current() { }
-
-      __attribute__((__always_inline__))
-      explicit constexpr
-      __normal_iterator(const _Iterator& __i) noexcept
-      : _M_current(__i) { }
-
-
-
-
-
-
-      template<typename _Iter, typename = __convertible_from<_Iter>>
-
- [[__gnu__::__always_inline__]]
- constexpr
- __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
- noexcept
-# 1082 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-        : _M_current(__i.base()) { }
-
-
-
-      [[__nodiscard__]] __attribute__((__always_inline__))
-      constexpr
-      reference
-      operator*() const noexcept
-      { return *_M_current; }
-
-      [[__nodiscard__]] __attribute__((__always_inline__))
-      constexpr
-      pointer
-      operator->() const noexcept
-      { return _M_current; }
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator&
-      operator++() noexcept
-      {
- ++_M_current;
- return *this;
-      }
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator
-      operator++(int) noexcept
-      { return __normal_iterator(_M_current++); }
-
-
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator&
-      operator--() noexcept
-      {
- --_M_current;
- return *this;
-      }
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator
-      operator--(int) noexcept
-      { return __normal_iterator(_M_current--); }
-
-
-
-      [[__nodiscard__]] __attribute__((__always_inline__))
-      constexpr
-      reference
-      operator[](difference_type __n) const noexcept
-      { return _M_current[__n]; }
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator&
-      operator+=(difference_type __n) noexcept
-      { _M_current += __n; return *this; }
-
-      [[__nodiscard__]] __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator
-      operator+(difference_type __n) const noexcept
-      { return __normal_iterator(_M_current + __n); }
-
-      __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator&
-      operator-=(difference_type __n) noexcept
-      { _M_current -= __n; return *this; }
-
-      [[__nodiscard__]] __attribute__((__always_inline__))
-      constexpr
-      __normal_iterator
-      operator-(difference_type __n) const noexcept
-      { return __normal_iterator(_M_current - __n); }
-
-      [[__nodiscard__]] __attribute__((__always_inline__))
-      constexpr
-      const _Iterator&
-      base() const noexcept
-      { return _M_current; }
-    };
-# 1217 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
-        const __normal_iterator<_IteratorR, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() == __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
-        const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() == __rhs.base(); }
-
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
-        const __normal_iterator<_IteratorR, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() != __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
-        const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() != __rhs.base(); }
-
-
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
-       const __normal_iterator<_IteratorR, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() < __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__))
-    inline bool
-    operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
-       const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() < __rhs.base(); }
-
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
-       const __normal_iterator<_IteratorR, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() > __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
-       const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() > __rhs.base(); }
-
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
-        const __normal_iterator<_IteratorR, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() <= __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
-        const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() <= __rhs.base(); }
-
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
-        const __normal_iterator<_IteratorR, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() >= __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline bool
-    operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
-        const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() >= __rhs.base(); }
-
-
-
-
-
-
-  template<typename _IteratorL, typename _IteratorR, typename _Container>
-
-
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    constexpr auto
-    operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
-       const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
-    -> decltype(__lhs.base() - __rhs.base())
-
-
-
-
-
-    { return __lhs.base() - __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline typename __normal_iterator<_Iterator, _Container>::difference_type
-    operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
-       const __normal_iterator<_Iterator, _Container>& __rhs)
-    noexcept
-    { return __lhs.base() - __rhs.base(); }
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__)) constexpr
-    inline __normal_iterator<_Iterator, _Container>
-    operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
-       __n, const __normal_iterator<_Iterator, _Container>& __i)
-    noexcept
-    { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
-
-
-}
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 1434 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Iterator>
-    class move_iterator
-
-
-
-    {
-      _Iterator _M_current;
-
-      using __traits_type = iterator_traits<_Iterator>;
-
-      using __base_ref = typename __traits_type::reference;
-
-
-      template<typename _Iter2>
- friend class move_iterator;
-# 1473 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-    public:
-      using iterator_type = _Iterator;
-# 1485 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      typedef typename __traits_type::iterator_category iterator_category;
-      typedef typename __traits_type::value_type value_type;
-      typedef typename __traits_type::difference_type difference_type;
-
-      typedef _Iterator pointer;
-
-
-      using reference
- = __conditional_t<is_reference<__base_ref>::value,
-     typename remove_reference<__base_ref>::type&&,
-     __base_ref>;
-
-
-      constexpr
-      move_iterator()
-      : _M_current() { }
-
-      explicit constexpr
-      move_iterator(iterator_type __i)
-      : _M_current(std::move(__i)) { }
-
-      template<typename _Iter>
-
-
-
- constexpr
- move_iterator(const move_iterator<_Iter>& __i)
- : _M_current(__i._M_current) { }
-
-      template<typename _Iter>
-
-
-
-
- constexpr
- move_iterator& operator=(const move_iterator<_Iter>& __i)
- {
-   _M_current = __i._M_current;
-   return *this;
- }
-
-
-      [[__nodiscard__]]
-      constexpr iterator_type
-      base() const
-      { return _M_current; }
-# 1543 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-      [[__nodiscard__]]
-      constexpr reference
-      operator*() const
-
-
-
-      { return static_cast<reference>(*_M_current); }
-
-
-      [[__nodiscard__]]
-      constexpr pointer
-      operator->() const
-      { return _M_current; }
-
-      constexpr move_iterator&
-      operator++()
-      {
- ++_M_current;
- return *this;
-      }
-
-      constexpr move_iterator
-      operator++(int)
-      {
- move_iterator __tmp = *this;
- ++_M_current;
- return __tmp;
-      }
-
-
-
-
-
-
-
-      constexpr move_iterator&
-      operator--()
-      {
- --_M_current;
- return *this;
-      }
-
-      constexpr move_iterator
-      operator--(int)
-      {
- move_iterator __tmp = *this;
- --_M_current;
- return __tmp;
-      }
-
-      [[__nodiscard__]]
-      constexpr move_iterator
-      operator+(difference_type __n) const
-      { return move_iterator(_M_current + __n); }
-
-      constexpr move_iterator&
-      operator+=(difference_type __n)
-      {
- _M_current += __n;
- return *this;
-      }
-
-      [[__nodiscard__]]
-      constexpr move_iterator
-      operator-(difference_type __n) const
-      { return move_iterator(_M_current - __n); }
-
-      constexpr move_iterator&
-      operator-=(difference_type __n)
-      {
- _M_current -= __n;
- return *this;
-      }
-
-      [[__nodiscard__]]
-      constexpr reference
-      operator[](difference_type __n) const
-
-
-
-      { return std::move(_M_current[__n]); }
-# 1657 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-    };
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator==(const move_iterator<_IteratorL>& __x,
-        const move_iterator<_IteratorR>& __y)
-
-
-
-    { return __x.base() == __y.base(); }
-# 1678 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator!=(const move_iterator<_IteratorL>& __x,
-        const move_iterator<_IteratorR>& __y)
-    { return !(__x == __y); }
-
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<(const move_iterator<_IteratorL>& __x,
-       const move_iterator<_IteratorR>& __y)
-
-
-
-    { return __x.base() < __y.base(); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<=(const move_iterator<_IteratorL>& __x,
-        const move_iterator<_IteratorR>& __y)
-
-
-
-    { return !(__y < __x); }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>(const move_iterator<_IteratorL>& __x,
-       const move_iterator<_IteratorR>& __y)
-
-
-
-    { return __y < __x; }
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>=(const move_iterator<_IteratorL>& __x,
-        const move_iterator<_IteratorR>& __y)
-
-
-
-    { return !(__x < __y); }
-
-
-
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator==(const move_iterator<_Iterator>& __x,
-        const move_iterator<_Iterator>& __y)
-
-    { return __x.base() == __y.base(); }
-# 1745 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator!=(const move_iterator<_Iterator>& __x,
-        const move_iterator<_Iterator>& __y)
-    { return !(__x == __y); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<(const move_iterator<_Iterator>& __x,
-       const move_iterator<_Iterator>& __y)
-    { return __x.base() < __y.base(); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<=(const move_iterator<_Iterator>& __x,
-        const move_iterator<_Iterator>& __y)
-    { return !(__y < __x); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>(const move_iterator<_Iterator>& __x,
-       const move_iterator<_Iterator>& __y)
-    { return __y < __x; }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>=(const move_iterator<_Iterator>& __x,
-        const move_iterator<_Iterator>& __y)
-    { return !(__x < __y); }
-
-
-
-  template<typename _IteratorL, typename _IteratorR>
-    [[__nodiscard__]]
-    inline constexpr auto
-    operator-(const move_iterator<_IteratorL>& __x,
-       const move_iterator<_IteratorR>& __y)
-    -> decltype(__x.base() - __y.base())
-    { return __x.base() - __y.base(); }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr move_iterator<_Iterator>
-    operator+(typename move_iterator<_Iterator>::difference_type __n,
-       const move_iterator<_Iterator>& __x)
-
-
-
-    { return __x + __n; }
-
-  template<typename _Iterator>
-    [[__nodiscard__]]
-    inline constexpr move_iterator<_Iterator>
-    make_move_iterator(_Iterator __i)
-    { return move_iterator<_Iterator>(std::move(__i)); }
-
-  template<typename _Iterator, typename _ReturnType
-    = __conditional_t<__move_if_noexcept_cond
-      <typename iterator_traits<_Iterator>::value_type>::value,
-  _Iterator, move_iterator<_Iterator>>>
-    [[__nodiscard__]]
-    constexpr _ReturnType
-    __make_move_if_noexcept_iterator(_Iterator __i)
-    { return _ReturnType(__i); }
-
-
-
-  template<typename _Tp, typename _ReturnType
-    = __conditional_t<__move_if_noexcept_cond<_Tp>::value,
-        const _Tp*, move_iterator<_Tp*>>>
-    [[__nodiscard__]]
-    constexpr _ReturnType
-    __make_move_if_noexcept_iterator(_Tp* __i)
-    { return _ReturnType(__i); }
-
-  template<typename _Iterator>
-    struct __is_move_iterator<move_iterator<_Iterator> >
-    {
-      enum { __value = 1 };
-      typedef __true_type __type;
-    };
-# 2981 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-}
-
-namespace __gnu_debug
-{
-  template<typename _Iterator, typename _Sequence, typename _Category>
-    class _Safe_iterator;
-}
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-  template<typename _Iterator, typename _Container>
-    [[__nodiscard__]] __attribute__((__always_inline__))
-
-    inline _Iterator
-    __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
-    noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
-    { return __it.base(); }
-
-
-  template<typename _Iterator>
-    [[__nodiscard__]] __attribute__((__always_inline__))
-
-    inline _Iterator
-    __niter_base(_Iterator __it)
-    noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
-    { return __it; }
-# 3027 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_iterator.h" 3
-  template<typename _Ite, typename _Seq>
-
-    decltype(std::__niter_base(std::declval<_Ite>()))
-    __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq,
-   std::random_access_iterator_tag>&)
-    noexcept(std::is_nothrow_copy_constructible<_Ite>::value);
-
-
-
-  template<typename _Iterator>
-
-    inline auto
-    __niter_base(reverse_iterator<_Iterator> __it)
-    -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
-    { return __make_reverse_iterator(__niter_base(__it.base())); }
-
-  template<typename _Iterator>
-
-    inline auto
-    __niter_base(move_iterator<_Iterator> __it)
-    -> decltype(make_move_iterator(__niter_base(__it.base())))
-    { return make_move_iterator(__niter_base(__it.base())); }
-
-  template<typename _Iterator>
-
-    inline auto
-    __miter_base(reverse_iterator<_Iterator> __it)
-    -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
-    { return __make_reverse_iterator(__miter_base(__it.base())); }
-
-  template<typename _Iterator>
-
-    inline auto
-    __miter_base(move_iterator<_Iterator> __it)
-    -> decltype(__miter_base(__it.base()))
-    { return __miter_base(__it.base()); }
-
-
-
-
-
-
-  template<typename _From, typename _To>
-    [[__nodiscard__]]
-
-    inline _From
-    __niter_wrap(_From __from, _To __res)
-    { return __from + (std::__niter_base(__res) - std::__niter_base(__from)); }
-
-
-  template<typename _Iterator>
-    [[__nodiscard__]] __attribute__((__always_inline__))
-
-    inline _Iterator
-    __niter_wrap(const _Iterator&, _Iterator __res)
-    { return __res; }
-
-
-
-
-
-
-  template<typename _InputIterator>
-    using __iter_key_t = remove_const_t<
-
-
-
-      typename iterator_traits<_InputIterator>::value_type::first_type>;
-
-
-  template<typename _InputIterator>
-    using __iter_val_t
-
-
-
-      = typename iterator_traits<_InputIterator>::value_type::second_type;
-
-
-  template<typename _T1, typename _T2>
-    struct pair;
-
-  template<typename _InputIterator>
-    using __iter_to_alloc_t
-      = pair<const __iter_key_t<_InputIterator>, __iter_val_t<_InputIterator>>;
-
-
-
-}
-# 51 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 1 3
-# 63 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 116 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  template<typename _Arg, typename _Result>
-    struct unary_function
-    {
-
-      typedef _Arg argument_type;
-
-
-      typedef _Result result_type;
-    } __attribute__ ((__deprecated__));
-
-
-
-
-
-  template<typename _Arg1, typename _Arg2, typename _Result>
-    struct binary_function
-    {
-
-      typedef _Arg1 first_argument_type;
-
-
-      typedef _Arg2 second_argument_type;
-
-
-      typedef _Result result_type;
-    } __attribute__ ((__deprecated__));
-# 157 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  struct __is_transparent;
-
-  template<typename _Tp = void>
-    struct plus;
-
-  template<typename _Tp = void>
-    struct minus;
-
-  template<typename _Tp = void>
-    struct multiplies;
-
-  template<typename _Tp = void>
-    struct divides;
-
-  template<typename _Tp = void>
-    struct modulus;
-
-  template<typename _Tp = void>
-    struct negate;
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-  template<typename _Tp>
-    struct plus : public binary_function<_Tp, _Tp, _Tp>
-    {
-
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x + __y; }
-    };
-
-
-  template<typename _Tp>
-    struct minus : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x - __y; }
-    };
-
-
-  template<typename _Tp>
-    struct multiplies : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x * __y; }
-    };
-
-
-  template<typename _Tp>
-    struct divides : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x / __y; }
-    };
-
-
-  template<typename _Tp>
-    struct modulus : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x % __y; }
-    };
-
-
-  template<typename _Tp>
-    struct negate : public unary_function<_Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x) const
-      { return -__x; }
-    };
-#pragma GCC diagnostic pop
-
-
-  template<>
-    struct plus<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct minus<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct multiplies<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct divides<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct modulus<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct negate<void>
-    {
-      template <typename _Tp>
- constexpr
- auto
- operator()(_Tp&& __t) const
- noexcept(noexcept(-std::forward<_Tp>(__t)))
- -> decltype(-std::forward<_Tp>(__t))
- { return -std::forward<_Tp>(__t); }
-
-      typedef __is_transparent is_transparent;
-    };
-# 346 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  template<typename _Tp = void>
-    struct equal_to;
-
-  template<typename _Tp = void>
-    struct not_equal_to;
-
-  template<typename _Tp = void>
-    struct greater;
-
-  template<typename _Tp = void>
-    struct less;
-
-  template<typename _Tp = void>
-    struct greater_equal;
-
-  template<typename _Tp = void>
-    struct less_equal;
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-  template<typename _Tp>
-    struct equal_to : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x == __y; }
-    };
-
-
-  template<typename _Tp>
-    struct not_equal_to : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x != __y; }
-    };
-
-
-  template<typename _Tp>
-    struct greater : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x > __y; }
-    };
-
-
-  template<typename _Tp>
-    struct less : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x < __y; }
-    };
-
-
-  template<typename _Tp>
-    struct greater_equal : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x >= __y; }
-    };
-
-
-  template<typename _Tp>
-    struct less_equal : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x <= __y; }
-    };
-
-
-  template<typename _Tp>
-    struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
-    {
-      constexpr bool
-      operator()(_Tp* __x, _Tp* __y) const noexcept
-      {
-
- if (std::__is_constant_evaluated())
-   return __x > __y;
-
- return (long unsigned int)__x > (long unsigned int)__y;
-      }
-    };
-
-
-  template<typename _Tp>
-    struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
-    {
-      constexpr bool
-      operator()(_Tp* __x, _Tp* __y) const noexcept
-      {
-
- if (std::__is_constant_evaluated())
-   return __x < __y;
-
- return (long unsigned int)__x < (long unsigned int)__y;
-      }
-    };
-
-
-  template<typename _Tp>
-    struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
-    {
-      constexpr bool
-      operator()(_Tp* __x, _Tp* __y) const noexcept
-      {
-
- if (std::__is_constant_evaluated())
-   return __x >= __y;
-
- return (long unsigned int)__x >= (long unsigned int)__y;
-      }
-    };
-
-
-  template<typename _Tp>
-    struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
-    {
-      constexpr bool
-      operator()(_Tp* __x, _Tp* __y) const noexcept
-      {
-
- if (std::__is_constant_evaluated())
-   return __x <= __y;
-
- return (long unsigned int)__x <= (long unsigned int)__y;
-      }
-    };
-#pragma GCC diagnostic pop
-
-
-
-  template<>
-    struct equal_to<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct not_equal_to<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct greater<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
- {
-   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
-   __ptr_cmp<_Tp, _Up>{});
- }
-
-      template<typename _Tp, typename _Up>
- constexpr bool
- operator()(_Tp* __t, _Up* __u) const noexcept
- { return greater<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
-
-      typedef __is_transparent is_transparent;
-
-    private:
-      template <typename _Tp, typename _Up>
- static constexpr decltype(auto)
- _S_cmp(_Tp&& __t, _Up&& __u, false_type)
- { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
-
-      template <typename _Tp, typename _Up>
- static constexpr bool
- _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
- {
-   return greater<const volatile void*>{}(
-       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
-       static_cast<const volatile void*>(std::forward<_Up>(__u)));
- }
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded2 : true_type { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded2<_Tp, _Up, __void_t<
-   decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>>
- : false_type { };
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded<_Tp, _Up, __void_t<
-   decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>>
- : false_type { };
-
-      template<typename _Tp, typename _Up>
- using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
-       is_convertible<_Tp, const volatile void*>,
-       is_convertible<_Up, const volatile void*>>;
-    };
-
-
-  template<>
-    struct less<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
- {
-   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
-   __ptr_cmp<_Tp, _Up>{});
- }
-
-      template<typename _Tp, typename _Up>
- constexpr bool
- operator()(_Tp* __t, _Up* __u) const noexcept
- { return less<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
-
-      typedef __is_transparent is_transparent;
-
-    private:
-      template <typename _Tp, typename _Up>
- static constexpr decltype(auto)
- _S_cmp(_Tp&& __t, _Up&& __u, false_type)
- { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
-
-      template <typename _Tp, typename _Up>
- static constexpr bool
- _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
- {
-   return less<const volatile void*>{}(
-       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
-       static_cast<const volatile void*>(std::forward<_Up>(__u)));
- }
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded2 : true_type { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded2<_Tp, _Up, __void_t<
-   decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>>
- : false_type { };
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded<_Tp, _Up, __void_t<
-   decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>>
- : false_type { };
-
-      template<typename _Tp, typename _Up>
- using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
-       is_convertible<_Tp, const volatile void*>,
-       is_convertible<_Up, const volatile void*>>;
-    };
-
-
-  template<>
-    struct greater_equal<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
- {
-   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
-   __ptr_cmp<_Tp, _Up>{});
- }
-
-      template<typename _Tp, typename _Up>
- constexpr bool
- operator()(_Tp* __t, _Up* __u) const noexcept
- { return greater_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
-
-      typedef __is_transparent is_transparent;
-
-    private:
-      template <typename _Tp, typename _Up>
- static constexpr decltype(auto)
- _S_cmp(_Tp&& __t, _Up&& __u, false_type)
- { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
-
-      template <typename _Tp, typename _Up>
- static constexpr bool
- _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
- {
-   return greater_equal<const volatile void*>{}(
-       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
-       static_cast<const volatile void*>(std::forward<_Up>(__u)));
- }
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded2 : true_type { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded2<_Tp, _Up, __void_t<
-   decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>>
- : false_type { };
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded<_Tp, _Up, __void_t<
-   decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>>
- : false_type { };
-
-      template<typename _Tp, typename _Up>
- using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
-       is_convertible<_Tp, const volatile void*>,
-       is_convertible<_Up, const volatile void*>>;
-    };
-
-
-  template<>
-    struct less_equal<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
- {
-   return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
-   __ptr_cmp<_Tp, _Up>{});
- }
-
-      template<typename _Tp, typename _Up>
- constexpr bool
- operator()(_Tp* __t, _Up* __u) const noexcept
- { return less_equal<common_type_t<_Tp*, _Up*>>{}(__t, __u); }
-
-      typedef __is_transparent is_transparent;
-
-    private:
-      template <typename _Tp, typename _Up>
- static constexpr decltype(auto)
- _S_cmp(_Tp&& __t, _Up&& __u, false_type)
- { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
-
-      template <typename _Tp, typename _Up>
- static constexpr bool
- _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
- {
-   return less_equal<const volatile void*>{}(
-       static_cast<const volatile void*>(std::forward<_Tp>(__t)),
-       static_cast<const volatile void*>(std::forward<_Up>(__u)));
- }
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded2 : true_type { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded2<_Tp, _Up, __void_t<
-   decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>>
- : false_type { };
-
-
-      template<typename _Tp, typename _Up, typename = void>
- struct __not_overloaded : __not_overloaded2<_Tp, _Up> { };
-
-
-      template<typename _Tp, typename _Up>
- struct __not_overloaded<_Tp, _Up, __void_t<
-   decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>>
- : false_type { };
-
-      template<typename _Tp, typename _Up>
- using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
-       is_convertible<_Tp, const volatile void*>,
-       is_convertible<_Up, const volatile void*>>;
-    };
-# 778 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  template<typename _Tp = void>
-    struct logical_and;
-
-  template<typename _Tp = void>
-    struct logical_or;
-
-  template<typename _Tp = void>
-    struct logical_not;
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-  template<typename _Tp>
-    struct logical_and : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x && __y; }
-    };
-
-
-  template<typename _Tp>
-    struct logical_or : public binary_function<_Tp, _Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x || __y; }
-    };
-
-
-  template<typename _Tp>
-    struct logical_not : public unary_function<_Tp, bool>
-    {
-      constexpr
-      bool
-      operator()(const _Tp& __x) const
-      { return !__x; }
-    };
-#pragma GCC diagnostic pop
-
-
-
-  template<>
-    struct logical_and<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct logical_or<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-  template<>
-    struct logical_not<void>
-    {
-      template <typename _Tp>
- constexpr
- auto
- operator()(_Tp&& __t) const
- noexcept(noexcept(!std::forward<_Tp>(__t)))
- -> decltype(!std::forward<_Tp>(__t))
- { return !std::forward<_Tp>(__t); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-
-
-  template<typename _Tp = void>
-    struct bit_and;
-
-  template<typename _Tp = void>
-    struct bit_or;
-
-  template<typename _Tp = void>
-    struct bit_xor;
-
-  template<typename _Tp = void>
-    struct bit_not;
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-
-  template<typename _Tp>
-    struct bit_and : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x & __y; }
-    };
-
-  template<typename _Tp>
-    struct bit_or : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x | __y; }
-    };
-
-  template<typename _Tp>
-    struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
-    {
-      constexpr
-      _Tp
-      operator()(const _Tp& __x, const _Tp& __y) const
-      { return __x ^ __y; }
-    };
-
-  template<typename _Tp>
-    struct bit_not : public unary_function<_Tp, _Tp>
-    {
-    constexpr
-      _Tp
-      operator()(const _Tp& __x) const
-      { return ~__x; }
-    };
-#pragma GCC diagnostic pop
-
-
-  template <>
-    struct bit_and<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-  template <>
-    struct bit_or<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-  template <>
-    struct bit_xor<void>
-    {
-      template <typename _Tp, typename _Up>
- constexpr
- auto
- operator()(_Tp&& __t, _Up&& __u) const
- noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)))
- -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))
- { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-  template <>
-    struct bit_not<void>
-    {
-      template <typename _Tp>
- constexpr
- auto
- operator()(_Tp&& __t) const
- noexcept(noexcept(~std::forward<_Tp>(__t)))
- -> decltype(~std::forward<_Tp>(__t))
- { return ~std::forward<_Tp>(__t); }
-
-      typedef __is_transparent is_transparent;
-    };
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-# 1020 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  template<typename _Predicate>
-    class [[__deprecated__]] unary_negate
-    : public unary_function<typename _Predicate::argument_type, bool>
-    {
-    protected:
-      _Predicate _M_pred;
-
-    public:
-      constexpr
-      explicit
-      unary_negate(const _Predicate& __x) : _M_pred(__x) { }
-
-      constexpr
-      bool
-      operator()(const typename _Predicate::argument_type& __x) const
-      { return !_M_pred(__x); }
-    };
-
-
-  template<typename _Predicate>
-    __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
-    constexpr
-    inline unary_negate<_Predicate>
-    not1(const _Predicate& __pred)
-    { return unary_negate<_Predicate>(__pred); }
-
-
-  template<typename _Predicate>
-    class [[__deprecated__]] binary_negate
-    : public binary_function<typename _Predicate::first_argument_type,
-        typename _Predicate::second_argument_type, bool>
-    {
-    protected:
-      _Predicate _M_pred;
-
-    public:
-      constexpr
-      explicit
-      binary_negate(const _Predicate& __x) : _M_pred(__x) { }
-
-      constexpr
-      bool
-      operator()(const typename _Predicate::first_argument_type& __x,
-   const typename _Predicate::second_argument_type& __y) const
-      { return !_M_pred(__x, __y); }
-    };
-
-
-  template<typename _Predicate>
-    __attribute__ ((__deprecated__ ("use '" "std::not_fn" "' instead")))
-    constexpr
-    inline binary_negate<_Predicate>
-    not2(const _Predicate& __pred)
-    { return binary_negate<_Predicate>(__pred); }
-# 1101 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  template<typename _Arg, typename _Result>
-    class pointer_to_unary_function : public unary_function<_Arg, _Result>
-    {
-    protected:
-      _Result (*_M_ptr)(_Arg);
-
-    public:
-      pointer_to_unary_function() { }
-
-      explicit
-      pointer_to_unary_function(_Result (*__x)(_Arg))
-      : _M_ptr(__x) { }
-
-      _Result
-      operator()(_Arg __x) const
-      { return _M_ptr(__x); }
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Arg, typename _Result>
-    __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
-    inline pointer_to_unary_function<_Arg, _Result>
-    ptr_fun(_Result (*__x)(_Arg))
-    { return pointer_to_unary_function<_Arg, _Result>(__x); }
-
-
-  template<typename _Arg1, typename _Arg2, typename _Result>
-    class pointer_to_binary_function
-    : public binary_function<_Arg1, _Arg2, _Result>
-    {
-    protected:
-      _Result (*_M_ptr)(_Arg1, _Arg2);
-
-    public:
-      pointer_to_binary_function() { }
-
-      explicit
-      pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
-      : _M_ptr(__x) { }
-
-      _Result
-      operator()(_Arg1 __x, _Arg2 __y) const
-      { return _M_ptr(__x, __y); }
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Arg1, typename _Arg2, typename _Result>
-    __attribute__ ((__deprecated__ ("use '" "std::function" "' instead")))
-    inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
-    ptr_fun(_Result (*__x)(_Arg1, _Arg2))
-    { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
-
-
-  template<typename _Tp>
-    struct _Identity
-    : public unary_function<_Tp, _Tp>
-    {
-      _Tp&
-      operator()(_Tp& __x) const
-      { return __x; }
-
-      const _Tp&
-      operator()(const _Tp& __x) const
-      { return __x; }
-    };
-
-
-  template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
-
-  template<typename _Pair>
-    struct _Select1st
-    : public unary_function<_Pair, typename _Pair::first_type>
-    {
-      typename _Pair::first_type&
-      operator()(_Pair& __x) const
-      { return __x.first; }
-
-      const typename _Pair::first_type&
-      operator()(const _Pair& __x) const
-      { return __x.first; }
-
-
-      template<typename _Pair2>
-        typename _Pair2::first_type&
-        operator()(_Pair2& __x) const
-        { return __x.first; }
-
-      template<typename _Pair2>
-        const typename _Pair2::first_type&
-        operator()(const _Pair2& __x) const
-        { return __x.first; }
-
-    };
-
-  template<typename _Pair>
-    struct _Select2nd
-    : public unary_function<_Pair, typename _Pair::second_type>
-    {
-      typename _Pair::second_type&
-      operator()(_Pair& __x) const
-      { return __x.second; }
-
-      const typename _Pair::second_type&
-      operator()(const _Pair& __x) const
-      { return __x.second; }
-    };
-# 1228 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-  template<typename _Ret, typename _Tp>
-    class mem_fun_t : public unary_function<_Tp*, _Ret>
-    {
-    public:
-      explicit
-      mem_fun_t(_Ret (_Tp::*__pf)())
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(_Tp* __p) const
-      { return (__p->*_M_f)(); }
-
-    private:
-      _Ret (_Tp::*_M_f)();
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp>
-    class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
-    {
-    public:
-      explicit
-      const_mem_fun_t(_Ret (_Tp::*__pf)() const)
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(const _Tp* __p) const
-      { return (__p->*_M_f)(); }
-
-    private:
-      _Ret (_Tp::*_M_f)() const;
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp>
-    class mem_fun_ref_t : public unary_function<_Tp, _Ret>
-    {
-    public:
-      explicit
-      mem_fun_ref_t(_Ret (_Tp::*__pf)())
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(_Tp& __r) const
-      { return (__r.*_M_f)(); }
-
-    private:
-      _Ret (_Tp::*_M_f)();
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp>
-    class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
-    {
-    public:
-      explicit
-      const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(const _Tp& __r) const
-      { return (__r.*_M_f)(); }
-
-    private:
-      _Ret (_Tp::*_M_f)() const;
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
-    {
-    public:
-      explicit
-      mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(_Tp* __p, _Arg __x) const
-      { return (__p->*_M_f)(__x); }
-
-    private:
-      _Ret (_Tp::*_M_f)(_Arg);
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
-    {
-    public:
-      explicit
-      const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(const _Tp* __p, _Arg __x) const
-      { return (__p->*_M_f)(__x); }
-
-    private:
-      _Ret (_Tp::*_M_f)(_Arg) const;
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
-    {
-    public:
-      explicit
-      mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(_Tp& __r, _Arg __x) const
-      { return (__r.*_M_f)(__x); }
-
-    private:
-      _Ret (_Tp::*_M_f)(_Arg);
-    } __attribute__ ((__deprecated__));
-
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
-    {
-    public:
-      explicit
-      const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
-      : _M_f(__pf) { }
-
-      _Ret
-      operator()(const _Tp& __r, _Arg __x) const
-      { return (__r.*_M_f)(__x); }
-
-    private:
-      _Ret (_Tp::*_M_f)(_Arg) const;
-    } __attribute__ ((__deprecated__));
-
-
-
-  template<typename _Ret, typename _Tp>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline mem_fun_t<_Ret, _Tp>
-    mem_fun(_Ret (_Tp::*__f)())
-    { return mem_fun_t<_Ret, _Tp>(__f); }
-
-  template<typename _Ret, typename _Tp>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline const_mem_fun_t<_Ret, _Tp>
-    mem_fun(_Ret (_Tp::*__f)() const)
-    { return const_mem_fun_t<_Ret, _Tp>(__f); }
-
-  template<typename _Ret, typename _Tp>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline mem_fun_ref_t<_Ret, _Tp>
-    mem_fun_ref(_Ret (_Tp::*__f)())
-    { return mem_fun_ref_t<_Ret, _Tp>(__f); }
-
-  template<typename _Ret, typename _Tp>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline const_mem_fun_ref_t<_Ret, _Tp>
-    mem_fun_ref(_Ret (_Tp::*__f)() const)
-    { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline mem_fun1_t<_Ret, _Tp, _Arg>
-    mem_fun(_Ret (_Tp::*__f)(_Arg))
-    { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline const_mem_fun1_t<_Ret, _Tp, _Arg>
-    mem_fun(_Ret (_Tp::*__f)(_Arg) const)
-    { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
-    mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
-    { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-
-  template<typename _Ret, typename _Tp, typename _Arg>
-    __attribute__ ((__deprecated__ ("use '" "std::mem_fn" "' instead")))
-    inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
-    mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
-    { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-#pragma GCC diagnostic pop
-
-
-
-
-  template<typename _Func, typename _SfinaeType, typename = __void_t<>>
-    struct __has_is_transparent
-    { };
-
-  template<typename _Func, typename _SfinaeType>
-    struct __has_is_transparent<_Func, _SfinaeType,
-    __void_t<typename _Func::is_transparent>>
-    { typedef void type; };
-
-  template<typename _Func, typename _SfinaeType>
-    using __has_is_transparent_t
-      = typename __has_is_transparent<_Func, _SfinaeType>::type;
-# 1438 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 3
-}
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/backward/binders.h" 1 3
-# 60 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/backward/binders.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 107 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/backward/binders.h" 3
-  template<typename _Operation>
-    class binder1st
-    : public unary_function<typename _Operation::second_argument_type,
-       typename _Operation::result_type>
-    {
-    protected:
-      _Operation op;
-      typename _Operation::first_argument_type value;
-
-    public:
-      binder1st(const _Operation& __x,
-  const typename _Operation::first_argument_type& __y)
-      : op(__x), value(__y) { }
-
-      typename _Operation::result_type
-      operator()(const typename _Operation::second_argument_type& __x) const
-      { return op(value, __x); }
-
-
-
-      typename _Operation::result_type
-      operator()(typename _Operation::second_argument_type& __x) const
-      { return op(value, __x); }
-    } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
-
-
-  template<typename _Operation, typename _Tp>
-    __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
-    inline binder1st<_Operation>
-    bind1st(const _Operation& __fn, const _Tp& __x)
-    {
-      typedef typename _Operation::first_argument_type _Arg1_type;
-      return binder1st<_Operation>(__fn, _Arg1_type(__x));
-    }
-
-
-  template<typename _Operation>
-    class binder2nd
-    : public unary_function<typename _Operation::first_argument_type,
-       typename _Operation::result_type>
-    {
-    protected:
-      _Operation op;
-      typename _Operation::second_argument_type value;
-
-    public:
-      binder2nd(const _Operation& __x,
-  const typename _Operation::second_argument_type& __y)
-      : op(__x), value(__y) { }
-
-      typename _Operation::result_type
-      operator()(const typename _Operation::first_argument_type& __x) const
-      { return op(__x, value); }
-
-
-
-      typename _Operation::result_type
-      operator()(typename _Operation::first_argument_type& __x) const
-      { return op(__x, value); }
-    } __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")));
-
-
-  template<typename _Operation, typename _Tp>
-    __attribute__ ((__deprecated__ ("use '" "std::bind" "' instead")))
-    inline binder2nd<_Operation>
-    bind2nd(const _Operation& __fn, const _Tp& __x)
-    {
-      typedef typename _Operation::second_argument_type _Arg2_type;
-      return binder2nd<_Operation>(__fn, _Arg2_type(__x));
-    }
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 1442 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_function.h" 2 3
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
-  template<typename _Tp>
-    struct __is_integer_nonstrict
-    : public std::__is_integer<_Tp>
-    {
-      using std::__is_integer<_Tp>::__value;
-
-
-      enum { __width = __value ? sizeof(_Tp) * 8 : 0 };
-    };
-
-  template<typename _Value>
-    struct __numeric_traits_integer
-    {
-
-      static_assert(__is_integer_nonstrict<_Value>::__value,
-      "invalid specialization");
-
-
-
-
-      static const bool __is_signed = (_Value)(-1) < 0;
-      static const int __digits
- = __is_integer_nonstrict<_Value>::__width - __is_signed;
-
-
-      static const _Value __max = __is_signed
- ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1)
- : ~(_Value)0;
-      static const _Value __min = __is_signed ? -__max - 1 : (_Value)0;
-    };
-
-  template<typename _Value>
-    const _Value __numeric_traits_integer<_Value>::__min;
-
-  template<typename _Value>
-    const _Value __numeric_traits_integer<_Value>::__max;
-
-  template<typename _Value>
-    const bool __numeric_traits_integer<_Value>::__is_signed;
-
-  template<typename _Value>
-    const int __numeric_traits_integer<_Value>::__digits;
-# 139 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
-  template<typename _Tp>
-    using __int_traits = __numeric_traits_integer<_Tp>;
-# 159 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
-  template<typename _Value>
-    struct __numeric_traits_floating
-    {
-
-      static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136);
-
-
-      static const bool __is_signed = true;
-      static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18);
-      static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932);
-    };
-
-  template<typename _Value>
-    const int __numeric_traits_floating<_Value>::__max_digits10;
-
-  template<typename _Value>
-    const bool __numeric_traits_floating<_Value>::__is_signed;
-
-  template<typename _Value>
-    const int __numeric_traits_floating<_Value>::__digits10;
-
-  template<typename _Value>
-    const int __numeric_traits_floating<_Value>::__max_exponent10;
-
-
-
-
-
-
-  template<typename _Value>
-    struct __numeric_traits
-    : public __numeric_traits_integer<_Value>
-    { };
-
-  template<>
-    struct __numeric_traits<float>
-    : public __numeric_traits_floating<float>
-    { };
-
-  template<>
-    struct __numeric_traits<double>
-    : public __numeric_traits_floating<double>
-    { };
-
-  template<>
-    struct __numeric_traits<long double>
-    : public __numeric_traits_floating<long double>
-    { };
-# 241 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/numeric_traits.h" 3
-}
-# 53 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 1 3
-# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 1 3
-# 62 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 1 3
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  template<typename _Tp>
-    struct tuple_size;
-
-
-
-
-
-  template<typename _Tp,
-    typename _Up = typename remove_cv<_Tp>::type,
-    typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
-    size_t = tuple_size<_Tp>::value>
-    using __enable_if_has_tuple_size = _Tp;
-
-  template<typename _Tp>
-    struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
-    : public tuple_size<_Tp> { };
-
-  template<typename _Tp>
-    struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
-    : public tuple_size<_Tp> { };
-
-  template<typename _Tp>
-    struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
-    : public tuple_size<_Tp> { };
-
-
-  template<typename _Tp>
-    inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
-
-
-
-  template<size_t __i, typename _Tp>
-    struct tuple_element;
-
-
-  template<size_t __i, typename _Tp>
-    using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
-
-  template<size_t __i, typename _Tp>
-    struct tuple_element<__i, const _Tp>
-    {
-      using type = const __tuple_element_t<__i, _Tp>;
-    };
-
-  template<size_t __i, typename _Tp>
-    struct tuple_element<__i, volatile _Tp>
-    {
-      using type = volatile __tuple_element_t<__i, _Tp>;
-    };
-
-  template<size_t __i, typename _Tp>
-    struct tuple_element<__i, const volatile _Tp>
-    {
-      using type = const volatile __tuple_element_t<__i, _Tp>;
-    };
-
-
-
-
-
-  template<typename _Tp, typename... _Types>
-    constexpr size_t
-    __find_uniq_type_in_pack()
-    {
-      constexpr size_t __sz = sizeof...(_Types);
-      constexpr bool __found[__sz] = { __is_same(_Tp, _Types) ... };
-      size_t __n = __sz;
-      for (size_t __i = 0; __i < __sz; ++__i)
- {
-   if (__found[__i])
-     {
-       if (__n < __sz)
-  return __sz;
-       __n = __i;
-     }
- }
-      return __n;
-    }
-# 136 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
-  template<size_t __i, typename _Tp>
-    using tuple_element_t = typename tuple_element<__i, _Tp>::type;
-
-
-
-
-  template<size_t... _Indexes> struct _Index_tuple { };
-
-
-  template<size_t _Num>
-    struct _Build_index_tuple
-    {
-
-      template<typename, size_t... _Indices>
- using _IdxTuple = _Index_tuple<_Indices...>;
-
-
-      using __type = __make_integer_seq<_IdxTuple, size_t, _Num>;
-
-
-
-
-    };
-
-
-
-
-  template<typename _Tp, _Tp... _Idx>
-    struct integer_sequence
-    {
-
-
-
-      typedef _Tp value_type;
-      static constexpr size_t size() noexcept { return sizeof...(_Idx); }
-    };
-
-
-  template<typename _Tp, _Tp _Num>
-    using make_integer_sequence
-
-      = __make_integer_seq<integer_sequence, _Tp, _Num>;
-
-
-
-
-
-  template<size_t... _Idx>
-    using index_sequence = integer_sequence<size_t, _Idx...>;
-
-
-  template<size_t _Num>
-    using make_index_sequence = make_integer_sequence<size_t, _Num>;
-
-
-  template<typename... _Types>
-    using index_sequence_for = make_index_sequence<sizeof...(_Types)>;
-
-
-
-
-  struct in_place_t {
-    explicit in_place_t() = default;
-  };
-
-  inline constexpr in_place_t in_place{};
-
-  template<typename _Tp> struct in_place_type_t
-  {
-    explicit in_place_type_t() = default;
-  };
-
-  template<typename _Tp>
-    inline constexpr in_place_type_t<_Tp> in_place_type{};
-
-  template<size_t _Idx> struct in_place_index_t
-  {
-    explicit in_place_index_t() = default;
-  };
-
-  template<size_t _Idx>
-    inline constexpr in_place_index_t<_Idx> in_place_index{};
-
-  template<typename>
-    inline constexpr bool __is_in_place_type_v = false;
-
-  template<typename _Tp>
-    inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true;
-
-  template<typename>
-    inline constexpr bool __is_in_place_index_v = false;
-
-  template<size_t _Nm>
-    inline constexpr bool __is_in_place_index_v<in_place_index_t<_Nm>> = true;
-
-
-
-
-  template<size_t _Np, typename... _Types>
-    struct _Nth_type
-    { using type = __type_pack_element<_Np, _Types...>; };
-# 284 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
-  struct _Swallow_assign
-  {
-    template<class _Tp>
-      constexpr const _Swallow_assign&
-      operator=(const _Tp&) const noexcept
-      { return *this; }
-  };
-# 309 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
-  inline constexpr _Swallow_assign ignore{};
-# 320 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/utility.h" 3
-}
-# 63 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 2 3
-
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 79 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
-
-
-  inline constexpr piecewise_construct_t piecewise_construct =
-    piecewise_construct_t();
-
-
-
-
-  template<typename _T1, typename _T2>
-    struct pair;
-
-  template<typename...>
-    class tuple;
-
-
-
-
-
-  template<typename _Tp, size_t _Nm>
-    struct array;
-
-  template<size_t...>
-    struct _Index_tuple;
-
-  template<typename _Tp>
-    class complex;
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
-    get(pair<_Tp1, _Tp2>& __in) noexcept;
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
-    get(pair<_Tp1, _Tp2>&& __in) noexcept;
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
-    get(const pair<_Tp1, _Tp2>& __in) noexcept;
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
-    get(const pair<_Tp1, _Tp2>&& __in) noexcept;
-
-  template<size_t __i, typename... _Elements>
-    constexpr __tuple_element_t<__i, tuple<_Elements...>>&
-    get(tuple<_Elements...>& __t) noexcept;
-
-  template<size_t __i, typename... _Elements>
-    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
-    get(const tuple<_Elements...>& __t) noexcept;
-
-  template<size_t __i, typename... _Elements>
-    constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
-    get(tuple<_Elements...>&& __t) noexcept;
-
-  template<size_t __i, typename... _Elements>
-    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
-    get(const tuple<_Elements...>&& __t) noexcept;
-
-  template<size_t _Int, typename _Tp, size_t _Nm>
-    constexpr _Tp&
-    get(array<_Tp, _Nm>&) noexcept;
-
-  template<size_t _Int, typename _Tp, size_t _Nm>
-    constexpr _Tp&&
-    get(array<_Tp, _Nm>&&) noexcept;
-
-  template<size_t _Int, typename _Tp, size_t _Nm>
-    constexpr const _Tp&
-    get(const array<_Tp, _Nm>&) noexcept;
-
-  template<size_t _Int, typename _Tp, size_t _Nm>
-    constexpr const _Tp&&
-    get(const array<_Tp, _Nm>&&) noexcept;
-# 176 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template <bool, typename _T1, typename _T2>
-    struct _PCC
-    {
-      template <typename _U1, typename _U2>
-      static constexpr bool _ConstructiblePair()
-      {
- return __and_<is_constructible<_T1, const _U1&>,
-        is_constructible<_T2, const _U2&>>::value;
-      }
-
-      template <typename _U1, typename _U2>
-      static constexpr bool _ImplicitlyConvertiblePair()
-      {
- return __and_<is_convertible<const _U1&, _T1>,
-        is_convertible<const _U2&, _T2>>::value;
-      }
-
-      template <typename _U1, typename _U2>
-      static constexpr bool _MoveConstructiblePair()
-      {
- return __and_<is_constructible<_T1, _U1&&>,
-        is_constructible<_T2, _U2&&>>::value;
-      }
-
-      template <typename _U1, typename _U2>
-      static constexpr bool _ImplicitlyMoveConvertiblePair()
-      {
- return __and_<is_convertible<_U1&&, _T1>,
-        is_convertible<_U2&&, _T2>>::value;
-      }
-    };
-
-  template <typename _T1, typename _T2>
-    struct _PCC<false, _T1, _T2>
-    {
-      template <typename _U1, typename _U2>
-      static constexpr bool _ConstructiblePair()
-      {
- return false;
-      }
-
-      template <typename _U1, typename _U2>
-      static constexpr bool _ImplicitlyConvertiblePair()
-      {
- return false;
-      }
-
-      template <typename _U1, typename _U2>
-      static constexpr bool _MoveConstructiblePair()
-      {
- return false;
-      }
-
-      template <typename _U1, typename _U2>
-      static constexpr bool _ImplicitlyMoveConvertiblePair()
-      {
- return false;
-      }
-    };
-# 278 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _U1, typename _U2> class __pair_base
-  {
-
-    template<typename _T1, typename _T2> friend struct pair;
-    __pair_base() = default;
-    ~__pair_base() = default;
-    __pair_base(const __pair_base&) = default;
-    __pair_base& operator=(const __pair_base&) = delete;
-
-  };
-# 301 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-    struct pair
-    : public __pair_base<_T1, _T2>
-    {
-      typedef _T1 first_type;
-      typedef _T2 second_type;
-
-      _T1 first;
-      _T2 second;
-
-
-      constexpr pair(const pair&) = default;
-      constexpr pair(pair&&) = default;
-
-      template<typename... _Args1, typename... _Args2>
-
- pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
-
-
-                           void
-      swap(pair& __p)
-      noexcept(__and_<__is_nothrow_swappable<_T1>,
-        __is_nothrow_swappable<_T2>>::value)
-      {
- using std::swap;
- swap(first, __p.first);
- swap(second, __p.second);
-      }
-# 349 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-    private:
-      template<typename... _Args1, size_t... _Indexes1,
-        typename... _Args2, size_t... _Indexes2>
-
- pair(tuple<_Args1...>&, tuple<_Args2...>&,
-      _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
-    public:
-# 739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-      template <typename _U1 = _T1,
-                typename _U2 = _T2,
-                typename enable_if<__and_<
-                                     __is_implicitly_default_constructible<_U1>,
-                                     __is_implicitly_default_constructible<_U2>>
-                                   ::value, bool>::type = true>
-      constexpr pair()
-      : first(), second() { }
-
-      template <typename _U1 = _T1,
-                typename _U2 = _T2,
-                typename enable_if<__and_<
-                       is_default_constructible<_U1>,
-                       is_default_constructible<_U2>,
-                       __not_<
-                         __and_<__is_implicitly_default_constructible<_U1>,
-                                __is_implicitly_default_constructible<_U2>>>>
-                                   ::value, bool>::type = false>
-      explicit constexpr pair()
-      : first(), second() { }
-
-
-
-      using _PCCP = _PCC<true, _T1, _T2>;
-
-
-
-      template<typename _U1 = _T1, typename _U2=_T2, typename
-        enable_if<_PCCP::template
-      _ConstructiblePair<_U1, _U2>()
-                  && _PCCP::template
-      _ImplicitlyConvertiblePair<_U1, _U2>(),
-                         bool>::type=true>
-      constexpr pair(const _T1& __a, const _T2& __b)
-      : first(__a), second(__b) { }
-
-
-       template<typename _U1 = _T1, typename _U2=_T2, typename
-  enable_if<_PCCP::template
-       _ConstructiblePair<_U1, _U2>()
-                   && !_PCCP::template
-       _ImplicitlyConvertiblePair<_U1, _U2>(),
-                         bool>::type=false>
-      explicit constexpr pair(const _T1& __a, const _T2& __b)
-      : first(__a), second(__b) { }
-
-
-
-      template <typename _U1, typename _U2>
-        using _PCCFP = _PCC<!is_same<_T1, _U1>::value
-       || !is_same<_T2, _U2>::value,
-       _T1, _T2>;
-
-
-      template<typename _U1, typename _U2, typename
-        enable_if<_PCCFP<_U1, _U2>::template
-      _ConstructiblePair<_U1, _U2>()
-                  && _PCCFP<_U1, _U2>::template
-      _ImplicitlyConvertiblePair<_U1, _U2>(),
-     bool>::type=true>
- constexpr pair(const pair<_U1, _U2>& __p)
- : first(__p.first), second(__p.second)
- { ; }
-
-      template<typename _U1, typename _U2, typename
-        enable_if<_PCCFP<_U1, _U2>::template
-      _ConstructiblePair<_U1, _U2>()
-    && !_PCCFP<_U1, _U2>::template
-      _ImplicitlyConvertiblePair<_U1, _U2>(),
-                         bool>::type=false>
- explicit constexpr pair(const pair<_U1, _U2>& __p)
- : first(__p.first), second(__p.second)
- { ; }
-# 823 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-    private:
-
-
-
-      struct __zero_as_null_pointer_constant
-      {
- __zero_as_null_pointer_constant(int __zero_as_null_pointer_constant::*)
- { }
- template<typename _Tp,
-   typename = __enable_if_t<is_null_pointer<_Tp>::value>>
- __zero_as_null_pointer_constant(_Tp) = delete;
-      };
-
-    public:
-
-
-
-
-      template<typename _U1,
-        __enable_if_t<__and_<__not_<is_reference<_U1>>,
-        is_pointer<_T2>,
-        is_constructible<_T1, _U1>,
-        __not_<is_constructible<_T1, const _U1&>>,
-        is_convertible<_U1, _T1>>::value,
-        bool> = true>
- __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
- constexpr
- pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
- : first(std::forward<_U1>(__x)), second(nullptr)
- { ; }
-
-      template<typename _U1,
-        __enable_if_t<__and_<__not_<is_reference<_U1>>,
-        is_pointer<_T2>,
-        is_constructible<_T1, _U1>,
-        __not_<is_constructible<_T1, const _U1&>>,
-        __not_<is_convertible<_U1, _T1>>>::value,
-        bool> = false>
- __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
- explicit constexpr
- pair(_U1&& __x, __zero_as_null_pointer_constant, ...)
- : first(std::forward<_U1>(__x)), second(nullptr)
- { ; }
-
-      template<typename _U2,
-        __enable_if_t<__and_<is_pointer<_T1>,
-        __not_<is_reference<_U2>>,
-        is_constructible<_T2, _U2>,
-        __not_<is_constructible<_T2, const _U2&>>,
-        is_convertible<_U2, _T2>>::value,
-        bool> = true>
- __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
- constexpr
- pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
- : first(nullptr), second(std::forward<_U2>(__y))
- { ; }
-
-      template<typename _U2,
-        __enable_if_t<__and_<is_pointer<_T1>,
-        __not_<is_reference<_U2>>,
-        is_constructible<_T2, _U2>,
-        __not_<is_constructible<_T2, const _U2&>>,
-        __not_<is_convertible<_U2, _T2>>>::value,
-        bool> = false>
- __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))
- explicit constexpr
- pair(__zero_as_null_pointer_constant, _U2&& __y, ...)
- : first(nullptr), second(std::forward<_U2>(__y))
- { ; }
-
-
-
-      template<typename _U1, typename _U2, typename
-        enable_if<_PCCP::template
-      _MoveConstructiblePair<_U1, _U2>()
-     && _PCCP::template
-      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
-                         bool>::type=true>
- constexpr pair(_U1&& __x, _U2&& __y)
- : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y))
- { ; }
-
-      template<typename _U1, typename _U2, typename
-        enable_if<_PCCP::template
-      _MoveConstructiblePair<_U1, _U2>()
-     && !_PCCP::template
-      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
-                         bool>::type=false>
- explicit constexpr pair(_U1&& __x, _U2&& __y)
- : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y))
- { ; }
-
-
-      template<typename _U1, typename _U2, typename
-        enable_if<_PCCFP<_U1, _U2>::template
-      _MoveConstructiblePair<_U1, _U2>()
-     && _PCCFP<_U1, _U2>::template
-      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
-                         bool>::type=true>
- constexpr pair(pair<_U1, _U2>&& __p)
- : first(std::forward<_U1>(__p.first)),
-   second(std::forward<_U2>(__p.second))
- { ; }
-
-      template<typename _U1, typename _U2, typename
-        enable_if<_PCCFP<_U1, _U2>::template
-      _MoveConstructiblePair<_U1, _U2>()
-     && !_PCCFP<_U1, _U2>::template
-      _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
-                         bool>::type=false>
- explicit constexpr pair(pair<_U1, _U2>&& __p)
- : first(std::forward<_U1>(__p.first)),
-   second(std::forward<_U2>(__p.second))
- { ; }
-
-
-
-      pair&
-      operator=(__conditional_t<__and_<is_copy_assignable<_T1>,
-           is_copy_assignable<_T2>>::value,
-    const pair&, const __nonesuch&> __p)
-      {
- first = __p.first;
- second = __p.second;
- return *this;
-      }
-
-      pair&
-      operator=(__conditional_t<__and_<is_move_assignable<_T1>,
-           is_move_assignable<_T2>>::value,
-    pair&&, __nonesuch&&> __p)
-      noexcept(__and_<is_nothrow_move_assignable<_T1>,
-        is_nothrow_move_assignable<_T2>>::value)
-      {
- first = std::forward<first_type>(__p.first);
- second = std::forward<second_type>(__p.second);
- return *this;
-      }
-
-      template<typename _U1, typename _U2>
- typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
-      is_assignable<_T2&, const _U2&>>::value,
-      pair&>::type
- operator=(const pair<_U1, _U2>& __p)
- {
-   first = __p.first;
-   second = __p.second;
-   return *this;
- }
-
-      template<typename _U1, typename _U2>
- typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
-      is_assignable<_T2&, _U2&&>>::value,
-      pair&>::type
- operator=(pair<_U1, _U2>&& __p)
- {
-   first = std::forward<_U1>(__p.first);
-   second = std::forward<_U2>(__p.second);
-   return *this;
- }
-# 1015 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-    };
-
-
-
-
-  template<typename _T1, typename _T2> pair(_T1, _T2) -> pair<_T1, _T2>;
-# 1057 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-    { return __x.first == __y.first && __x.second == __y.second; }
-# 1070 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-    { return __x.first < __y.first
-      || (!(__y.first < __x.first) && __x.second < __y.second); }
-
-
-  template<typename _T1, typename _T2>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-    { return !(__x == __y); }
-
-
-  template<typename _T1, typename _T2>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-    { return __y < __x; }
-
-
-  template<typename _T1, typename _T2>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-    { return !(__y < __x); }
-
-
-  template<typename _T1, typename _T2>
-    [[__nodiscard__]]
-    inline constexpr bool
-    operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
-    { return !(__x < __y); }
-# 1112 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-                         inline
-
-
-    typename enable_if<__and_<__is_swappable<_T1>,
-                              __is_swappable<_T2>>::value>::type
-
-
-
-    swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
-    noexcept(noexcept(__x.swap(__y)))
-    { __x.swap(__y); }
-# 1135 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-    typename enable_if<!__and_<__is_swappable<_T1>,
-          __is_swappable<_T2>>::value>::type
-    swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete;
-# 1161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-    constexpr pair<typename __decay_and_strip<_T1>::__type,
-                   typename __decay_and_strip<_T2>::__type>
-    make_pair(_T1&& __x, _T2&& __y)
-    {
-      typedef typename __decay_and_strip<_T1>::__type __ds_type1;
-      typedef typename __decay_and_strip<_T2>::__type __ds_type2;
-      typedef pair<__ds_type1, __ds_type2> __pair_type;
-      return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
-    }
-# 1184 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-  template<typename _T1, typename _T2>
-    struct __is_tuple_like_impl<pair<_T1, _T2>> : true_type
-    { };
-
-
-
-  template<class _Tp1, class _Tp2>
-    struct tuple_size<pair<_Tp1, _Tp2>>
-    : public integral_constant<size_t, 2> { };
-
-
-  template<class _Tp1, class _Tp2>
-    struct tuple_element<0, pair<_Tp1, _Tp2>>
-    { typedef _Tp1 type; };
-
-
-  template<class _Tp1, class _Tp2>
-    struct tuple_element<1, pair<_Tp1, _Tp2>>
-    { typedef _Tp2 type; };
-
-
-  template<typename _Tp1, typename _Tp2>
-    inline constexpr size_t tuple_size_v<pair<_Tp1, _Tp2>> = 2;
-
-  template<typename _Tp1, typename _Tp2>
-    inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2;
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++14-extensions"
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<typename _Tp>
-    inline constexpr bool __is_pair = false;
-
-  template<typename _Tp, typename _Up>
-    inline constexpr bool __is_pair<pair<_Tp, _Up>> = true;
-#pragma GCC diagnostic pop
-
-
-
-  template<size_t _Int>
-    struct __pair_get;
-
-  template<>
-    struct __pair_get<0>
-    {
-      template<typename _Tp1, typename _Tp2>
- static constexpr _Tp1&
- __get(pair<_Tp1, _Tp2>& __pair) noexcept
- { return __pair.first; }
-
-      template<typename _Tp1, typename _Tp2>
- static constexpr _Tp1&&
- __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
- { return std::forward<_Tp1>(__pair.first); }
-
-      template<typename _Tp1, typename _Tp2>
- static constexpr const _Tp1&
- __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
- { return __pair.first; }
-
-      template<typename _Tp1, typename _Tp2>
- static constexpr const _Tp1&&
- __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
- { return std::forward<const _Tp1>(__pair.first); }
-    };
-
-  template<>
-    struct __pair_get<1>
-    {
-      template<typename _Tp1, typename _Tp2>
- static constexpr _Tp2&
- __get(pair<_Tp1, _Tp2>& __pair) noexcept
- { return __pair.second; }
-
-      template<typename _Tp1, typename _Tp2>
- static constexpr _Tp2&&
- __move_get(pair<_Tp1, _Tp2>&& __pair) noexcept
- { return std::forward<_Tp2>(__pair.second); }
-
-      template<typename _Tp1, typename _Tp2>
- static constexpr const _Tp2&
- __const_get(const pair<_Tp1, _Tp2>& __pair) noexcept
- { return __pair.second; }
-
-      template<typename _Tp1, typename _Tp2>
- static constexpr const _Tp2&&
- __const_move_get(const pair<_Tp1, _Tp2>&& __pair) noexcept
- { return std::forward<const _Tp2>(__pair.second); }
-    };
-
-
-
-
-
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
-    get(pair<_Tp1, _Tp2>& __in) noexcept
-    { return __pair_get<_Int>::__get(__in); }
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
-    get(pair<_Tp1, _Tp2>&& __in) noexcept
-    { return __pair_get<_Int>::__move_get(std::move(__in)); }
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&
-    get(const pair<_Tp1, _Tp2>& __in) noexcept
-    { return __pair_get<_Int>::__const_get(__in); }
-
-  template<size_t _Int, class _Tp1, class _Tp2>
-    constexpr const typename tuple_element<_Int, pair<_Tp1, _Tp2>>::type&&
-    get(const pair<_Tp1, _Tp2>&& __in) noexcept
-    { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
-
-
-
-  template <typename _Tp, typename _Up>
-    constexpr _Tp&
-    get(pair<_Tp, _Up>& __p) noexcept
-    { return __p.first; }
-
-  template <typename _Tp, typename _Up>
-    constexpr const _Tp&
-    get(const pair<_Tp, _Up>& __p) noexcept
-    { return __p.first; }
-
-  template <typename _Tp, typename _Up>
-    constexpr _Tp&&
-    get(pair<_Tp, _Up>&& __p) noexcept
-    { return std::move(__p.first); }
-
-  template <typename _Tp, typename _Up>
-    constexpr const _Tp&&
-    get(const pair<_Tp, _Up>&& __p) noexcept
-    { return std::move(__p.first); }
-
-  template <typename _Tp, typename _Up>
-    constexpr _Tp&
-    get(pair<_Up, _Tp>& __p) noexcept
-    { return __p.second; }
-
-  template <typename _Tp, typename _Up>
-    constexpr const _Tp&
-    get(const pair<_Up, _Tp>& __p) noexcept
-    { return __p.second; }
-
-  template <typename _Tp, typename _Up>
-    constexpr _Tp&&
-    get(pair<_Up, _Tp>&& __p) noexcept
-    { return std::move(__p.second); }
-
-  template <typename _Tp, typename _Up>
-    constexpr const _Tp&&
-    get(const pair<_Up, _Tp>&& __p) noexcept
-    { return std::move(__p.second); }
-# 1366 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_pair.h" 3
-}
-# 65 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/debug/debug.h" 1 3
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/debug/debug.h" 3
-namespace std
-{
-  namespace __debug { }
-}
-
-
-
-
-namespace __gnu_debug
-{
-  using namespace std::__debug;
-
-  template<typename _Ite, typename _Seq, typename _Cat>
-    struct _Safe_iterator;
-}
-# 70 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/predefined_ops.h" 1 3
-# 35 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/predefined_ops.h" 3
-namespace __gnu_cxx
-{
-namespace __ops
-{
-  struct _Iter_less_iter
-  {
-    template<typename _Iterator1, typename _Iterator2>
-      constexpr
-      bool
-      operator()(_Iterator1 __it1, _Iterator2 __it2) const
-      { return *__it1 < *__it2; }
-  };
-
-  constexpr
-  inline _Iter_less_iter
-  __iter_less_iter()
-  { return _Iter_less_iter(); }
-
-  struct _Iter_less_val
-  {
-
-    constexpr _Iter_less_val() = default;
-
-
-
-
-
-    explicit
-    _Iter_less_val(_Iter_less_iter) { }
-
-    template<typename _Iterator, typename _Value>
-
-      bool
-      operator()(_Iterator __it, _Value& __val) const
-      { return *__it < __val; }
-  };
-
-
-  inline _Iter_less_val
-  __iter_less_val()
-  { return _Iter_less_val(); }
-
-
-  inline _Iter_less_val
-  __iter_comp_val(_Iter_less_iter)
-  { return _Iter_less_val(); }
-
-  struct _Val_less_iter
-  {
-
-    constexpr _Val_less_iter() = default;
-
-
-
-
-
-    explicit
-    _Val_less_iter(_Iter_less_iter) { }
-
-    template<typename _Value, typename _Iterator>
-
-      bool
-      operator()(_Value& __val, _Iterator __it) const
-      { return __val < *__it; }
-  };
-
-
-  inline _Val_less_iter
-  __val_less_iter()
-  { return _Val_less_iter(); }
-
-
-  inline _Val_less_iter
-  __val_comp_iter(_Iter_less_iter)
-  { return _Val_less_iter(); }
-
-  struct _Iter_equal_to_iter
-  {
-    template<typename _Iterator1, typename _Iterator2>
-
-      bool
-      operator()(_Iterator1 __it1, _Iterator2 __it2) const
-      { return *__it1 == *__it2; }
-  };
-
-
-  inline _Iter_equal_to_iter
-  __iter_equal_to_iter()
-  { return _Iter_equal_to_iter(); }
-
-  struct _Iter_equal_to_val
-  {
-    template<typename _Iterator, typename _Value>
-
-      bool
-      operator()(_Iterator __it, _Value& __val) const
-      { return *__it == __val; }
-  };
-
-
-  inline _Iter_equal_to_val
-  __iter_equal_to_val()
-  { return _Iter_equal_to_val(); }
-
-
-  inline _Iter_equal_to_val
-  __iter_comp_val(_Iter_equal_to_iter)
-  { return _Iter_equal_to_val(); }
-
-  template<typename _Compare>
-    struct _Iter_comp_iter
-    {
-      _Compare _M_comp;
-
-      explicit constexpr
-      _Iter_comp_iter(_Compare __comp)
- : _M_comp(std::move(__comp))
-      { }
-
-      template<typename _Iterator1, typename _Iterator2>
-        constexpr
-        bool
-        operator()(_Iterator1 __it1, _Iterator2 __it2)
-        { return bool(_M_comp(*__it1, *__it2)); }
-    };
-
-  template<typename _Compare>
-    constexpr
-    inline _Iter_comp_iter<_Compare>
-    __iter_comp_iter(_Compare __comp)
-    { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
-
-  template<typename _Compare>
-    struct _Iter_comp_val
-    {
-      _Compare _M_comp;
-
-
-      explicit
-      _Iter_comp_val(_Compare __comp)
- : _M_comp(std::move(__comp))
-      { }
-
-
-      explicit
-      _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
- : _M_comp(__comp._M_comp)
-      { }
-
-
-
-      explicit
-      _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
- : _M_comp(std::move(__comp._M_comp))
-      { }
-
-
-      template<typename _Iterator, typename _Value>
-
- bool
- operator()(_Iterator __it, _Value& __val)
- { return bool(_M_comp(*__it, __val)); }
-    };
-
-  template<typename _Compare>
-
-    inline _Iter_comp_val<_Compare>
-    __iter_comp_val(_Compare __comp)
-    { return _Iter_comp_val<_Compare>(std::move(__comp)); }
-
-  template<typename _Compare>
-
-    inline _Iter_comp_val<_Compare>
-    __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
-    { return _Iter_comp_val<_Compare>(std::move(__comp)); }
-
-  template<typename _Compare>
-    struct _Val_comp_iter
-    {
-      _Compare _M_comp;
-
-
-      explicit
-      _Val_comp_iter(_Compare __comp)
- : _M_comp(std::move(__comp))
-      { }
-
-
-      explicit
-      _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
- : _M_comp(__comp._M_comp)
-      { }
-
-
-
-      explicit
-      _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
- : _M_comp(std::move(__comp._M_comp))
-      { }
-
-
-      template<typename _Value, typename _Iterator>
-
- bool
- operator()(_Value& __val, _Iterator __it)
- { return bool(_M_comp(__val, *__it)); }
-    };
-
-  template<typename _Compare>
-
-    inline _Val_comp_iter<_Compare>
-    __val_comp_iter(_Compare __comp)
-    { return _Val_comp_iter<_Compare>(std::move(__comp)); }
-
-  template<typename _Compare>
-
-    inline _Val_comp_iter<_Compare>
-    __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
-    { return _Val_comp_iter<_Compare>(std::move(__comp)); }
-
-  template<typename _Value>
-    struct _Iter_equals_val
-    {
-      _Value& _M_value;
-
-
-      explicit
-      _Iter_equals_val(_Value& __value)
- : _M_value(__value)
-      { }
-
-      template<typename _Iterator>
-
- bool
- operator()(_Iterator __it)
- { return *__it == _M_value; }
-    };
-
-  template<typename _Value>
-
-    inline _Iter_equals_val<_Value>
-    __iter_equals_val(_Value& __val)
-    { return _Iter_equals_val<_Value>(__val); }
-
-  template<typename _Iterator1>
-    struct _Iter_equals_iter
-    {
-      _Iterator1 _M_it1;
-
-
-      explicit
-      _Iter_equals_iter(_Iterator1 __it1)
- : _M_it1(__it1)
-      { }
-
-      template<typename _Iterator2>
-
- bool
- operator()(_Iterator2 __it2)
- { return *__it2 == *_M_it1; }
-    };
-
-  template<typename _Iterator>
-
-    inline _Iter_equals_iter<_Iterator>
-    __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
-    { return _Iter_equals_iter<_Iterator>(__it); }
-
-  template<typename _Predicate>
-    struct _Iter_pred
-    {
-      _Predicate _M_pred;
-
-
-      explicit
-      _Iter_pred(_Predicate __pred)
- : _M_pred(std::move(__pred))
-      { }
-
-      template<typename _Iterator>
-
- bool
- operator()(_Iterator __it)
- { return bool(_M_pred(*__it)); }
-    };
-
-  template<typename _Predicate>
-
-    inline _Iter_pred<_Predicate>
-    __pred_iter(_Predicate __pred)
-    { return _Iter_pred<_Predicate>(std::move(__pred)); }
-
-  template<typename _Compare, typename _Value>
-    struct _Iter_comp_to_val
-    {
-      _Compare _M_comp;
-      _Value& _M_value;
-
-
-      _Iter_comp_to_val(_Compare __comp, _Value& __value)
- : _M_comp(std::move(__comp)), _M_value(__value)
-      { }
-
-      template<typename _Iterator>
-
- bool
- operator()(_Iterator __it)
- { return bool(_M_comp(*__it, _M_value)); }
-    };
-
-  template<typename _Compare, typename _Value>
-    _Iter_comp_to_val<_Compare, _Value>
-
-    __iter_comp_val(_Compare __comp, _Value &__val)
-    {
-      return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
-    }
-
-  template<typename _Compare, typename _Iterator1>
-    struct _Iter_comp_to_iter
-    {
-      _Compare _M_comp;
-      _Iterator1 _M_it1;
-
-
-      _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
- : _M_comp(std::move(__comp)), _M_it1(__it1)
-      { }
-
-      template<typename _Iterator2>
-
- bool
- operator()(_Iterator2 __it2)
- { return bool(_M_comp(*__it2, *_M_it1)); }
-    };
-
-  template<typename _Compare, typename _Iterator>
-
-    inline _Iter_comp_to_iter<_Compare, _Iterator>
-    __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
-    {
-      return _Iter_comp_to_iter<_Compare, _Iterator>(
-   std::move(__comp._M_comp), __it);
-    }
-
-  template<typename _Predicate>
-    struct _Iter_negate
-    {
-      _Predicate _M_pred;
-
-
-      explicit
-      _Iter_negate(_Predicate __pred)
- : _M_pred(std::move(__pred))
-      { }
-
-      template<typename _Iterator>
-
- bool
- operator()(_Iterator __it)
- { return !bool(_M_pred(*__it)); }
-    };
-
-  template<typename _Predicate>
-
-    inline _Iter_negate<_Predicate>
-    __negate(_Iter_pred<_Predicate> __pred)
-    { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
-
-}
-}
-# 72 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/concepts" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/concepts" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/concepts" 2 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 2 3
-# 63 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 157 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-  template<typename _Tp>
-    constexpr _Tp
-    __rotl(_Tp __x, int __s) noexcept
-    {
-      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
-      if constexpr ((_Nd & (_Nd - 1)) == 0)
- {
-
-
-   constexpr unsigned __uNd = _Nd;
-   const unsigned __r = __s;
-   return (__x << (__r % __uNd)) | (__x >> ((-__r) % __uNd));
- }
-      const int __r = __s % _Nd;
-      if (__r == 0)
- return __x;
-      else if (__r > 0)
- return (__x << __r) | (__x >> ((_Nd - __r) % _Nd));
-      else
- return (__x >> -__r) | (__x << ((_Nd + __r) % _Nd));
-    }
-
-  template<typename _Tp>
-    constexpr _Tp
-    __rotr(_Tp __x, int __s) noexcept
-    {
-      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
-      if constexpr ((_Nd & (_Nd - 1)) == 0)
- {
-
-
-   constexpr unsigned __uNd = _Nd;
-   const unsigned __r = __s;
-   return (__x >> (__r % __uNd)) | (__x << ((-__r) % __uNd));
- }
-      const int __r = __s % _Nd;
-      if (__r == 0)
- return __x;
-      else if (__r > 0)
- return (__x >> __r) | (__x << ((_Nd - __r) % _Nd));
-      else
- return (__x << -__r) | (__x >> ((_Nd + __r) % _Nd));
-    }
-
-  template<typename _Tp>
-    constexpr int
-    __countl_zero(_Tp __x) noexcept
-    {
-      using __gnu_cxx::__int_traits;
-      constexpr auto _Nd = __int_traits<_Tp>::__digits;
-
-
-      return __builtin_clzg(__x, _Nd);
-# 249 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-    }
-
-  template<typename _Tp>
-    constexpr int
-    __countl_one(_Tp __x) noexcept
-    {
-      return std::__countl_zero<_Tp>((_Tp)~__x);
-    }
-
-  template<typename _Tp>
-    constexpr int
-    __countr_zero(_Tp __x) noexcept
-    {
-      using __gnu_cxx::__int_traits;
-      constexpr auto _Nd = __int_traits<_Tp>::__digits;
-
-
-      return __builtin_ctzg(__x, _Nd);
-# 294 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-    }
-
-  template<typename _Tp>
-    constexpr int
-    __countr_one(_Tp __x) noexcept
-    {
-      return std::__countr_zero((_Tp)~__x);
-    }
-
-  template<typename _Tp>
-    constexpr int
-    __popcount(_Tp __x) noexcept
-    {
-
-      return __builtin_popcountg(__x);
-# 334 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-    }
-
-  template<typename _Tp>
-    constexpr bool
-    __has_single_bit(_Tp __x) noexcept
-    { return std::__popcount(__x) == 1; }
-
-  template<typename _Tp>
-    constexpr _Tp
-    __bit_ceil(_Tp __x) noexcept
-    {
-      using __gnu_cxx::__int_traits;
-      constexpr auto _Nd = __int_traits<_Tp>::__digits;
-      if (__x == 0 || __x == 1)
-        return 1;
-      auto __shift_exponent = _Nd - std::__countl_zero((_Tp)(__x - 1u));
-
-
-
-
-      if (!std::__is_constant_evaluated())
- {
-   do { if (__builtin_expect(!bool(__shift_exponent != __int_traits<_Tp>::__digits), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit", 356, __PRETTY_FUNCTION__, "__shift_exponent != __int_traits<_Tp>::__digits"); } while (false);
- }
-
-      using __promoted_type = decltype(__x << 1);
-      if constexpr (!is_same<__promoted_type, _Tp>::value)
- {
-
-
-
-
-
-   const int __extra_exp = sizeof(__promoted_type) / sizeof(_Tp) / 2;
-   __shift_exponent |= (__shift_exponent & _Nd) << __extra_exp;
- }
-      return (_Tp)1u << __shift_exponent;
-    }
-
-  template<typename _Tp>
-    constexpr _Tp
-    __bit_floor(_Tp __x) noexcept
-    {
-      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
-      if (__x == 0)
-        return 0;
-      return (_Tp)1u << (_Nd - std::__countl_zero((_Tp)(__x >> 1)));
-    }
-
-  template<typename _Tp>
-    constexpr int
-    __bit_width(_Tp __x) noexcept
-    {
-      constexpr auto _Nd = __gnu_cxx::__int_traits<_Tp>::__digits;
-      return _Nd - std::__countl_zero(__x);
-    }
-# 497 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bit" 3
-}
-# 77 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 2 3
-
-
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-  template<typename _Tp, typename _Up>
-    constexpr
-    inline int
-    __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
-    {
-
-      static_assert(sizeof(_Tp) == sizeof(_Up), "can be compared with memcmp");
-# 109 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
- return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
-    }
-# 153 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _ForwardIterator1, typename _ForwardIterator2>
-
-    inline void
-    iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
-    {
-# 186 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-      swap(*__a, *__b);
-
-    }
-# 202 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _ForwardIterator1, typename _ForwardIterator2>
-
-    _ForwardIterator2
-    swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-  _ForwardIterator2 __first2)
-    {
-
-
-
-
-
-                                                       ;
-
-      for (; __first1 != __last1; ++__first1, (void)++__first2)
- std::iter_swap(__first1, __first2);
-      return __first2;
-    }
-# 231 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _Tp>
-    [[__nodiscard__]] constexpr
-    inline const _Tp&
-    min(const _Tp& __a, const _Tp& __b)
-    {
-
-
-
-      if (__b < __a)
- return __b;
-      return __a;
-    }
-# 255 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _Tp>
-    [[__nodiscard__]] constexpr
-    inline const _Tp&
-    max(const _Tp& __a, const _Tp& __b)
-    {
-
-
-
-      if (__a < __b)
- return __b;
-      return __a;
-    }
-# 279 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _Tp, typename _Compare>
-    [[__nodiscard__]] constexpr
-    inline const _Tp&
-    min(const _Tp& __a, const _Tp& __b, _Compare __comp)
-    {
-
-      if (__comp(__b, __a))
- return __b;
-      return __a;
-    }
-# 301 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _Tp, typename _Compare>
-    [[__nodiscard__]] constexpr
-    inline const _Tp&
-    max(const _Tp& __a, const _Tp& __b, _Compare __comp)
-    {
-
-      if (__comp(__a, __b))
- return __b;
-      return __a;
-    }
-
-
-
-  template<typename _Tp, typename _Ref, typename _Ptr>
-    struct _Deque_iterator;
-
-  struct _Bit_iterator;
-
-
-
-
-
-
-  template<typename _CharT>
-    struct char_traits;
-
-  template<typename _CharT, typename _Traits>
-    class istreambuf_iterator;
-
-  template<typename _CharT, typename _Traits>
-    class ostreambuf_iterator;
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-      ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
-    __copy_move_a2(_CharT*, _CharT*,
-     ostreambuf_iterator<_CharT, char_traits<_CharT> >);
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-      ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
-    __copy_move_a2(const _CharT*, const _CharT*,
-     ostreambuf_iterator<_CharT, char_traits<_CharT> >);
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        _CharT*>::__type
-    __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
-     istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<
-      __is_char<_CharT>::__value,
-      std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
-    __copy_move_a2(
- istreambuf_iterator<_CharT, char_traits<_CharT> >,
- istreambuf_iterator<_CharT, char_traits<_CharT> >,
- std::_Deque_iterator<_CharT, _CharT&, _CharT*>);
-# 395 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<bool _IsMove, typename _OutIter, typename _InIter>
-    __attribute__((__always_inline__))
-    inline void
-    __assign_one(_OutIter& __out, _InIter& __in)
-    {
-
-      if constexpr (_IsMove)
- *__out = std::move(*__in);
-      else
-
- *__out = *__in;
-    }
-
-  template<bool _IsMove, typename _InIter, typename _Sent, typename _OutIter>
-
-    inline _OutIter
-    __copy_move_a2(_InIter __first, _Sent __last, _OutIter __result)
-    {
-      typedef __decltype(*__first) _InRef;
-      typedef __decltype(*__result) _OutRef;
-      if constexpr (!__is_trivially_assignable(_OutRef, _InRef))
- { }
-      else if (std::__is_constant_evaluated())
- { }
-      else if constexpr (__memcpyable<_OutIter, _InIter>::__value)
- {
-   ptrdiff_t __n = std::distance(__first, __last);
-   if (__builtin_expect(__n > 1, true))
-     {
-       __builtin_memmove(__result,
-    __first,
-    __n * sizeof(*__first));
-       __result += __n;
-     }
-   else if (__n == 1)
-     {
-       std::__assign_one<_IsMove>(__result, __first);
-       ++__result;
-     }
-   return __result;
- }
-# 461 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-      for (; __first != __last; ++__result, (void)++__first)
- std::__assign_one<_IsMove>(__result, __first);
-      return __result;
-    }
-#pragma GCC diagnostic pop
-
-  template<bool _IsMove,
-    typename _Tp, typename _Ref, typename _Ptr, typename _OI>
-    _OI
-    __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
-     std::_Deque_iterator<_Tp, _Ref, _Ptr>,
-     _OI);
-
-  template<bool _IsMove,
-    typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
-    std::_Deque_iterator<_OTp, _OTp&, _OTp*>
-    __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>,
-     std::_Deque_iterator<_ITp, _IRef, _IPtr>,
-     std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
-
-  template<bool _IsMove, typename _II, typename _Tp>
-    typename __gnu_cxx::__enable_if<
-      __is_random_access_iter<_II>::__value,
-      std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
-    __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
-
-  template<bool _IsMove, typename _II, typename _OI>
-    __attribute__((__always_inline__))
-
-    inline _OI
-    __copy_move_a1(_II __first, _II __last, _OI __result)
-    { return std::__copy_move_a2<_IsMove>(__first, __last, __result); }
-
-  template<bool _IsMove, typename _II, typename _OI>
-    __attribute__((__always_inline__))
-
-    inline _OI
-    __copy_move_a(_II __first, _II __last, _OI __result)
-    {
-      return std::__niter_wrap(__result,
-  std::__copy_move_a1<_IsMove>(std::__niter_base(__first),
-          std::__niter_base(__last),
-          std::__niter_base(__result)));
-    }
-
-  template<bool _IsMove,
-    typename _Ite, typename _Seq, typename _Cat, typename _OI>
-
-    _OI
-    __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
-    const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
-    _OI);
-
-  template<bool _IsMove,
-    typename _II, typename _Ite, typename _Seq, typename _Cat>
-
-    __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
-    __copy_move_a(_II, _II,
-    const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
-
-  template<bool _IsMove,
-    typename _IIte, typename _ISeq, typename _ICat,
-    typename _OIte, typename _OSeq, typename _OCat>
-
-    ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
-    __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
-    const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
-    const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<typename _InputIterator, typename _Size, typename _OutputIterator>
-
-    _OutputIterator
-    __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result,
-        bool)
-    {
-      typedef __decltype(*__first) _InRef;
-      typedef __decltype(*__result) _OutRef;
-      if constexpr (!__is_trivially_assignable(_OutRef, _InRef))
- { }
-
-
-
-
-      else if constexpr (__memcpyable<_OutputIterator,
-            _InputIterator>::__value)
- {
-   if (__builtin_expect(__n > 1, true))
-     {
-       __builtin_memmove(__result,
-    __first,
-    __n * sizeof(*__first));
-       __result += __n;
-     }
-   else if (__n == 1)
-     *__result++ = *__first;
-   return __result;
- }
-# 581 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-      if (__n > 0)
- {
-   while (true)
-     {
-       *__result = *__first;
-       ++__result;
-       if (--__n > 0)
-  ++__first;
-       else
-  break;
-     }
- }
-      return __result;
-    }
-#pragma GCC diagnostic pop
-
-
-  template<typename _CharT, typename _Size>
-    typename __gnu_cxx::__enable_if<
-      __is_char<_CharT>::__value, _CharT*>::__type
-    __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >,
-        _Size, _CharT*, bool);
-
-  template<typename _CharT, typename _Size>
-    typename __gnu_cxx::__enable_if<
-      __is_char<_CharT>::__value,
-      std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type
-    __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size,
-        std::_Deque_iterator<_CharT, _CharT&, _CharT*>,
-        bool);
-# 630 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _II, typename _OI>
-
-    inline _OI
-    copy(_II __first, _II __last, _OI __result)
-    {
-
-
-
-
-                                                                       ;
-
-      return std::__copy_move_a<__is_move_iterator<_II>::__value>
-      (std::__miter_base(__first), std::__miter_base(__last), __result);
-    }
-# 663 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _II, typename _OI>
-
-    inline _OI
-    move(_II __first, _II __last, _OI __result)
-    {
-
-
-
-
-                                                                       ;
-
-      return std::__copy_move_a<true>(std::__miter_base(__first),
-          std::__miter_base(__last), __result);
-    }
-
-
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<bool _IsMove, typename _BI1, typename _BI2>
-
-    inline _BI2
-    __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
-    {
-      typedef __decltype(*__first) _InRef;
-      typedef __decltype(*__result) _OutRef;
-      if constexpr (!__is_trivially_assignable(_OutRef, _InRef))
-       { }
-
-
-
-
-      else if constexpr (__memcpyable<_BI2, _BI1>::__value)
- {
-   ptrdiff_t __n = std::distance(__first, __last);
-   std::advance(__result, -__n);
-   if (__builtin_expect(__n > 1, true))
-     {
-       __builtin_memmove(__result,
-    __first,
-    __n * sizeof(*__first));
-     }
-   else if (__n == 1)
-     std::__assign_one<_IsMove>(__result, __first);
-   return __result;
- }
-# 735 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-      while (__first != __last)
- {
-   --__last;
-   --__result;
-   std::__assign_one<_IsMove>(__result, __last);
- }
-      return __result;
-    }
-#pragma GCC diagnostic pop
-
-
-
-
-  template<bool _IsMove, typename _BI1, typename _BI2>
-    __attribute__((__always_inline__))
-
-    inline _BI2
-    __copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result)
-    { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); }
-
-  template<bool _IsMove,
-    typename _Tp, typename _Ref, typename _Ptr, typename _OI>
-    _OI
-    __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
-       std::_Deque_iterator<_Tp, _Ref, _Ptr>,
-       _OI);
-
-  template<bool _IsMove,
-    typename _ITp, typename _IRef, typename _IPtr, typename _OTp>
-    std::_Deque_iterator<_OTp, _OTp&, _OTp*>
-    __copy_move_backward_a1(
-   std::_Deque_iterator<_ITp, _IRef, _IPtr>,
-   std::_Deque_iterator<_ITp, _IRef, _IPtr>,
-   std::_Deque_iterator<_OTp, _OTp&, _OTp*>);
-
-  template<bool _IsMove, typename _II, typename _Tp>
-    typename __gnu_cxx::__enable_if<
-      __is_random_access_iter<_II>::__value,
-      std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type
-    __copy_move_backward_a1(_II, _II,
-       std::_Deque_iterator<_Tp, _Tp&, _Tp*>);
-
-  template<bool _IsMove, typename _II, typename _OI>
-    __attribute__((__always_inline__))
-
-    inline _OI
-    __copy_move_backward_a(_II __first, _II __last, _OI __result)
-    {
-      return std::__niter_wrap(__result,
-  std::__copy_move_backward_a1<_IsMove>
-    (std::__niter_base(__first), std::__niter_base(__last),
-     std::__niter_base(__result)));
-    }
-
-  template<bool _IsMove,
-    typename _Ite, typename _Seq, typename _Cat, typename _OI>
-
-    _OI
-    __copy_move_backward_a(
-  const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
-  const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
-  _OI);
-
-  template<bool _IsMove,
-    typename _II, typename _Ite, typename _Seq, typename _Cat>
-
-    __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
-    __copy_move_backward_a(_II, _II,
-  const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&);
-
-  template<bool _IsMove,
-    typename _IIte, typename _ISeq, typename _ICat,
-    typename _OIte, typename _OSeq, typename _OCat>
-
-    ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>
-    __copy_move_backward_a(
-  const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
-  const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&,
-  const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&);
-# 833 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _BI1, typename _BI2>
-    __attribute__((__always_inline__))
-
-    inline _BI2
-    copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
-    {
-
-
-
-
-
-                                                                       ;
-
-      return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value>
-      (std::__miter_base(__first), std::__miter_base(__last), __result);
-    }
-# 869 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _BI1, typename _BI2>
-    __attribute__((__always_inline__))
-
-    inline _BI2
-    move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
-    {
-
-
-
-
-
-                                                                       ;
-
-      return std::__copy_move_backward_a<true>(std::__miter_base(__first),
-            std::__miter_base(__last),
-            __result);
-    }
-
-
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<typename _ForwardIterator, typename _Tp>
-
-    inline void
-    __fill_a1(_ForwardIterator __first, _ForwardIterator __last,
-       const _Tp& __value)
-    {
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-
-
-
-
-      const bool __load_outside_loop =
-
-
-     __is_trivially_constructible(_Tp, const _Tp&)
-     && __is_trivially_assignable(__decltype(*__first), const _Tp&)
-
-
-
-
-     && sizeof(_Tp) <= sizeof(long long);
-#pragma GCC diagnostic pop
-
-
-
-      typedef typename __gnu_cxx::__conditional_type<__load_outside_loop,
-           const _Tp,
-           const _Tp&>::__type _Up;
-      _Up __val(__value);
-      for (; __first != __last; ++__first)
- *__first = __val;
-    }
-#pragma GCC diagnostic pop
-
-
-  template<typename _Up, typename _Tp>
-
-    inline typename
-    __gnu_cxx::__enable_if<__is_byte<_Up>::__value
-        && (__are_same<_Up, _Tp>::__value
-       || __memcpyable_integer<_Tp>::__width),
-      void>::__type
-    __fill_a1(_Up* __first, _Up* __last, const _Tp& __x)
-    {
-
-
-      const _Up __val = __x;
-# 950 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-      if (const size_t __len = __last - __first)
- __builtin_memset(__first, static_cast<unsigned char>(__val), __len);
-    }
-
-  template<typename _Ite, typename _Cont, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline void
-    __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first,
-       ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last,
-       const _Tp& __value)
-    { std::__fill_a1(__first.base(), __last.base(), __value); }
-
-  template<typename _Tp, typename _VTp>
-    void
-    __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
-       const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&,
-       const _VTp&);
-
-
-  void
-  __fill_a1(std::_Bit_iterator, std::_Bit_iterator,
-     const bool&);
-
-  template<typename _FIte, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline void
-    __fill_a(_FIte __first, _FIte __last, const _Tp& __value)
-    { std::__fill_a1(__first, __last, __value); }
-
-  template<typename _Ite, typename _Seq, typename _Cat, typename _Tp>
-
-    void
-    __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
-      const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&,
-      const _Tp&);
-# 1000 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _ForwardIterator, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline void
-    fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
-    {
-
-
-
-                                                     ;
-
-      std::__fill_a(__first, __last, __value);
-    }
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-
-  inline constexpr int
-  __size_to_integer(int __n) { return __n; }
-  inline constexpr unsigned
-  __size_to_integer(unsigned __n) { return __n; }
-  inline constexpr long
-  __size_to_integer(long __n) { return __n; }
-  inline constexpr unsigned long
-  __size_to_integer(unsigned long __n) { return __n; }
-  inline constexpr long long
-  __size_to_integer(long long __n) { return __n; }
-  inline constexpr unsigned long long
-  __size_to_integer(unsigned long long __n) { return __n; }
-
-
-  __extension__ inline constexpr __int128
-  __size_to_integer(__int128 __n) { return __n; }
-  __extension__ inline constexpr unsigned __int128
-  __size_to_integer(unsigned __int128 __n) { return __n; }
-# 1055 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  inline constexpr long long
-  __size_to_integer(float __n) { return (long long)__n; }
-  inline constexpr long long
-  __size_to_integer(double __n) { return (long long)__n; }
-  inline constexpr long long
-  __size_to_integer(long double __n) { return (long long)__n; }
-
-  __extension__ inline constexpr long long
-  __size_to_integer(__float128 __n) { return (long long)__n; }
-
-#pragma GCC diagnostic pop
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-#pragma GCC diagnostic ignored "-Wlong-long"
-  template<typename _OutputIterator, typename _Size, typename _Tp>
-
-    inline _OutputIterator
-    __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value)
-    {
-
-      const bool __load_outside_loop =
-
-
-     __is_trivially_constructible(_Tp, const _Tp&)
-     && __is_trivially_assignable(__decltype(*__first), const _Tp&)
-
-
-
-
-     && sizeof(_Tp) <= sizeof(long long);
-
-
-
-      typedef typename __gnu_cxx::__conditional_type<__load_outside_loop,
-           const _Tp,
-           const _Tp&>::__type _Up;
-      _Up __val(__value);
-      for (; __n > 0; --__n, (void) ++__first)
- *__first = __val;
-      return __first;
-    }
-#pragma GCC diagnostic pop
-
-  template<typename _Ite, typename _Seq, typename _Cat, typename _Size,
-    typename _Tp>
-
-    ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>
-    __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first,
-        _Size __n, const _Tp& __value,
-        std::input_iterator_tag);
-
-  template<typename _OutputIterator, typename _Size, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline _OutputIterator
-    __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
-        std::output_iterator_tag)
-    {
-
-      static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
-
-      return __fill_n_a1(__first, __n, __value);
-    }
-
-  template<typename _OutputIterator, typename _Size, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline _OutputIterator
-    __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
-        std::input_iterator_tag)
-    {
-
-      static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
-
-      return __fill_n_a1(__first, __n, __value);
-    }
-
-  template<typename _OutputIterator, typename _Size, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline _OutputIterator
-    __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value,
-        std::random_access_iterator_tag)
-    {
-
-      static_assert(is_integral<_Size>{}, "fill_n must pass integral size");
-
-      if (__n <= 0)
- return __first;
-
-                                                    ;
-
-      std::__fill_a(__first, __first + __n, __value);
-      return __first + __n;
-    }
-# 1169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _OI, typename _Size, typename _Tp>
-    __attribute__((__always_inline__))
-
-    inline _OI
-    fill_n(_OI __first, _Size __n, const _Tp& __value)
-    {
-
-
-
-      return std::__fill_n_a(__first, std::__size_to_integer(__n), __value,
-          std::__iterator_category(__first));
-    }
-
-  template<bool _BoolType>
-    struct __equal
-    {
-      template<typename _II1, typename _II2>
-
- static bool
- equal(_II1 __first1, _II1 __last1, _II2 __first2)
- {
-   for (; __first1 != __last1; ++__first1, (void) ++__first2)
-     if (!(*__first1 == *__first2))
-       return false;
-   return true;
- }
-    };
-
-  template<>
-    struct __equal<true>
-    {
-      template<typename _Tp>
-
- static bool
- equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
- {
-   if (const size_t __len = (__last1 - __first1))
-     return !std::__memcmp(__first1, __first2, __len);
-   return true;
- }
-    };
-
-  template<typename _Tp, typename _Ref, typename _Ptr, typename _II>
-    typename __gnu_cxx::__enable_if<
-      __is_random_access_iter<_II>::__value, bool>::__type
-    __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>,
-   std::_Deque_iterator<_Tp, _Ref, _Ptr>,
-   _II);
-
-  template<typename _Tp1, typename _Ref1, typename _Ptr1,
-    typename _Tp2, typename _Ref2, typename _Ptr2>
-    bool
-    __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
-   std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
-   std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
-
-  template<typename _II, typename _Tp, typename _Ref, typename _Ptr>
-    typename __gnu_cxx::__enable_if<
-      __is_random_access_iter<_II>::__value, bool>::__type
-    __equal_aux1(_II, _II,
-  std::_Deque_iterator<_Tp, _Ref, _Ptr>);
-
-  template<typename _II1, typename _II2>
-
-    inline bool
-    __equal_aux1(_II1 __first1, _II1 __last1, _II2 __first2)
-    {
-      typedef typename iterator_traits<_II1>::value_type _ValueType1;
-      const bool __simple = ((__is_integer<_ValueType1>::__value
-
-    || __is_pointer(_ValueType1)
-
-
-
-    || is_same_v<_ValueType1, byte>
-
-        ) && __memcmpable<_II1, _II2>::__value);
-      return std::__equal<__simple>::equal(__first1, __last1, __first2);
-    }
-
-  template<typename _II1, typename _II2>
-    __attribute__((__always_inline__))
-
-    inline bool
-    __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
-    {
-      return std::__equal_aux1(std::__niter_base(__first1),
-          std::__niter_base(__last1),
-          std::__niter_base(__first2));
-    }
-
-  template<typename _II1, typename _Seq1, typename _Cat1, typename _II2>
-
-    bool
-    __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
-  const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
-  _II2);
-
-  template<typename _II1, typename _II2, typename _Seq2, typename _Cat2>
-
-    bool
-    __equal_aux(_II1, _II1,
-  const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
-
-  template<typename _II1, typename _Seq1, typename _Cat1,
-    typename _II2, typename _Seq2, typename _Cat2>
-
-    bool
-    __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
-  const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&,
-  const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&);
-
-  template<typename, typename>
-    struct __lc_rai
-    {
-      template<typename _II1, typename _II2>
-
- static _II1
- __newlast1(_II1, _II1 __last1, _II2, _II2)
- { return __last1; }
-
-      template<typename _II>
-
- static bool
- __cnd2(_II __first, _II __last)
- { return __first != __last; }
-    };
-
-  template<>
-    struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
-    {
-      template<typename _RAI1, typename _RAI2>
-
- static _RAI1
- __newlast1(_RAI1 __first1, _RAI1 __last1,
-     _RAI2 __first2, _RAI2 __last2)
- {
-   const typename iterator_traits<_RAI1>::difference_type
-     __diff1 = __last1 - __first1;
-   const typename iterator_traits<_RAI2>::difference_type
-     __diff2 = __last2 - __first2;
-   return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
- }
-
-      template<typename _RAI>
- static bool
- __cnd2(_RAI, _RAI)
- { return true; }
-    };
-
-  template<typename _II1, typename _II2, typename _Compare>
-
-    bool
-    __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
-       _II2 __first2, _II2 __last2,
-       _Compare __comp)
-    {
-      typedef typename iterator_traits<_II1>::iterator_category _Category1;
-      typedef typename iterator_traits<_II2>::iterator_category _Category2;
-      typedef std::__lc_rai<_Category1, _Category2> __rai_type;
-
-      __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
-      for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
-    ++__first1, (void)++__first2)
- {
-   if (__comp(__first1, __first2))
-     return true;
-   if (__comp(__first2, __first1))
-     return false;
- }
-      return __first1 == __last1 && __first2 != __last2;
-    }
-
-  template<bool _BoolType>
-    struct __lexicographical_compare
-    {
-      template<typename _II1, typename _II2>
-
- static bool
- __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
- {
-   using __gnu_cxx::__ops::__iter_less_iter;
-   return std::__lexicographical_compare_impl(__first1, __last1,
-           __first2, __last2,
-           __iter_less_iter());
- }
-
-      template<typename _II1, typename _II2>
-
- static int
- __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
- {
-   while (__first1 != __last1)
-     {
-       if (__first2 == __last2)
-  return +1;
-       if (*__first1 < *__first2)
-  return -1;
-       if (*__first2 < *__first1)
-  return +1;
-       ++__first1;
-       ++__first2;
-     }
-   return int(__first2 == __last2) - 1;
- }
-    };
-
-  template<>
-    struct __lexicographical_compare<true>
-    {
-      template<typename _Tp, typename _Up>
-
- static bool
- __lc(const _Tp* __first1, const _Tp* __last1,
-      const _Up* __first2, const _Up* __last2)
- { return __3way(__first1, __last1, __first2, __last2) < 0; }
-
-      template<typename _Tp, typename _Up>
-
- static ptrdiff_t
- __3way(const _Tp* __first1, const _Tp* __last1,
-        const _Up* __first2, const _Up* __last2)
- {
-   const size_t __len1 = __last1 - __first1;
-   const size_t __len2 = __last2 - __first2;
-   if (const size_t __len = std::min(__len1, __len2))
-     if (int __result = std::__memcmp(__first1, __first2, __len))
-       return __result;
-   return ptrdiff_t(__len1 - __len2);
- }
-    };
-
-  template<typename _II1, typename _II2>
-
-    inline bool
-    __lexicographical_compare_aux1(_II1 __first1, _II1 __last1,
-       _II2 __first2, _II2 __last2)
-    {
-      typedef typename iterator_traits<_II1>::value_type _ValueType1;
-      typedef typename iterator_traits<_II2>::value_type _ValueType2;
-
-      const bool __simple =
- (__is_memcmp_ordered_with<_ValueType1, _ValueType2>::__value
-  && __is_pointer(_II1) && __is_pointer(_II2)
-
-
-
-
-
-
-
-  );
-
-
-
-
-      return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
-           __first2, __last2);
-    }
-
-  template<typename _Tp1, typename _Ref1, typename _Ptr1,
-    typename _Tp2>
-    bool
-    __lexicographical_compare_aux1(
- std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
- std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
- _Tp2*, _Tp2*);
-
-  template<typename _Tp1,
-    typename _Tp2, typename _Ref2, typename _Ptr2>
-    bool
-    __lexicographical_compare_aux1(_Tp1*, _Tp1*,
- std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
- std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
-
-  template<typename _Tp1, typename _Ref1, typename _Ptr1,
-    typename _Tp2, typename _Ref2, typename _Ptr2>
-    bool
-    __lexicographical_compare_aux1(
- std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
- std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>,
- std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>,
- std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>);
-
-  template<typename _II1, typename _II2>
-
-    inline bool
-    __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
-      _II2 __first2, _II2 __last2)
-    {
-      return std::__lexicographical_compare_aux1(std::__niter_base(__first1),
-       std::__niter_base(__last1),
-       std::__niter_base(__first2),
-       std::__niter_base(__last2));
-    }
-
-  template<typename _Iter1, typename _Seq1, typename _Cat1,
-    typename _II2>
-
-    bool
-    __lexicographical_compare_aux(
-  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
-  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
-  _II2, _II2);
-
-  template<typename _II1,
-    typename _Iter2, typename _Seq2, typename _Cat2>
-
-    bool
-    __lexicographical_compare_aux(
-  _II1, _II1,
-  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
-  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
-
-  template<typename _Iter1, typename _Seq1, typename _Cat1,
-    typename _Iter2, typename _Seq2, typename _Cat2>
-
-    bool
-    __lexicographical_compare_aux(
-  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
-  const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&,
-  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&,
-  const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&);
-
-  template<typename _ForwardIterator, typename _Tp, typename _Compare>
-
-    _ForwardIterator
-    __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
-    const _Tp& __val, _Compare __comp)
-    {
-      typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
-      _DistanceType __len = std::distance(__first, __last);
-
-      while (__len > 0)
- {
-   _DistanceType __half = __len >> 1;
-   _ForwardIterator __middle = __first;
-   std::advance(__middle, __half);
-   if (__comp(__middle, __val))
-     {
-       __first = __middle;
-       ++__first;
-       __len = __len - __half - 1;
-     }
-   else
-     __len = __half;
- }
-      return __first;
-    }
-# 1532 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _ForwardIterator, typename _Tp>
-    [[__nodiscard__]]
-    inline _ForwardIterator
-    lower_bound(_ForwardIterator __first, _ForwardIterator __last,
-  const _Tp& __val)
-    {
-
-
-
-
-                                                                  ;
-
-      return std::__lower_bound(__first, __last, __val,
-    __gnu_cxx::__ops::__iter_less_val());
-    }
-
-
-
-  template<typename _Tp>
-    inline constexpr _Tp
-    __lg(_Tp __n)
-    {
-
-      return std::__bit_width(make_unsigned_t<_Tp>(__n)) - 1;
-# 1568 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-    }
-# 1584 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _II1, typename _II2>
-    [[__nodiscard__]]
-    inline bool
-    equal(_II1 __first1, _II1 __last1, _II2 __first2)
-    {
-
-
-
-
-
-
-                                                                         ;
-
-      return std::__equal_aux(__first1, __last1, __first2);
-    }
-# 1615 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
-    [[__nodiscard__]]
-    inline bool
-    equal(_IIter1 __first1, _IIter1 __last1,
-   _IIter2 __first2, _BinaryPredicate __binary_pred)
-    {
-
-
-
-                                                       ;
-
-      for (; __first1 != __last1; ++__first1, (void)++__first2)
- if (!bool(__binary_pred(*__first1, *__first2)))
-   return false;
-      return true;
-    }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-
-
-  template<typename _II1, typename _II2>
-
-    inline bool
-    __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
-    {
-      using _RATag = random_access_iterator_tag;
-      using _Cat1 = typename iterator_traits<_II1>::iterator_category;
-      using _Cat2 = typename iterator_traits<_II2>::iterator_category;
-      using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
-      if constexpr (_RAIters::value)
- {
-   if ((__last1 - __first1) != (__last2 - __first2))
-     return false;
-   return std::equal(__first1, __last1, __first2);
- }
-      else
- {
-   for (; __first1 != __last1 && __first2 != __last2;
-        ++__first1, (void)++__first2)
-     if (!(*__first1 == *__first2))
-       return false;
-   return __first1 == __last1 && __first2 == __last2;
- }
-    }
-
-
-  template<typename _II1, typename _II2, typename _BinaryPredicate>
-
-    inline bool
-    __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
-      _BinaryPredicate __binary_pred)
-    {
-      using _RATag = random_access_iterator_tag;
-      using _Cat1 = typename iterator_traits<_II1>::iterator_category;
-      using _Cat2 = typename iterator_traits<_II2>::iterator_category;
-      using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
-      if constexpr (_RAIters::value)
- {
-   if ((__last1 - __first1) != (__last2 - __first2))
-     return false;
-   return std::equal(__first1, __last1, __first2,
-           __binary_pred);
- }
-      else
- {
-   for (; __first1 != __last1 && __first2 != __last2;
-        ++__first1, (void)++__first2)
-     if (!bool(__binary_pred(*__first1, *__first2)))
-       return false;
-   return __first1 == __last1 && __first2 == __last2;
- }
-    }
-#pragma GCC diagnostic pop
-# 1706 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _II1, typename _II2>
-    [[__nodiscard__]]
-    inline bool
-    equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
-    {
-
-
-
-
-
-
-                                                       ;
-                                                       ;
-
-      return std::__equal4(__first1, __last1, __first2, __last2);
-    }
-# 1739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
-    [[__nodiscard__]]
-    inline bool
-    equal(_IIter1 __first1, _IIter1 __last1,
-   _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred)
-    {
-
-
-
-                                                       ;
-                                                       ;
-
-      return std::__equal4(__first1, __last1, __first2, __last2,
-          __binary_pred);
-    }
-# 1771 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _II1, typename _II2>
-    [[__nodiscard__]]
-    inline bool
-    lexicographical_compare(_II1 __first1, _II1 __last1,
-       _II2 __first2, _II2 __last2)
-    {
-# 1786 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-                                                       ;
-                                                       ;
-
-      return std::__lexicographical_compare_aux(__first1, __last1,
-      __first2, __last2);
-    }
-# 1806 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _II1, typename _II2, typename _Compare>
-    [[__nodiscard__]]
-    inline bool
-    lexicographical_compare(_II1 __first1, _II1 __last1,
-       _II2 __first2, _II2 __last2, _Compare __comp)
-    {
-
-
-
-                                                       ;
-                                                       ;
-
-      return std::__lexicographical_compare_impl
- (__first1, __last1, __first2, __last2,
-  __gnu_cxx::__ops::__iter_comp_iter(__comp));
-    }
-# 1921 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _InputIterator1, typename _InputIterator2,
-    typename _BinaryPredicate>
-
-    pair<_InputIterator1, _InputIterator2>
-    __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-        _InputIterator2 __first2, _BinaryPredicate __binary_pred)
-    {
-      while (__first1 != __last1 && __binary_pred(__first1, __first2))
- {
-   ++__first1;
-   ++__first2;
- }
-      return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
-    }
-# 1949 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _InputIterator1, typename _InputIterator2>
-    [[__nodiscard__]]
-    inline pair<_InputIterator1, _InputIterator2>
-    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2)
-    {
-
-
-
-
-
-
-                                                       ;
-
-      return std::__mismatch(__first1, __last1, __first2,
-        __gnu_cxx::__ops::__iter_equal_to_iter());
-    }
-# 1983 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _InputIterator1, typename _InputIterator2,
-    typename _BinaryPredicate>
-    [[__nodiscard__]]
-    inline pair<_InputIterator1, _InputIterator2>
-    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _BinaryPredicate __binary_pred)
-    {
-
-
-
-                                                       ;
-
-      return std::__mismatch(__first1, __last1, __first2,
- __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
-    }
-
-
-  template<typename _InputIterator1, typename _InputIterator2,
-    typename _BinaryPredicate>
-
-    pair<_InputIterator1, _InputIterator2>
-    __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-        _InputIterator2 __first2, _InputIterator2 __last2,
-        _BinaryPredicate __binary_pred)
-    {
-      while (__first1 != __last1 && __first2 != __last2
-      && __binary_pred(__first1, __first2))
- {
-   ++__first1;
-   ++__first2;
- }
-      return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
-    }
-# 2031 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _InputIterator1, typename _InputIterator2>
-    [[__nodiscard__]]
-    inline pair<_InputIterator1, _InputIterator2>
-    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _InputIterator2 __last2)
-    {
-
-
-
-
-
-
-                                                       ;
-                                                       ;
-
-      return std::__mismatch(__first1, __last1, __first2, __last2,
-        __gnu_cxx::__ops::__iter_equal_to_iter());
-    }
-# 2067 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _InputIterator1, typename _InputIterator2,
-    typename _BinaryPredicate>
-    [[__nodiscard__]]
-    inline pair<_InputIterator1, _InputIterator2>
-    mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
-      _InputIterator2 __first2, _InputIterator2 __last2,
-      _BinaryPredicate __binary_pred)
-    {
-
-
-
-                                                       ;
-                                                       ;
-
-      return std::__mismatch(__first1, __last1, __first2, __last2,
-        __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
-    }
-
-
-
-
-
-  template<typename _Iterator, typename _Predicate>
-
-    inline _Iterator
-    __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
-    {
-#pragma GCC unroll 4
-      while (__first != __last && !__pred(__first))
- ++__first;
-      return __first;
-    }
-
-  template<typename _InputIterator, typename _Predicate>
-
-    typename iterator_traits<_InputIterator>::difference_type
-    __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
-    {
-      typename iterator_traits<_InputIterator>::difference_type __n = 0;
-      for (; __first != __last; ++__first)
- if (__pred(__first))
-   ++__n;
-      return __n;
-    }
-
-  template<typename _ForwardIterator, typename _Predicate>
-
-    _ForwardIterator
-    __remove_if(_ForwardIterator __first, _ForwardIterator __last,
-  _Predicate __pred)
-    {
-      __first = std::__find_if(__first, __last, __pred);
-      if (__first == __last)
- return __first;
-      _ForwardIterator __result = __first;
-      ++__first;
-      for (; __first != __last; ++__first)
- if (!__pred(__first))
-   {
-     *__result = std::move(*__first);
-     ++__result;
-   }
-      return __result;
-    }
-
-  template<typename _ForwardIterator1, typename _ForwardIterator2,
-    typename _BinaryPredicate>
-
-    _ForwardIterator1
-    __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-      _ForwardIterator2 __first2, _ForwardIterator2 __last2,
-      _BinaryPredicate __predicate)
-    {
-
-      if (__first1 == __last1 || __first2 == __last2)
- return __first1;
-
-
-      _ForwardIterator2 __p1(__first2);
-      if (++__p1 == __last2)
- return std::__find_if(__first1, __last1,
-  __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
-
-
-      _ForwardIterator1 __current = __first1;
-
-      for (;;)
- {
-   __first1 =
-     std::__find_if(__first1, __last1,
-  __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
-
-   if (__first1 == __last1)
-     return __last1;
-
-   _ForwardIterator2 __p = __p1;
-   __current = __first1;
-   if (++__current == __last1)
-     return __last1;
-
-   while (__predicate(__current, __p))
-     {
-       if (++__p == __last2)
-  return __first1;
-       if (++__current == __last1)
-  return __last1;
-     }
-   ++__first1;
- }
-      return __first1;
-    }
-
-
-  template<typename _ForwardIterator1, typename _ForwardIterator2,
-    typename _BinaryPredicate>
-
-    bool
-    __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-       _ForwardIterator2 __first2, _BinaryPredicate __pred)
-    {
-
-
-      for (; __first1 != __last1; ++__first1, (void)++__first2)
- if (!__pred(__first1, __first2))
-   break;
-
-      if (__first1 == __last1)
- return true;
-
-
-
-      _ForwardIterator2 __last2 = __first2;
-      std::advance(__last2, std::distance(__first1, __last1));
-      for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
- {
-   if (__scan != std::__find_if(__first1, __scan,
-     __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
-     continue;
-
-   auto __matches
-     = std::__count_if(__first2, __last2,
-   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
-   if (0 == __matches ||
-       std::__count_if(__scan, __last1,
-   __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
-       != __matches)
-     return false;
- }
-      return true;
-    }
-# 2230 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _ForwardIterator1, typename _ForwardIterator2>
-
-    inline bool
-    is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-     _ForwardIterator2 __first2)
-    {
-
-
-
-
-
-
-                                                       ;
-
-      return std::__is_permutation(__first1, __last1, __first2,
-       __gnu_cxx::__ops::__iter_equal_to_iter());
-    }
-# 2272 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_algobase.h" 3
-  template<typename _ForwardIterator1, typename _ForwardIterator2,
-    typename _BinaryPredicate>
-
-    inline _ForwardIterator1
-    search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
-    _ForwardIterator2 __first2, _ForwardIterator2 __last2,
-    _BinaryPredicate __predicate)
-    {
-
-
-
-
-
-
-                                                       ;
-                                                       ;
-
-      return std::__search(__first1, __last1, __first2, __last2,
-      __gnu_cxx::__ops::__iter_comp_iter(__predicate));
-    }
-
-
-
-}
-# 54 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 1 3
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 3
-  template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
-    constexpr _Up&&
-    __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
-    { return static_cast<_Up&&>(__t); }
-
-  template<typename _Res, typename _Fn, typename... _Args>
-    constexpr _Res
-    __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
-    { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
-
-  template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
-    constexpr _Res
-    __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
-    _Args&&... __args)
-    { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
-
-  template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
-    constexpr _Res
-    __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
-    _Args&&... __args)
-    {
-      return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
-    }
-
-  template<typename _Res, typename _MemPtr, typename _Tp>
-    constexpr _Res
-    __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
-    { return __invfwd<_Tp>(__t).*__f; }
-
-  template<typename _Res, typename _MemPtr, typename _Tp>
-    constexpr _Res
-    __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
-    { return (*std::forward<_Tp>(__t)).*__f; }
-
-
-  template<typename _Callable, typename... _Args>
-    constexpr typename __invoke_result<_Callable, _Args...>::type
-    __invoke(_Callable&& __fn, _Args&&... __args)
-    noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
-    {
-      using __result = __invoke_result<_Callable, _Args...>;
-      using __type = typename __result::type;
-      using __tag = typename __result::__invoke_type;
-      return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
-     std::forward<_Args>(__args)...);
-    }
-
-
-
-  template<typename _Res, typename _Callable, typename... _Args>
-    constexpr enable_if_t<is_invocable_r_v<_Res, _Callable, _Args...>, _Res>
-    __invoke_r(_Callable&& __fn, _Args&&... __args)
-    noexcept(is_nothrow_invocable_r_v<_Res, _Callable, _Args...>)
-    {
-      using __result = __invoke_result<_Callable, _Args...>;
-      using __type = typename __result::type;
-      using __tag = typename __result::__invoke_type;
-      if constexpr (is_void_v<_Res>)
- std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
-     std::forward<_Args>(__args)...);
-      else
- return std::__invoke_impl<__type>(__tag{},
-       std::forward<_Callable>(__fn),
-       std::forward<_Args>(__args)...);
-    }
-# 158 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/invoke.h" 3
-}
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 2 3
-
-
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 58 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
-  template<typename _Res, typename... _ArgTypes>
-    struct _Maybe_unary_or_binary_function { };
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-  template<typename _Res, typename _T1>
-    struct _Maybe_unary_or_binary_function<_Res, _T1>
-    : std::unary_function<_T1, _Res> { };
-
-
-  template<typename _Res, typename _T1, typename _T2>
-    struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
-    : std::binary_function<_T1, _T2, _Res> { };
-
-#pragma GCC diagnostic pop
-
-  template<typename _Signature>
-    struct _Mem_fn_traits;
-
-  template<typename _Res, typename _Class, typename... _ArgTypes>
-    struct _Mem_fn_traits_base
-    {
-      using __result_type = _Res;
-      using __maybe_type
- = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
-      using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
-    };
-# 109 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
-template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
-template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
-template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
-
-
-template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
-template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) & noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const & noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile & noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile & noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
-template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) && noexcept> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const && noexcept> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) volatile && noexcept> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) const volatile && noexcept> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
-
-
-
-
-
-
-  template<typename _Functor, typename = __void_t<>>
-    struct _Maybe_get_result_type
-    { };
-
-  template<typename _Functor>
-    struct _Maybe_get_result_type<_Functor,
-      __void_t<typename _Functor::result_type>>
-    { typedef typename _Functor::result_type result_type; };
-
-
-
-
-
-  template<typename _Functor>
-    struct _Weak_result_type_impl
-    : _Maybe_get_result_type<_Functor>
-    { };
-
-
-  template<typename _Res, typename... _ArgTypes , bool _NE>
-    struct _Weak_result_type_impl<_Res(_ArgTypes...) noexcept (_NE)>
-    { typedef _Res result_type; };
-
-
-  template<typename _Res, typename... _ArgTypes , bool _NE>
-    struct _Weak_result_type_impl<_Res(_ArgTypes...,
-           ...) noexcept (_NE)>
-    { typedef _Res result_type; };
-
-
-  template<typename _Res, typename... _ArgTypes , bool _NE>
-    struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) noexcept (_NE)>
-    { typedef _Res result_type; };
-
-
-  template<typename _Res, typename... _ArgTypes , bool _NE>
-    struct
-    _Weak_result_type_impl<_Res(*)(_ArgTypes..., ...) noexcept (_NE)>
-    { typedef _Res result_type; };
-
-
-  template<typename _Functor,
-    bool = is_member_function_pointer<_Functor>::value>
-    struct _Weak_result_type_memfun
-    : _Weak_result_type_impl<_Functor>
-    { };
-
-
-  template<typename _MemFunPtr>
-    struct _Weak_result_type_memfun<_MemFunPtr, true>
-    {
-      using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
-    };
-
-
-  template<typename _Func, typename _Class>
-    struct _Weak_result_type_memfun<_Func _Class::*, false>
-    { };
-
-
-
-
-
-  template<typename _Functor>
-    struct _Weak_result_type
-    : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
-    { };
-
-
-
-  template<typename _Tp, typename = __void_t<>>
-    struct _Refwrap_base_arg1
-    { };
-
-
-  template<typename _Tp>
-    struct _Refwrap_base_arg1<_Tp,
-         __void_t<typename _Tp::argument_type>>
-    {
-      typedef typename _Tp::argument_type argument_type;
-    };
-
-
-  template<typename _Tp, typename = __void_t<>>
-    struct _Refwrap_base_arg2
-    { };
-
-
-  template<typename _Tp>
-    struct _Refwrap_base_arg2<_Tp,
-         __void_t<typename _Tp::first_argument_type,
-           typename _Tp::second_argument_type>>
-    {
-      typedef typename _Tp::first_argument_type first_argument_type;
-      typedef typename _Tp::second_argument_type second_argument_type;
-    };
-
-
-
-
-
-
-
-  template<typename _Tp>
-    struct _Reference_wrapper_base
-    : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
-    { };
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-  template<typename _Res, typename _T1 , bool _NE>
-    struct _Reference_wrapper_base<_Res(_T1) noexcept (_NE)>
-    : unary_function<_T1, _Res>
-    { };
-
-  template<typename _Res, typename _T1>
-    struct _Reference_wrapper_base<_Res(_T1) const>
-    : unary_function<_T1, _Res>
-    { };
-
-  template<typename _Res, typename _T1>
-    struct _Reference_wrapper_base<_Res(_T1) volatile>
-    : unary_function<_T1, _Res>
-    { };
-
-  template<typename _Res, typename _T1>
-    struct _Reference_wrapper_base<_Res(_T1) const volatile>
-    : unary_function<_T1, _Res>
-    { };
-
-
-  template<typename _Res, typename _T1, typename _T2 , bool _NE>
-    struct _Reference_wrapper_base<_Res(_T1, _T2) noexcept (_NE)>
-    : binary_function<_T1, _T2, _Res>
-    { };
-
-  template<typename _Res, typename _T1, typename _T2>
-    struct _Reference_wrapper_base<_Res(_T1, _T2) const>
-    : binary_function<_T1, _T2, _Res>
-    { };
-
-  template<typename _Res, typename _T1, typename _T2>
-    struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
-    : binary_function<_T1, _T2, _Res>
-    { };
-
-  template<typename _Res, typename _T1, typename _T2>
-    struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
-    : binary_function<_T1, _T2, _Res>
-    { };
-
-
-  template<typename _Res, typename _T1 , bool _NE>
-    struct _Reference_wrapper_base<_Res(*)(_T1) noexcept (_NE)>
-    : unary_function<_T1, _Res>
-    { };
-
-
-  template<typename _Res, typename _T1, typename _T2 , bool _NE>
-    struct _Reference_wrapper_base<_Res(*)(_T1, _T2) noexcept (_NE)>
-    : binary_function<_T1, _T2, _Res>
-    { };
-
-  template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
-    struct _Reference_wrapper_base_memfun
-    : _Reference_wrapper_base<_Tp>
-    { };
-
-  template<typename _MemFunPtr>
-    struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
-    : _Mem_fn_traits<_MemFunPtr>::__maybe_type
-    {
-      using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
-    };
-#pragma GCC diagnostic pop
-
-
-
-
-
-
-
-
-  template<typename _Tp>
-    class reference_wrapper
-
-
-
-    : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
-
-    {
-      _Tp* _M_data;
-
-
-      static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
-
-      static void _S_fun(_Tp&&) = delete;
-
-      template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
- using __not_same
-   = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
-
-    public:
-      typedef _Tp type;
-
-
-
-
-      template<typename _Up, typename = __not_same<_Up>, typename
-  = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
-
- reference_wrapper(_Up&& __uref)
- noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
- : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
- { }
-
-      reference_wrapper(const reference_wrapper&) = default;
-
-      reference_wrapper&
-      operator=(const reference_wrapper&) = default;
-
-
-      operator _Tp&() const noexcept
-      { return this->get(); }
-
-
-      _Tp&
-      get() const noexcept
-      { return *_M_data; }
-
-      template<typename... _Args>
-
- typename __invoke_result<_Tp&, _Args...>::type
- operator()(_Args&&... __args) const
- noexcept(__is_nothrow_invocable<_Tp&, _Args...>::value)
- {
-
-
-
-
-   return std::__invoke(get(), std::forward<_Args>(__args)...);
- }
-# 415 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/refwrap.h" 3
-    };
-
-
-  template<typename _Tp>
-    reference_wrapper(_Tp&) -> reference_wrapper<_Tp>;
-
-
-
-
-
-  template<typename _Tp>
-
-    inline reference_wrapper<_Tp>
-    ref(_Tp& __t) noexcept
-    { return reference_wrapper<_Tp>(__t); }
-
-
-  template<typename _Tp>
-
-    inline reference_wrapper<const _Tp>
-    cref(const _Tp& __t) noexcept
-    { return reference_wrapper<const _Tp>(__t); }
-
-  template<typename _Tp>
-    void ref(const _Tp&&) = delete;
-
-  template<typename _Tp>
-    void cref(const _Tp&&) = delete;
-
-
-  template<typename _Tp>
-
-    inline reference_wrapper<_Tp>
-    ref(reference_wrapper<_Tp> __t) noexcept
-    { return __t; }
-
-
-  template<typename _Tp>
-
-    inline reference_wrapper<const _Tp>
-    cref(reference_wrapper<_Tp> __t) noexcept
-    { return { __t.get() }; }
-
-
-
-
-}
-# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/initializer_list" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/initializer_list" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-  template<class _E>
-    class initializer_list
-    {
-    public:
-      typedef _E value_type;
-      typedef const _E& reference;
-      typedef const _E& const_reference;
-      typedef size_t size_type;
-      typedef const _E* iterator;
-      typedef const _E* const_iterator;
-
-    private:
-      iterator _M_array;
-      size_type _M_len;
-
-
-      constexpr initializer_list(const_iterator __a, size_type __l)
-      : _M_array(__a), _M_len(__l) { }
-
-    public:
-      constexpr initializer_list() noexcept
-      : _M_array(0), _M_len(0) { }
-
-
-      constexpr size_type
-      size() const noexcept { return _M_len; }
-
-
-      constexpr const_iterator
-      begin() const noexcept { return _M_array; }
-
-
-      constexpr const_iterator
-      end() const noexcept { return begin() + size(); }
-    };
-
-
-
-
-
-
-
-  template<class _Tp>
-    constexpr const _Tp*
-    begin(initializer_list<_Tp> __ils) noexcept
-    { return __ils.begin(); }
-
-
-
-
-
-
-
-  template<class _Tp>
-    constexpr const _Tp*
-    end(initializer_list<_Tp> __ils) noexcept
-    { return __ils.end(); }
-}
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 2 3
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    begin(_Container& __cont) noexcept(noexcept(__cont.begin()))
-    -> decltype(__cont.begin())
-    { return __cont.begin(); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    begin(const _Container& __cont) noexcept(noexcept(__cont.begin()))
-    -> decltype(__cont.begin())
-    { return __cont.begin(); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    end(_Container& __cont) noexcept(noexcept(__cont.end()))
-    -> decltype(__cont.end())
-    { return __cont.end(); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    end(const _Container& __cont) noexcept(noexcept(__cont.end()))
-    -> decltype(__cont.end())
-    { return __cont.end(); }
-
-
-
-
-
-  template<typename _Tp, size_t _Nm>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr _Tp*
-    begin(_Tp (&__arr)[_Nm]) noexcept
-    { return __arr; }
-
-
-
-
-
-
-  template<typename _Tp, size_t _Nm>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr _Tp*
-    end(_Tp (&__arr)[_Nm]) noexcept
-    { return __arr + _Nm; }
-
-
-
-  template<typename _Tp> class valarray;
-
-  template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
-  template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
-  template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
-  template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    constexpr auto
-    cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))
-      -> decltype(std::begin(__cont))
-    { return std::begin(__cont); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    constexpr auto
-    cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))
-      -> decltype(std::end(__cont))
-    { return std::end(__cont); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    rbegin(_Container& __cont) noexcept(noexcept(__cont.rbegin()))
-      -> decltype(__cont.rbegin())
-    { return __cont.rbegin(); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    rbegin(const _Container& __cont) noexcept(noexcept(__cont.rbegin()))
-      -> decltype(__cont.rbegin())
-    { return __cont.rbegin(); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    rend(_Container& __cont) noexcept(noexcept(__cont.rend()))
-      -> decltype(__cont.rend())
-    { return __cont.rend(); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    rend(const _Container& __cont) noexcept(noexcept(__cont.rend()))
-      -> decltype(__cont.rend())
-    { return __cont.rend(); }
-
-
-
-
-
-
-  template<typename _Tp, size_t _Nm>
-    [[__nodiscard__]]
-    inline constexpr reverse_iterator<_Tp*>
-    rbegin(_Tp (&__arr)[_Nm]) noexcept
-    { return reverse_iterator<_Tp*>(__arr + _Nm); }
-
-
-
-
-
-
-  template<typename _Tp, size_t _Nm>
-    [[__nodiscard__]]
-    inline constexpr reverse_iterator<_Tp*>
-    rend(_Tp (&__arr)[_Nm]) noexcept
-    { return reverse_iterator<_Tp*>(__arr); }
-
-
-
-
-
-
-  template<typename _Tp>
-    [[__nodiscard__]]
-    inline constexpr reverse_iterator<const _Tp*>
-    rbegin(initializer_list<_Tp> __il) noexcept
-    { return reverse_iterator<const _Tp*>(__il.end()); }
-
-
-
-
-
-
-  template<typename _Tp>
-    [[__nodiscard__]]
-    inline constexpr reverse_iterator<const _Tp*>
-    rend(initializer_list<_Tp> __il) noexcept
-    { return reverse_iterator<const _Tp*>(__il.begin()); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    crbegin(const _Container& __cont) noexcept(noexcept(std::rbegin(__cont)))
-      -> decltype(std::rbegin(__cont))
-    { return std::rbegin(__cont); }
-
-
-
-
-
-
-  template<typename _Container>
-    [[__nodiscard__, __gnu__::__always_inline__]]
-    inline constexpr auto
-    crend(const _Container& __cont) noexcept(noexcept(std::rend(__cont)))
-      -> decltype(std::rend(__cont))
-    { return std::rend(__cont); }
-# 271 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 3
-  template <typename _Container>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr auto
-    size(const _Container& __cont) noexcept(noexcept(__cont.size()))
-    -> decltype(__cont.size())
-    { return __cont.size(); }
-
-
-
-
-  template <typename _Tp, size_t _Nm>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr size_t
-    size(const _Tp (&)[_Nm]) noexcept
-    { return _Nm; }
-
-
-
-
-
-  template <typename _Container>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr auto
-    empty(const _Container& __cont) noexcept(noexcept(__cont.empty()))
-    -> decltype(__cont.empty())
-    { return __cont.empty(); }
-
-
-
-
-  template <typename _Tp, size_t _Nm>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr bool
-    empty(const _Tp (&)[_Nm]) noexcept
-    { return false; }
-
-
-
-
-
-  template <typename _Tp>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr bool
-    empty(initializer_list<_Tp> __il) noexcept
-    { return __il.size() == 0;}
-
-
-
-
-
-  template <typename _Container>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr auto
-    data(_Container& __cont) noexcept(noexcept(__cont.data()))
-    -> decltype(__cont.data())
-    { return __cont.data(); }
-
-
-
-
-
-  template <typename _Container>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr auto
-    data(const _Container& __cont) noexcept(noexcept(__cont.data()))
-    -> decltype(__cont.data())
-    { return __cont.data(); }
-
-
-
-
-
-  template <typename _Tp, size_t _Nm>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr _Tp*
-    data(_Tp (&__array)[_Nm]) noexcept
-    { return __array; }
-
-
-
-
-
-  template <typename _Tp>
-    [[nodiscard, __gnu__::__always_inline__]]
-    constexpr const _Tp*
-    data(initializer_list<_Tp> __il) noexcept
-    { return __il.begin(); }
-# 378 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/range_access.h" 3
-}
-# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 1 3
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 1 3
-# 33 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 1 3
-# 73 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  template <typename _Tp>
-                         inline void
-    destroy_at(_Tp* __location)
-    {
-      if constexpr (201703L > 201703L && is_array_v<_Tp>)
- {
-   for (auto& __x : *__location)
-     std::destroy_at(std::__addressof(__x));
- }
-      else
- __location->~_Tp();
-    }
-# 120 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-  template<typename _Tp, typename... _Args>
-
-    inline void
-    _Construct(_Tp* __p, _Args&&... __args)
-    {
-# 133 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-      ::new(static_cast<void*>(__p)) _Tp(std::forward<_Args>(__args)...);
-    }
-# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-  template<typename _T1>
-
-    inline void
-    _Construct_novalue(_T1* __p)
-    { ::new(static_cast<void*>(__p)) _T1; }
-
-  template<typename _ForwardIterator>
-                         void
-    _Destroy(_ForwardIterator __first, _ForwardIterator __last);
-
-
-
-
-  template<typename _Tp>
-    constexpr inline void
-    _Destroy(_Tp* __pointer)
-    {
-
-
-
-      __pointer->~_Tp();
-
-    }
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-# 200 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-  template<typename _ForwardIterator>
-                         inline void
-    _Destroy(_ForwardIterator __first, _ForwardIterator __last)
-    {
-      typedef typename iterator_traits<_ForwardIterator>::value_type
-                       _Value_type;
-
-
-      static_assert(is_destructible<_Value_type>::value,
-      "value type is destructible");
-      if constexpr (!__has_trivial_destructor(_Value_type))
- for (; __first != __last; ++__first)
-   std::_Destroy(std::__addressof(*__first));
-# 222 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-    }
-# 256 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/stl_construct.h" 3
-  template<typename _ForwardIterator, typename _Size>
-                         inline _ForwardIterator
-    _Destroy_n(_ForwardIterator __first, _Size __count)
-    {
-      typedef typename iterator_traits<_ForwardIterator>::value_type
-                       _Value_type;
-
-
-      static_assert(is_destructible<_Value_type>::value,
-      "value type is destructible");
-      if constexpr (!__has_trivial_destructor(_Value_type))
- for (; __count > 0; (void)++__first, --__count)
-   std::_Destroy(std::__addressof(*__first));
-
-
-
-
-
-      else
- std::advance(__first, __count);
-      return __first;
-
-
-
-
-    }
-#pragma GCC diagnostic pop
-
-
-  template <typename _ForwardIterator>
-                         inline void
-    destroy(_ForwardIterator __first, _ForwardIterator __last)
-    {
-      std::_Destroy(__first, __last);
-    }
-
-  template <typename _ForwardIterator, typename _Size>
-                         inline _ForwardIterator
-    destroy_n(_ForwardIterator __first, _Size __count)
-    {
-      return std::_Destroy_n(__first, __count);
-    }
-
-
-
-}
-# 34 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 2 3
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++14-extensions"
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-
-
-  struct __allocator_traits_base
-  {
-
-
-
-    template<typename _Tp, typename _Up, typename = void>
-
-      struct __rebind : __replace_first_arg<_Tp, _Up>
-      {
- static_assert(is_same<
-   typename __replace_first_arg<_Tp, typename _Tp::value_type>::type,
-   _Tp>::value,
-   "allocator_traits<A>::rebind_alloc<A::value_type> must be A");
-      };
-
-    template<typename _Tp, typename _Up>
-
-
-
-
-      struct __rebind<_Tp, _Up,
-        __void_t<typename _Tp::template rebind<_Up>::other>>
-
-      {
- using type = typename _Tp::template rebind<_Up>::other;
-
- static_assert(is_same<
-   typename _Tp::template rebind<typename _Tp::value_type>::other,
-   _Tp>::value,
-   "allocator_traits<A>::rebind_alloc<A::value_type> must be A");
-      };
-
-  protected:
-    template<typename _Tp>
-      using __pointer = typename _Tp::pointer;
-    template<typename _Tp>
-      using __c_pointer = typename _Tp::const_pointer;
-    template<typename _Tp>
-      using __v_pointer = typename _Tp::void_pointer;
-    template<typename _Tp>
-      using __cv_pointer = typename _Tp::const_void_pointer;
-    template<typename _Tp>
-      using __pocca = typename _Tp::propagate_on_container_copy_assignment;
-    template<typename _Tp>
-      using __pocma = typename _Tp::propagate_on_container_move_assignment;
-    template<typename _Tp>
-      using __pocs = typename _Tp::propagate_on_container_swap;
-    template<typename _Tp>
-      using __equal = __type_identity<typename _Tp::is_always_equal>;
-# 115 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-    template<typename _Alloc, typename _Sz, typename _Vp>
-      using __allocate_hint_t
- = decltype(std::declval<_Alloc&>()
-       .allocate(std::declval<_Sz>(), std::declval<_Vp>()));
-    template<typename _Alloc, typename _Sz, typename _Vp, typename = void>
-      static constexpr bool __has_allocate_hint = false;
-    template<typename _Alloc, typename _Sz, typename _Vp>
-      static constexpr bool
-      __has_allocate_hint<_Alloc, _Sz, _Vp,
-     __void_t<__allocate_hint_t<_Alloc, _Sz, _Vp>>>
- = true;
-# 152 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-    template<typename _Alloc, typename _Tp, typename... _Args>
-      using __construct_t
- = decltype(std::declval<_Alloc&>().construct(std::declval<_Tp*>(),
-           std::declval<_Args>()...));
-    template<typename _Alloc, typename _Tp, typename, typename... _Args>
-      static constexpr bool __has_construct_impl = false;
-    template<typename _Alloc, typename _Tp, typename... _Args>
-      static constexpr bool
-      __has_construct_impl<_Alloc, _Tp,
-      __void_t<__construct_t<_Alloc, _Tp, _Args...>>,
-      _Args...>
- = true;
-    template<typename _Alloc, typename _Tp, typename... _Args>
-      static constexpr bool __has_construct
- = __has_construct_impl<_Alloc, _Tp, void, _Args...>;
-    template<typename _Tp, typename... _Args>
-      using __new_expr_t
- = decltype(::new((void*)0) _Tp(std::declval<_Args>()...));
-    template<typename _Tp, typename, typename... _Args>
-      static constexpr bool __has_new_expr = false;
-    template<typename _Tp, typename... _Args>
-      static constexpr bool
-      __has_new_expr<_Tp, __void_t<__new_expr_t<_Tp, _Args...>>, _Args...>
- = true;
-    template<typename _Alloc, typename _Tp, typename... _Args>
-      static constexpr bool __can_construct
- = __has_construct<_Alloc, _Tp, _Args...>
-     || __has_new_expr<_Tp, void, _Args...>;
-# 189 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-    template<typename _Alloc, typename _Tp>
-      using __destroy_t
- = decltype(std::declval<_Alloc&>().destroy(std::declval<_Tp*>()));
-    template<typename _Alloc, typename _Tp, typename = void>
-      static constexpr bool __has_destroy = false;
-    template<typename _Alloc, typename _Tp>
-      static constexpr bool __has_destroy<_Alloc, _Tp,
-       __void_t<__destroy_t<_Alloc, _Tp>>>
- = true;
-# 207 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-    template<typename _Alloc>
-      using __max_size_t = decltype(std::declval<const _Alloc&>().max_size());
-    template<typename _Alloc, typename = void>
-      static constexpr bool __has_max_size = false;
-    template<typename _Alloc>
-      static constexpr bool __has_max_size<_Alloc,
-        __void_t<__max_size_t<_Alloc>>>
- = true;
-# 225 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-    template<typename _Alloc>
-      using __soccc_t
- = decltype(std::declval<const _Alloc&>()
-       .select_on_container_copy_construction());
-    template<typename _Alloc, typename = void>
-      static constexpr bool __has_soccc = false;
-    template<typename _Alloc>
-      static constexpr bool __has_soccc<_Alloc, __void_t<__soccc_t<_Alloc>>>
- = true;
-
-  };
-
-  template<typename _Alloc, typename _Up>
-    using __alloc_rebind
-      = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
-# 248 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-  template<typename _Alloc>
-    struct allocator_traits : __allocator_traits_base
-    {
-
-      typedef _Alloc allocator_type;
-
-      typedef typename _Alloc::value_type value_type;
-
-
-
-
-
-
-      using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
-
-    private:
-
-      template<template<typename> class _Func, typename _Tp, typename = void>
- struct _Ptr
- {
-   using type = typename pointer_traits<pointer>::template rebind<_Tp>;
- };
-
-      template<template<typename> class _Func, typename _Tp>
- struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
- {
-   using type = _Func<_Alloc>;
- };
-
-
-      template<typename _A2, typename _PtrT, typename = void>
- struct _Diff
- { using type = typename pointer_traits<_PtrT>::difference_type; };
-
-      template<typename _A2, typename _PtrT>
- struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
- { using type = typename _A2::difference_type; };
-
-
-      template<typename _A2, typename _DiffT, typename = void>
- struct _Size : make_unsigned<_DiffT> { };
-
-      template<typename _A2, typename _DiffT>
- struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
- { using type = typename _A2::size_type; };
-
-    public:
-
-
-
-
-
-
-      using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
-
-
-
-
-
-
-
-      using void_pointer = typename _Ptr<__v_pointer, void>::type;
-
-
-
-
-
-
-
-      using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
-
-
-
-
-
-
-
-      using difference_type = typename _Diff<_Alloc, pointer>::type;
-
-
-
-
-
-
-
-      using size_type = typename _Size<_Alloc, difference_type>::type;
-
-
-
-
-
-
-
-      using propagate_on_container_copy_assignment
- = __detected_or_t<false_type, __pocca, _Alloc>;
-
-
-
-
-
-
-
-      using propagate_on_container_move_assignment
- = __detected_or_t<false_type, __pocma, _Alloc>;
-
-
-
-
-
-
-
-      using propagate_on_container_swap
- = __detected_or_t<false_type, __pocs, _Alloc>;
-
-
-
-
-
-
-
-      using is_always_equal
- = typename __detected_or_t<is_empty<_Alloc>, __equal, _Alloc>::type;
-
-      template<typename _Tp>
- using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
-      template<typename _Tp>
- using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
-# 383 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      [[__nodiscard__]] static pointer
-      allocate(_Alloc& __a, size_type __n)
-      { return __a.allocate(__n); }
-# 398 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      [[__nodiscard__]] static pointer
-      allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
-      {
- if constexpr (__has_allocate_hint<_Alloc, size_type, const_void_pointer>)
-   return __a.allocate(__n, __hint);
- else
-   return __a.allocate(__n);
-      }
-# 415 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      static void
-      deallocate(_Alloc& __a, pointer __p, size_type __n)
-      { __a.deallocate(__p, __n); }
-# 430 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      template<typename _Tp, typename... _Args>
-
-
-
-
- static __enable_if_t<__can_construct<_Alloc, _Tp, _Args...>>
-
- construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
- noexcept(_S_nothrow_construct<_Tp, _Args...>())
- {
-   if constexpr (__has_construct<_Alloc, _Tp, _Args...>)
-     __a.construct(__p, std::forward<_Args>(__args)...);
-   else
-     std::_Construct(__p, std::forward<_Args>(__args)...);
- }
-# 454 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      template<typename _Tp>
- static void
- destroy(_Alloc& __a, _Tp* __p)
- noexcept(_S_nothrow_destroy<_Tp>())
- {
-   if constexpr (__has_destroy<_Alloc, _Tp>)
-     __a.destroy(__p);
-   else
-     std::_Destroy(__p);
- }
-# 473 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      static size_type
-      max_size(const _Alloc& __a) noexcept
-      {
- if constexpr (__has_max_size<_Alloc>)
-   return __a.max_size();
- else
-
-
-   return __gnu_cxx::__numeric_traits<size_type>::__max
-     / sizeof(value_type);
-      }
-# 493 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      static _Alloc
-      select_on_container_copy_construction(const _Alloc& __rhs)
-      {
- if constexpr (__has_soccc<_Alloc>)
-   return __rhs.select_on_container_copy_construction();
- else
-   return __rhs;
-      }
-
-    private:
-
-      template<typename _Tp, typename... _Args>
- static constexpr bool
- _S_nothrow_construct(_Alloc* __a = nullptr, _Tp* __p = nullptr)
- {
-   if constexpr (__has_construct<_Alloc, _Tp, _Args...>)
-     return noexcept(__a->construct(__p, std::declval<_Args>()...));
-   else
-     return __is_nothrow_new_constructible<_Tp, _Args...>;
- }
-
-      template<typename _Tp>
- static constexpr bool
- _S_nothrow_destroy(_Alloc* __a = nullptr, _Tp* __p = nullptr)
- {
-   if constexpr (__has_destroy<_Alloc, _Tp>)
-     return noexcept(__a->destroy(__p));
-   else
-     return is_nothrow_destructible<_Tp>::value;
- }
-# 548 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-    };
-#pragma GCC diagnostic pop
-# 559 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-  template<typename _Tp>
-    struct allocator_traits<allocator<_Tp>>
-    {
-
-      using allocator_type = allocator<_Tp>;
-
-
-      using value_type = _Tp;
-
-
-      using pointer = _Tp*;
-
-
-      using const_pointer = const _Tp*;
-
-
-      using void_pointer = void*;
-
-
-      using const_void_pointer = const void*;
-
-
-      using difference_type = std::ptrdiff_t;
-
-
-      using size_type = std::size_t;
-
-
-      using propagate_on_container_copy_assignment = false_type;
-
-
-      using propagate_on_container_move_assignment = true_type;
-
-
-      using propagate_on_container_swap = false_type;
-
-
-      using is_always_equal = true_type;
-
-      template<typename _Up>
- using rebind_alloc = allocator<_Up>;
-
-      template<typename _Up>
- using rebind_traits = allocator_traits<allocator<_Up>>;
-# 611 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      [[__nodiscard__,__gnu__::__always_inline__]]
-      static pointer
-      allocate(allocator_type& __a, size_type __n)
-      { return __a.allocate(__n); }
-# 626 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      [[__nodiscard__,__gnu__::__always_inline__]]
-      static pointer
-      allocate(allocator_type& __a, size_type __n,
-        [[maybe_unused]] const_void_pointer __hint)
-      {
-
- return __a.allocate(__n, __hint);
-
-
-
-      }
-# 646 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      [[__gnu__::__always_inline__]]
-      static void
-      deallocate(allocator_type& __a, pointer __p, size_type __n)
-      { __a.deallocate(__p, __n); }
-# 662 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      template<typename _Up, typename... _Args>
- [[__gnu__::__always_inline__]]
- static void
- construct(allocator_type& __a __attribute__((__unused__)),
-    _Up* __p, _Args&&... __args)
-
- noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
-
-
-
- {
-
-   __a.construct(__p, std::forward<_Args>(__args)...);
-
-
-
-
-
- }
-# 689 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      template<typename _Up>
- [[__gnu__::__always_inline__]]
- static void
- destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p)
- noexcept(is_nothrow_destructible<_Up>::value)
- {
-
-   __a.destroy(__p);
-
-
-
- }
-
-
-
-
-
-
-      [[__gnu__::__always_inline__]]
-      static size_type
-      max_size(const allocator_type& __a __attribute__((__unused__))) noexcept
-      {
-
- return __a.max_size();
-
-
-
-      }
-
-
-
-
-
-
-      [[__gnu__::__always_inline__]]
-      static allocator_type
-      select_on_container_copy_construction(const allocator_type& __rhs)
-      { return __rhs; }
-    };
-# 736 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-  template<>
-    struct allocator_traits<allocator<void>>
-    {
-
-      using allocator_type = allocator<void>;
-
-
-      using value_type = void;
-
-
-      using pointer = void*;
-
-
-      using const_pointer = const void*;
-
-
-      using void_pointer = void*;
-
-
-      using const_void_pointer = const void*;
-
-
-      using difference_type = std::ptrdiff_t;
-
-
-      using size_type = std::size_t;
-
-
-      using propagate_on_container_copy_assignment = false_type;
-
-
-      using propagate_on_container_move_assignment = true_type;
-
-
-      using propagate_on_container_swap = false_type;
-
-
-      using is_always_equal = true_type;
-
-      template<typename _Up>
- using rebind_alloc = allocator<_Up>;
-
-      template<typename _Up>
- using rebind_traits = allocator_traits<allocator<_Up>>;
-
-
-      static void*
-      allocate(allocator_type&, size_type, const void* = nullptr) = delete;
-
-
-      static void
-      deallocate(allocator_type&, void*, size_type) = delete;
-# 800 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      template<typename _Up, typename... _Args>
- [[__gnu__::__always_inline__]]
- static void
- construct(allocator_type&, _Up* __p, _Args&&... __args)
- noexcept(__is_nothrow_new_constructible<_Up, _Args...>)
- { std::_Construct(__p, std::forward<_Args>(__args)...); }
-# 814 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-      template<typename _Up>
- [[__gnu__::__always_inline__]]
- static void
- destroy(allocator_type&, _Up* __p)
- noexcept(is_nothrow_destructible<_Up>::value)
- { std::_Destroy(__p); }
-
-
-      static size_type
-      max_size(const allocator_type&) = delete;
-
-
-
-
-
-
-      [[__gnu__::__always_inline__]]
-      static allocator_type
-      select_on_container_copy_construction(const allocator_type& __rhs)
-      { return __rhs; }
-    };
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<typename _Alloc>
-    [[__gnu__::__always_inline__]]
-    constexpr inline void
-    __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
-    {
-      using __traits = allocator_traits<_Alloc>;
-      using __pocca =
- typename __traits::propagate_on_container_copy_assignment::type;
-      if constexpr (__pocca::value)
- __one = __two;
-    }
-
-  template<typename _Alloc>
-    [[__gnu__::__always_inline__]]
-    constexpr _Alloc
-    __alloc_on_copy(const _Alloc& __a)
-    {
-      typedef allocator_traits<_Alloc> __traits;
-      return __traits::select_on_container_copy_construction(__a);
-    }
-
-  template<typename _Alloc>
-    [[__gnu__::__always_inline__]]
-    constexpr inline void
-    __alloc_on_move(_Alloc& __one, _Alloc& __two)
-    {
-      using __traits = allocator_traits<_Alloc>;
-      using __pocma
- = typename __traits::propagate_on_container_move_assignment::type;
-      if constexpr (__pocma::value)
- __one = std::move(__two);
-    }
-
-  template<typename _Alloc>
-    [[__gnu__::__always_inline__]]
-    constexpr inline void
-    __alloc_on_swap(_Alloc& __one, _Alloc& __two)
-    {
-      using __traits = allocator_traits<_Alloc>;
-      using __pocs = typename __traits::propagate_on_container_swap::type;
-      if constexpr (__pocs::value)
- {
-   using std::swap;
-   swap(__one, __two);
- }
-    }
-#pragma GCC diagnostic pop
-
-  template<typename _Alloc, typename _Tp,
-    typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
-    typename = void>
-    struct __is_alloc_insertable_impl
-    : false_type
-    { };
-
-  template<typename _Alloc, typename _Tp, typename _ValueT>
-    struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
-      __void_t<decltype(allocator_traits<_Alloc>::construct(
-     std::declval<_Alloc&>(), std::declval<_ValueT*>(),
-     std::declval<_Tp>()))>>
-    : true_type
-    { };
-
-
-
-
-  template<typename _Alloc>
-    struct __is_copy_insertable
-    : __is_alloc_insertable_impl<_Alloc,
-     typename _Alloc::value_type const&>::type
-    { };
-
-
-
-  template<typename _Tp>
-    struct __is_copy_insertable<allocator<_Tp>>
-    : is_copy_constructible<_Tp>
-    { };
-
-
-
-
-
-  template<typename _Alloc>
-    struct __is_move_insertable
-    : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
-    { };
-
-
-
-  template<typename _Tp>
-    struct __is_move_insertable<allocator<_Tp>>
-    : is_move_constructible<_Tp>
-    { };
-
-
-
-  template<typename _Alloc, typename = void>
-    struct __is_allocator : false_type { };
-
-  template<typename _Alloc>
-    struct __is_allocator<_Alloc,
-      __void_t<typename _Alloc::value_type,
-        decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
-    : true_type { };
-
-  template<typename _Alloc>
-    using _RequireAllocator
-      = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
-
-  template<typename _Alloc>
-    using _RequireNotAllocator
-      = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
-# 970 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-  template<typename _Alloc, bool = __is_empty(_Alloc)>
-    struct __alloc_swap
-    { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
-
-  template<typename _Alloc>
-    struct __alloc_swap<_Alloc, false>
-    {
-      static void
-      _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
-      {
-
- if (__one != __two)
-   swap(__one, __two);
-      }
-    };
-
-
-  template<typename _Tp, bool
-    = __or_<is_copy_constructible<typename _Tp::value_type>,
-            is_nothrow_move_constructible<typename _Tp::value_type>>::value>
-    struct __shrink_to_fit_aux
-    { static bool _S_do_it(_Tp&) noexcept { return false; } };
-
-  template<typename _Tp>
-    struct __shrink_to_fit_aux<_Tp, true>
-    {
-
-      static bool
-      _S_do_it(_Tp& __c) noexcept
-      {
-
- try
-   {
-     _Tp(__make_move_if_noexcept_iterator(__c.begin()),
-  __make_move_if_noexcept_iterator(__c.end()),
-  __c.get_allocator()).swap(__c);
-     return true;
-   }
- catch(...)
-   { return false; }
-
-
-
-      }
-    };
-# 1023 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/alloc_traits.h" 3
-  template<typename _ForwardIterator, typename _Allocator>
-
-    void
-    _Destroy(_ForwardIterator __first, _ForwardIterator __last,
-      _Allocator& __alloc)
-    {
-      for (; __first != __last; ++__first)
-
-
-
- allocator_traits<_Allocator>::destroy(__alloc,
-           std::__addressof(*__first));
-
-    }
-
-
-  template<typename _ForwardIterator, typename _Tp>
-    __attribute__((__always_inline__))
-    inline void
-    _Destroy(_ForwardIterator __first, _ForwardIterator __last,
-      allocator<_Tp>&)
-    {
-      std::_Destroy(__first, __last);
-    }
-
-
-
-
-
-}
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 2 3
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-template<typename _Alloc, typename = typename _Alloc::value_type>
-  struct __alloc_traits
-
-  : std::allocator_traits<_Alloc>
-
-  {
-    typedef _Alloc allocator_type;
-
-    typedef std::allocator_traits<_Alloc> _Base_type;
-    typedef typename _Base_type::value_type value_type;
-    typedef typename _Base_type::pointer pointer;
-    typedef typename _Base_type::const_pointer const_pointer;
-    typedef typename _Base_type::size_type size_type;
-    typedef typename _Base_type::difference_type difference_type;
-
-    typedef value_type& reference;
-    typedef const value_type& const_reference;
-    using _Base_type::allocate;
-    using _Base_type::deallocate;
-    using _Base_type::construct;
-    using _Base_type::destroy;
-    using _Base_type::max_size;
-
-  private:
-    template<typename _Ptr>
-      using __is_custom_pointer
- = std::__and_<std::is_same<pointer, _Ptr>,
-        std::__not_<std::is_pointer<_Ptr>>>;
-
-  public:
-
-    template<typename _Ptr, typename... _Args>
-      [[__gnu__::__always_inline__]]
-      static constexpr
-      std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
-      construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
-      noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
-           std::forward<_Args>(__args)...)))
-      {
- _Base_type::construct(__a, std::__to_address(__p),
-         std::forward<_Args>(__args)...);
-      }
-
-
-    template<typename _Ptr>
-      [[__gnu__::__always_inline__]]
-      static constexpr
-      std::__enable_if_t<__is_custom_pointer<_Ptr>::value>
-      destroy(_Alloc& __a, _Ptr __p)
-      noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
-      { _Base_type::destroy(__a, std::__to_address(__p)); }
-
-    [[__gnu__::__always_inline__]]
-    static constexpr _Alloc _S_select_on_copy(const _Alloc& __a)
-    { return _Base_type::select_on_container_copy_construction(__a); }
-
-    [[__gnu__::__always_inline__]]
-    static constexpr void _S_on_swap(_Alloc& __a, _Alloc& __b)
-    { std::__alloc_on_swap(__a, __b); }
-
-    [[__gnu__::__always_inline__]]
-    static constexpr bool _S_propagate_on_copy_assign()
-    { return _Base_type::propagate_on_container_copy_assignment::value; }
-
-    [[__gnu__::__always_inline__]]
-    static constexpr bool _S_propagate_on_move_assign()
-    { return _Base_type::propagate_on_container_move_assignment::value; }
-
-    [[__gnu__::__always_inline__]]
-    static constexpr bool _S_propagate_on_swap()
-    { return _Base_type::propagate_on_container_swap::value; }
-
-    [[__gnu__::__always_inline__]]
-    static constexpr bool _S_always_equal()
-    { return _Base_type::is_always_equal::value; }
-
-    __attribute__((__always_inline__))
-    static constexpr bool _S_nothrow_move()
-    { return _S_propagate_on_move_assign() || _S_always_equal(); }
-
-    template<typename _Tp>
-      struct rebind
-      { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
-# 182 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/alloc_traits.h" 3
-  };
-
-
-}
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
-
-
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 1 3
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 2 3
-
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
-  template<typename _Result, typename _Arg>
-    struct __hash_base
-    {
-
-      typedef _Result result_type [[__deprecated__]];
-      typedef _Arg argument_type [[__deprecated__]];
-
-    };
-
-
-
-  template<typename _Tp> struct __hash_empty_base { };
-
-
-
-  template<typename _Tp>
-    struct hash;
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++14-extensions"
-  template<typename _Tp, typename = void>
-    constexpr bool __is_hash_enabled_for = false;
-
-  template<typename _Tp>
-    constexpr bool
-    __is_hash_enabled_for<_Tp,
-     __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
-      = true;
-#pragma GCC diagnostic pop
-
-
-  template<typename _Tp>
-    struct __hash_not_enabled
-    {
-      __hash_not_enabled(__hash_not_enabled&&) = delete;
-      ~__hash_not_enabled() = delete;
-    };
-
-
-  template<typename _Tp, bool = true>
-    struct __hash_enum : public __hash_base<size_t, _Tp>
-    {
-      size_t
-      operator()(_Tp __val) const noexcept
-      {
-       using __type = typename underlying_type<_Tp>::type;
-       return hash<__type>{}(static_cast<__type>(__val));
-      }
-    };
-
-
-  template<typename _Tp>
-    struct hash
-    : __conditional_t<__is_enum(_Tp), __hash_enum<_Tp>, __hash_not_enabled<_Tp>>
-    { };
-
-
-  template<typename _Tp>
-    struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
-    {
-      size_t
-      operator()(_Tp* __p) const noexcept
-      { return reinterpret_cast<size_t>(__p); }
-    };
-# 128 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
-  template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-
-
-
-
-
-  template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
-
-
-  __extension__
-  template<> struct hash<__int128> : public __hash_base<size_t, __int128> { size_t operator()(__int128 __val) const noexcept { return static_cast<size_t>(__val); } };
-  __extension__
-  template<> struct hash<__int128 unsigned> : public __hash_base<size_t, __int128 unsigned> { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast<size_t>(__val); } };
-# 204 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
-  struct _Hash_impl
-  {
-    static size_t
-    hash(const void* __ptr, size_t __clength,
-  size_t __seed = static_cast<size_t>(0xc70f6907UL))
-    { return _Hash_bytes(__ptr, __clength, __seed); }
-
-    template<typename _Tp>
-      static size_t
-      hash(const _Tp& __val)
-      { return hash(&__val, sizeof(__val)); }
-
-    template<typename _Tp>
-      static size_t
-      __hash_combine(const _Tp& __val, size_t __hash)
-      { return hash(&__val, sizeof(__val), __hash); }
-  };
-
-
-  struct _Fnv_hash_impl
-  {
-    static size_t
-    hash(const void* __ptr, size_t __clength,
-  size_t __seed = static_cast<size_t>(2166136261UL))
-    { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
-
-    template<typename _Tp>
-      static size_t
-      hash(const _Tp& __val)
-      { return hash(&__val, sizeof(__val)); }
-
-    template<typename _Tp>
-      static size_t
-      __hash_combine(const _Tp& __val, size_t __hash)
-      { return hash(&__val, sizeof(__val), __hash); }
-  };
-
-
-  template<>
-    struct hash<float> : public __hash_base<size_t, float>
-    {
-      size_t
-      operator()(float __val) const noexcept
-      {
-
- return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
-      }
-    };
-
-
-  template<>
-    struct hash<double> : public __hash_base<size_t, double>
-    {
-      size_t
-      operator()(double __val) const noexcept
-      {
-
- return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
-      }
-    };
-
-
-  template<>
-    struct hash<long double>
-    : public __hash_base<size_t, long double>
-    {
-      __attribute__ ((__pure__)) size_t
-      operator()(long double __val) const noexcept;
-    };
-
-
-  template<>
-    struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
-    {
-      size_t
-      operator()(nullptr_t) const noexcept
-      { return 0; }
-    };
-# 297 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/functional_hash.h" 3
-  template<typename _Hash>
-    struct __is_fast_hash : public std::true_type
-    { };
-
-  template<>
-    struct __is_fast_hash<hash<long double>> : public std::false_type
-    { };
-
-
-}
-# 53 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 2 3
-# 66 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  constexpr size_t
-  __sv_check(size_t __size, size_t __pos, const char* __s)
-  {
-    if (__pos > __size)
-      __throw_out_of_range_fmt(("%s: __pos (which is %zu) > __size " "(which is %zu)"), __s, __pos, __size);
-
-    return __pos;
-  }
-
-
-
-  constexpr size_t
-  __sv_limit(size_t __size, size_t __pos, size_t __off) noexcept
-  {
-   const bool __testoff = __off < __size - __pos;
-   return __testoff ? __off : __size - __pos;
-  }
-# 107 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-  template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
-    class basic_string_view
-    {
-      static_assert(!is_array_v<_CharT>);
-      static_assert(is_trivially_copyable_v<_CharT>
-   && is_trivially_default_constructible_v<_CharT>
-   && is_standard_layout_v<_CharT>);
-      static_assert(is_same_v<_CharT, typename _Traits::char_type>);
-
-    public:
-
-
-      using traits_type = _Traits;
-      using value_type = _CharT;
-      using pointer = value_type*;
-      using const_pointer = const value_type*;
-      using reference = value_type&;
-      using const_reference = const value_type&;
-      using const_iterator = const value_type*;
-      using iterator = const_iterator;
-      using const_reverse_iterator = std::reverse_iterator<const_iterator>;
-      using reverse_iterator = const_reverse_iterator;
-      using size_type = size_t;
-      using difference_type = ptrdiff_t;
-      static constexpr size_type npos = size_type(-1);
-
-
-
-      constexpr
-      basic_string_view() noexcept
-      : _M_len{0}, _M_str{nullptr}
-      { }
-
-      constexpr basic_string_view(const basic_string_view&) noexcept = default;
-
-      [[__gnu__::__nonnull__]]
-      constexpr
-      basic_string_view(const _CharT* __str) noexcept
-      : _M_len{traits_type::length(__str)},
- _M_str{__str}
-      { }
-
-      constexpr
-      basic_string_view(const _CharT* __str, size_type __len) noexcept
-      : _M_len{__len}, _M_str{__str}
-      { }
-# 184 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-      constexpr basic_string_view&
-      operator=(const basic_string_view&) noexcept = default;
-
-
-
-      [[nodiscard]]
-      constexpr const_iterator
-      begin() const noexcept
-      { return this->_M_str; }
-
-      [[nodiscard]]
-      constexpr const_iterator
-      end() const noexcept
-      { return this->_M_str + this->_M_len; }
-
-      [[nodiscard]]
-      constexpr const_iterator
-      cbegin() const noexcept
-      { return this->_M_str; }
-
-      [[nodiscard]]
-      constexpr const_iterator
-      cend() const noexcept
-      { return this->_M_str + this->_M_len; }
-
-      [[nodiscard]]
-      constexpr const_reverse_iterator
-      rbegin() const noexcept
-      { return const_reverse_iterator(this->end()); }
-
-      [[nodiscard]]
-      constexpr const_reverse_iterator
-      rend() const noexcept
-      { return const_reverse_iterator(this->begin()); }
-
-      [[nodiscard]]
-      constexpr const_reverse_iterator
-      crbegin() const noexcept
-      { return const_reverse_iterator(this->end()); }
-
-      [[nodiscard]]
-      constexpr const_reverse_iterator
-      crend() const noexcept
-      { return const_reverse_iterator(this->begin()); }
-
-
-
-      [[nodiscard]]
-      constexpr size_type
-      size() const noexcept
-      { return this->_M_len; }
-
-      [[nodiscard]]
-      constexpr size_type
-      length() const noexcept
-      { return _M_len; }
-
-      [[nodiscard]]
-      constexpr size_type
-      max_size() const noexcept
-      {
- return (npos - sizeof(size_type) - sizeof(void*))
-  / sizeof(value_type) / 4;
-      }
-
-      [[nodiscard]]
-      constexpr bool
-      empty() const noexcept
-      { return this->_M_len == 0; }
-
-
-
-      [[nodiscard]]
-      constexpr const_reference
-      operator[](size_type __pos) const noexcept
-      {
- do { if (__builtin_expect(!bool(__pos < this->_M_len), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 260, __PRETTY_FUNCTION__, "__pos < this->_M_len"); } while (false);
- return *(this->_M_str + __pos);
-      }
-
-      [[nodiscard]]
-      constexpr const_reference
-      at(size_type __pos) const
-      {
- if (__pos >= _M_len)
-   __throw_out_of_range_fmt(("basic_string_view::at: __pos " "(which is %zu) >= this->size() " "(which is %zu)"), __pos, this->size());
-
-
- return *(this->_M_str + __pos);
-      }
-
-      [[nodiscard]]
-      constexpr const_reference
-      front() const noexcept
-      {
- do { if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 279, __PRETTY_FUNCTION__, "this->_M_len > 0"); } while (false);
- return *this->_M_str;
-      }
-
-      [[nodiscard]]
-      constexpr const_reference
-      back() const noexcept
-      {
- do { if (__builtin_expect(!bool(this->_M_len > 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 287, __PRETTY_FUNCTION__, "this->_M_len > 0"); } while (false);
- return *(this->_M_str + this->_M_len - 1);
-      }
-
-      [[nodiscard]]
-      constexpr const_pointer
-      data() const noexcept
-      { return this->_M_str; }
-
-
-
-      constexpr void
-      remove_prefix(size_type __n) noexcept
-      {
- do { if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 301, __PRETTY_FUNCTION__, "this->_M_len >= __n"); } while (false);
- this->_M_str += __n;
- this->_M_len -= __n;
-      }
-
-      constexpr void
-      remove_suffix(size_type __n) noexcept
-      {
- do { if (__builtin_expect(!bool(this->_M_len >= __n), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view", 309, __PRETTY_FUNCTION__, "this->_M_len >= __n"); } while (false);
- this->_M_len -= __n;
-      }
-
-      constexpr void
-      swap(basic_string_view& __sv) noexcept
-      {
- auto __tmp = *this;
- *this = __sv;
- __sv = __tmp;
-      }
-
-
-
-
-      size_type
-      copy(_CharT* __str, size_type __n, size_type __pos = 0) const
-      {
-                                          ;
- __pos = std::__sv_check(size(), __pos, "basic_string_view::copy");
- const size_type __rlen = std::min<size_t>(__n, _M_len - __pos);
-
-
- traits_type::copy(__str, data() + __pos, __rlen);
- return __rlen;
-      }
-
-      [[nodiscard]]
-      constexpr basic_string_view
-      substr(size_type __pos = 0, size_type __n = npos) const noexcept(false)
-      {
- __pos = std::__sv_check(size(), __pos, "basic_string_view::substr");
- const size_type __rlen = std::min<size_t>(__n, _M_len - __pos);
- return basic_string_view{_M_str + __pos, __rlen};
-      }
-
-      [[nodiscard]]
-      constexpr int
-      compare(basic_string_view __str) const noexcept
-      {
- const size_type __rlen = std::min(this->_M_len, __str._M_len);
- int __ret = traits_type::compare(this->_M_str, __str._M_str, __rlen);
- if (__ret == 0)
-   __ret = _S_compare(this->_M_len, __str._M_len);
- return __ret;
-      }
-
-      [[nodiscard]]
-      constexpr int
-      compare(size_type __pos1, size_type __n1, basic_string_view __str) const
-      { return this->substr(__pos1, __n1).compare(__str); }
-
-      [[nodiscard]]
-      constexpr int
-      compare(size_type __pos1, size_type __n1,
-       basic_string_view __str, size_type __pos2, size_type __n2) const
-      {
- return this->substr(__pos1, __n1).compare(__str.substr(__pos2, __n2));
-      }
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr int
-      compare(const _CharT* __str) const noexcept
-      { return this->compare(basic_string_view{__str}); }
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr int
-      compare(size_type __pos1, size_type __n1, const _CharT* __str) const
-      { return this->substr(__pos1, __n1).compare(basic_string_view{__str}); }
-
-      [[nodiscard]]
-      constexpr int
-      compare(size_type __pos1, size_type __n1,
-       const _CharT* __str, size_type __n2) const noexcept(false)
-      {
- return this->substr(__pos1, __n1)
-     .compare(basic_string_view(__str, __n2));
-      }
-# 452 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-      [[nodiscard]]
-      constexpr size_type
-      find(basic_string_view __str, size_type __pos = 0) const noexcept
-      { return this->find(__str._M_str, __pos, __str._M_len); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find(_CharT __c, size_type __pos = 0) const noexcept;
-
-      [[nodiscard]]
-      constexpr size_type
-      find(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr size_type
-      find(const _CharT* __str, size_type __pos = 0) const noexcept
-      { return this->find(__str, __pos, traits_type::length(__str)); }
-
-      [[nodiscard]]
-      constexpr size_type
-      rfind(basic_string_view __str, size_type __pos = npos) const noexcept
-      { return this->rfind(__str._M_str, __pos, __str._M_len); }
-
-      [[nodiscard]]
-      constexpr size_type
-      rfind(_CharT __c, size_type __pos = npos) const noexcept;
-
-      [[nodiscard]]
-      constexpr size_type
-      rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept;
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr size_type
-      rfind(const _CharT* __str, size_type __pos = npos) const noexcept
-      { return this->rfind(__str, __pos, traits_type::length(__str)); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_first_of(basic_string_view __str, size_type __pos = 0) const noexcept
-      { return this->find_first_of(__str._M_str, __pos, __str._M_len); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_first_of(_CharT __c, size_type __pos = 0) const noexcept
-      { return this->find(__c, __pos); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_first_of(const _CharT* __str, size_type __pos,
-      size_type __n) const noexcept;
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr size_type
-      find_first_of(const _CharT* __str, size_type __pos = 0) const noexcept
-      { return this->find_first_of(__str, __pos, traits_type::length(__str)); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_last_of(basic_string_view __str,
-     size_type __pos = npos) const noexcept
-      { return this->find_last_of(__str._M_str, __pos, __str._M_len); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_last_of(_CharT __c, size_type __pos=npos) const noexcept
-      { return this->rfind(__c, __pos); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_last_of(const _CharT* __str, size_type __pos,
-     size_type __n) const noexcept;
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr size_type
-      find_last_of(const _CharT* __str, size_type __pos = npos) const noexcept
-      { return this->find_last_of(__str, __pos, traits_type::length(__str)); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_first_not_of(basic_string_view __str,
-   size_type __pos = 0) const noexcept
-      { return this->find_first_not_of(__str._M_str, __pos, __str._M_len); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept;
-
-      [[nodiscard]]
-      constexpr size_type
-      find_first_not_of(const _CharT* __str,
-   size_type __pos, size_type __n) const noexcept;
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr size_type
-      find_first_not_of(const _CharT* __str, size_type __pos = 0) const noexcept
-      {
- return this->find_first_not_of(__str, __pos,
-           traits_type::length(__str));
-      }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_last_not_of(basic_string_view __str,
-         size_type __pos = npos) const noexcept
-      { return this->find_last_not_of(__str._M_str, __pos, __str._M_len); }
-
-      [[nodiscard]]
-      constexpr size_type
-      find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept;
-
-      [[nodiscard]]
-      constexpr size_type
-      find_last_not_of(const _CharT* __str,
-         size_type __pos, size_type __n) const noexcept;
-
-      [[nodiscard, __gnu__::__nonnull__]]
-      constexpr size_type
-      find_last_not_of(const _CharT* __str,
-         size_type __pos = npos) const noexcept
-      {
- return this->find_last_not_of(__str, __pos,
-          traits_type::length(__str));
-      }
-
-    private:
-
-      static constexpr int
-      _S_compare(size_type __n1, size_type __n2) noexcept
-      {
- using __limits = __gnu_cxx::__int_traits<int>;
- const difference_type __diff = __n1 - __n2;
- if (__diff > __limits::__max)
-   return __limits::__max;
- if (__diff < __limits::__min)
-   return __limits::__min;
- return static_cast<int>(__diff);
-      }
-
-      size_t _M_len;
-      const _CharT* _M_str;
-    };
-# 630 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator==(basic_string_view<_CharT, _Traits> __x,
-        __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
-    noexcept
-    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator==(basic_string_view<_CharT, _Traits> __x,
-        basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator==(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.size() == __y.size() && __x.compare(__y) == 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator!=(basic_string_view<_CharT, _Traits> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return !(__x == __y); }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator!=(basic_string_view<_CharT, _Traits> __x,
-               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
-    noexcept
-    { return !(__x == __y); }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return !(__x == __y); }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator< (basic_string_view<_CharT, _Traits> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) < 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator< (basic_string_view<_CharT, _Traits> __x,
-               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
-    noexcept
-    { return __x.compare(__y) < 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator< (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) < 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator> (basic_string_view<_CharT, _Traits> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) > 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator> (basic_string_view<_CharT, _Traits> __x,
-               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
-    noexcept
-    { return __x.compare(__y) > 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator> (__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) > 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator<=(basic_string_view<_CharT, _Traits> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) <= 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator<=(basic_string_view<_CharT, _Traits> __x,
-               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
-    noexcept
-    { return __x.compare(__y) <= 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator<=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) <= 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator>=(basic_string_view<_CharT, _Traits> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) >= 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator>=(basic_string_view<_CharT, _Traits> __x,
-               __type_identity_t<basic_string_view<_CharT, _Traits>> __y)
-    noexcept
-    { return __x.compare(__y) >= 0; }
-
-  template<typename _CharT, typename _Traits>
-    [[nodiscard]]
-    constexpr bool
-    operator>=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
-               basic_string_view<_CharT, _Traits> __y) noexcept
-    { return __x.compare(__y) >= 0; }
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-        basic_string_view<_CharT,_Traits> __str)
-    { return __ostream_insert(__os, __str.data(), __str.size()); }
-
-
-
-
-  using string_view = basic_string_view<char>;
-  using wstring_view = basic_string_view<wchar_t>;
-
-
-
-  using u16string_view = basic_string_view<char16_t>;
-  using u32string_view = basic_string_view<char32_t>;
-
-
-
-  template<typename _Tp>
-    struct hash;
-
-  template<>
-    struct hash<string_view>
-    : public __hash_base<size_t, string_view>
-    {
-      [[nodiscard]]
-      size_t
-      operator()(const string_view& __str) const noexcept
-      { return std::_Hash_impl::hash(__str.data(), __str.length()); }
-    };
-
-  template<>
-    struct __is_fast_hash<hash<string_view>> : std::false_type
-    { };
-
-  template<>
-    struct hash<wstring_view>
-    : public __hash_base<size_t, wstring_view>
-    {
-      [[nodiscard]]
-      size_t
-      operator()(const wstring_view& __s) const noexcept
-      { return std::_Hash_impl::hash(__s.data(),
-                                     __s.length() * sizeof(wchar_t)); }
-    };
-
-  template<>
-    struct __is_fast_hash<hash<wstring_view>> : std::false_type
-    { };
-# 832 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-  template<>
-    struct hash<u16string_view>
-    : public __hash_base<size_t, u16string_view>
-    {
-      [[nodiscard]]
-      size_t
-      operator()(const u16string_view& __s) const noexcept
-      { return std::_Hash_impl::hash(__s.data(),
-                                     __s.length() * sizeof(char16_t)); }
-    };
-
-  template<>
-    struct __is_fast_hash<hash<u16string_view>> : std::false_type
-    { };
-
-  template<>
-    struct hash<u32string_view>
-    : public __hash_base<size_t, u32string_view>
-    {
-      [[nodiscard]]
-      size_t
-      operator()(const u32string_view& __s) const noexcept
-      { return std::_Hash_impl::hash(__s.data(),
-                                     __s.length() * sizeof(char32_t)); }
-    };
-
-  template<>
-    struct __is_fast_hash<hash<u32string_view>> : std::false_type
-    { };
-
-  inline namespace literals
-  {
-  inline namespace string_view_literals
-  {
-#pragma GCC diagnostic push
-
-    inline constexpr basic_string_view<char>
-    operator""sv(const char* __str, size_t __len) noexcept
-    { return basic_string_view<char>{__str, __len}; }
-
-    inline constexpr basic_string_view<wchar_t>
-    operator""sv(const wchar_t* __str, size_t __len) noexcept
-    { return basic_string_view<wchar_t>{__str, __len}; }
-
-
-
-
-
-
-
-    inline constexpr basic_string_view<char16_t>
-    operator""sv(const char16_t* __str, size_t __len) noexcept
-    { return basic_string_view<char16_t>{__str, __len}; }
-
-    inline constexpr basic_string_view<char32_t>
-    operator""sv(const char32_t* __str, size_t __len) noexcept
-    { return basic_string_view<char32_t>{__str, __len}; }
-
-#pragma GCC diagnostic pop
-  }
-  }
-# 909 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 3
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/string_view.tcc" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/string_view.tcc" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find(const _CharT* __str, size_type __pos, size_type __n) const noexcept
-    {
-                                               ;
-
-      if (__n == 0)
- return __pos <= _M_len ? __pos : npos;
-      if (__pos >= _M_len)
- return npos;
-
-      const _CharT __elem0 = __str[0];
-      const _CharT* __first = _M_str + __pos;
-      const _CharT* const __last = _M_str + _M_len;
-      size_type __len = _M_len - __pos;
-
-      while (__len >= __n)
- {
-
-   __first = traits_type::find(__first, __len - __n + 1, __elem0);
-   if (!__first)
-     return npos;
-
-
-
-   if (traits_type::compare(__first, __str, __n) == 0)
-     return __first - _M_str;
-   __len = __last - ++__first;
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find(_CharT __c, size_type __pos) const noexcept
-    {
-      size_type __ret = npos;
-      if (__pos < this->_M_len)
- {
-   const size_type __n = this->_M_len - __pos;
-   const _CharT* __p = traits_type::find(this->_M_str + __pos, __n, __c);
-   if (__p)
-     __ret = __p - this->_M_str;
- }
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    rfind(const _CharT* __str, size_type __pos, size_type __n) const noexcept
-    {
-                                               ;
-
-      if (__n <= this->_M_len)
- {
-   __pos = std::min(size_type(this->_M_len - __n), __pos);
-   do
-     {
-       if (traits_type::compare(this->_M_str + __pos, __str, __n) == 0)
-  return __pos;
-     }
-   while (__pos-- > 0);
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    rfind(_CharT __c, size_type __pos) const noexcept
-    {
-      size_type __size = this->_M_len;
-      if (__size > 0)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   for (++__size; __size-- > 0; )
-     if (traits_type::eq(this->_M_str[__size], __c))
-       return __size;
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find_first_of(const _CharT* __str, size_type __pos,
-    size_type __n) const noexcept
-    {
-                                               ;
-      for (; __n && __pos < this->_M_len; ++__pos)
- {
-   const _CharT* __p = traits_type::find(__str, __n,
-      this->_M_str[__pos]);
-   if (__p)
-     return __pos;
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find_last_of(const _CharT* __str, size_type __pos,
-   size_type __n) const noexcept
-    {
-                                               ;
-      size_type __size = this->size();
-      if (__size && __n)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   do
-     {
-       if (traits_type::find(__str, __n, this->_M_str[__size]))
-  return __size;
-     }
-   while (__size-- != 0);
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find_first_not_of(const _CharT* __str, size_type __pos,
-        size_type __n) const noexcept
-    {
-                                               ;
-      for (; __pos < this->_M_len; ++__pos)
- if (!traits_type::find(__str, __n, this->_M_str[__pos]))
-   return __pos;
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find_first_not_of(_CharT __c, size_type __pos) const noexcept
-    {
-      for (; __pos < this->_M_len; ++__pos)
- if (!traits_type::eq(this->_M_str[__pos], __c))
-   return __pos;
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find_last_not_of(const _CharT* __str, size_type __pos,
-       size_type __n) const noexcept
-    {
-                                               ;
-      size_type __size = this->_M_len;
-      if (__size)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   do
-     {
-       if (!traits_type::find(__str, __n, this->_M_str[__size]))
-  return __size;
-     }
-   while (__size--);
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits>
-    constexpr typename basic_string_view<_CharT, _Traits>::size_type
-    basic_string_view<_CharT, _Traits>::
-    find_last_not_of(_CharT __c, size_type __pos) const noexcept
-    {
-      size_type __size = this->_M_len;
-      if (__size)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   do
-     {
-       if (!traits_type::eq(this->_M_str[__size], __c))
-  return __size;
-     }
-   while (__size--);
- }
-      return npos;
-    }
-
-
-}
-# 912 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string_view" 2 3
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
-# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-namespace __cxx11 {
-# 93 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    class basic_string
-    {
-# 104 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
- rebind<_CharT>::other _Char_alloc_type;
-
-
-      typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
-
-
-    public:
-      typedef _Traits traits_type;
-      typedef typename _Traits::char_type value_type;
-      typedef _Char_alloc_type allocator_type;
-      typedef typename _Alloc_traits::size_type size_type;
-      typedef typename _Alloc_traits::difference_type difference_type;
-      typedef typename _Alloc_traits::reference reference;
-      typedef typename _Alloc_traits::const_reference const_reference;
-      typedef typename _Alloc_traits::pointer pointer;
-      typedef typename _Alloc_traits::const_pointer const_pointer;
-      typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
-      typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
-       const_iterator;
-      typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-      typedef std::reverse_iterator<iterator> reverse_iterator;
-
-
-      static const size_type npos = static_cast<size_type>(-1);
-
-    protected:
-
-
-
-
-      typedef const_iterator __const_iterator;
-
-
-    private:
-      static pointer
-      _S_allocate(_Char_alloc_type& __a, size_type __n)
-      {
- pointer __p = _Alloc_traits::allocate(__a, __n);
-# 152 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
- return __p;
-      }
-
-
-
-      typedef basic_string_view<_CharT, _Traits> __sv_type;
-
-      template<typename _Tp, typename _Res>
- using _If_sv = enable_if_t<
-   __and_<is_convertible<const _Tp&, __sv_type>,
-   __not_<is_convertible<const _Tp*, const basic_string*>>,
-   __not_<is_convertible<const _Tp&, const _CharT*>>>::value,
-   _Res>;
-
-
-
-      static __sv_type
-      _S_to_string_view(__sv_type __svt) noexcept
-      { return __svt; }
-
-
-
-
-
-      struct __sv_wrapper
-      {
-                      explicit
- __sv_wrapper(__sv_type __sv) noexcept : _M_sv(__sv) { }
-
- __sv_type _M_sv;
-      };
-# 191 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      explicit
-      basic_string(__sv_wrapper __svw, const _Alloc& __a)
-      : basic_string(__svw._M_sv.data(), __svw._M_sv.size(), __a) { }
-
-
-
-      struct _Alloc_hider : allocator_type
-      {
-
-
-
-
-
- _Alloc_hider(pointer __dat, const _Alloc& __a)
- : allocator_type(__a), _M_p(__dat) { }
-
-
- _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
- : allocator_type(std::move(__a)), _M_p(__dat) { }
-
-
- pointer _M_p;
-      };
-
-      _Alloc_hider _M_dataplus;
-      size_type _M_string_length;
-
-      enum { _S_local_capacity = 15 / sizeof(_CharT) };
-
-      union
-      {
- _CharT _M_local_buf[_S_local_capacity + 1];
- size_type _M_allocated_capacity;
-      };
-
-
-      void
-      _M_data(pointer __p)
-      { _M_dataplus._M_p = __p; }
-
-
-      void
-      _M_length(size_type __length)
-      { _M_string_length = __length; }
-
-
-      pointer
-      _M_data() const
-      { return _M_dataplus._M_p; }
-
-
-      pointer
-      _M_local_data()
-      {
-
- return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
-
-
-
-      }
-
-
-      const_pointer
-      _M_local_data() const
-      {
-
- return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
-
-
-
-      }
-
-
-      void
-      _M_capacity(size_type __capacity)
-      { _M_allocated_capacity = __capacity; }
-
-
-      void
-      _M_set_length(size_type __n)
-      {
- _M_length(__n);
- traits_type::assign(_M_data()[__n], _CharT());
-      }
-
-
-      bool
-      _M_is_local() const
-      {
- if (_M_data() == _M_local_data())
-   {
-     if (_M_string_length > _S_local_capacity)
-       __builtin_unreachable();
-     return true;
-   }
- return false;
-      }
-
-
-
-      pointer
-      _M_create(size_type&, size_type);
-
-
-      void
-      _M_dispose()
-      {
- if (!_M_is_local())
-   _M_destroy(_M_allocated_capacity);
-      }
-
-
-      void
-      _M_destroy(size_type __size) throw()
-      { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
-# 332 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _InIterator>
-
-        void
-        _M_construct(_InIterator __beg, _InIterator __end,
-       std::input_iterator_tag);
-
-
-
-      template<typename _FwdIterator>
-
-        void
-        _M_construct(_FwdIterator __beg, _FwdIterator __end,
-       std::forward_iterator_tag);
-
-
-      void
-      _M_construct(size_type __req, _CharT __c);
-
-
-
-      template<bool _Terminated>
-
- void
- _M_construct(const _CharT *__c, size_type __n);
-
-
-      allocator_type&
-      _M_get_allocator()
-      { return _M_dataplus; }
-
-
-      const allocator_type&
-      _M_get_allocator() const
-      { return _M_dataplus; }
-
-
-      __attribute__((__always_inline__))
-      constexpr
-      void
-      _M_init_local_buf() noexcept
-      {
-
-
-
-
-
-      }
-
-      __attribute__((__always_inline__))
-      constexpr
-      pointer
-      _M_use_local_data() noexcept
-      {
-
-
-
- return _M_local_data();
-      }
-
-    private:
-# 408 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      size_type
-      _M_check(size_type __pos, const char* __s) const
-      {
- if (__pos > this->size())
-   __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)"),
-
-       __s, __pos, this->size());
- return __pos;
-      }
-
-
-      void
-      _M_check_length(size_type __n1, size_type __n2, const char* __s) const
-      {
- if (this->max_size() - (this->size() - __n1) < __n2)
-   __throw_length_error((__s));
-      }
-
-
-
-
-      size_type
-      _M_limit(size_type __pos, size_type __off) const noexcept
-      {
- const bool __testoff = __off < this->size() - __pos;
- return __testoff ? __off : this->size() - __pos;
-      }
-
-
-      bool
-      _M_disjunct(const _CharT* __s) const noexcept
-      {
- return (less<const _CharT*>()(__s, _M_data())
-  || less<const _CharT*>()(_M_data() + this->size(), __s));
-      }
-
-
-
-
-      static void
-      _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
-      {
- if (__n == 1)
-   traits_type::assign(*__d, *__s);
- else
-   traits_type::copy(__d, __s, __n);
-      }
-
-
-      static void
-      _S_move(_CharT* __d, const _CharT* __s, size_type __n)
-      {
- if (__n == 1)
-   traits_type::assign(*__d, *__s);
- else
-   traits_type::move(__d, __s, __n);
-      }
-
-
-      static void
-      _S_assign(_CharT* __d, size_type __n, _CharT __c)
-      {
- if (__n == 1)
-   traits_type::assign(*__d, __c);
- else
-   traits_type::assign(__d, __n, __c);
-      }
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-
-
-      template<class _Iterator>
-
-        static void
-        _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
-        {
-
-   using _IterBase = decltype(std::__niter_base(__k1));
-   if constexpr (__or_<is_same<_IterBase, _CharT*>,
-         is_same<_IterBase, const _CharT*>>::value)
-     _S_copy(__p, std::__niter_base(__k1), __k2 - __k1);
-# 502 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-   else
-
-   for (; __k1 != __k2; ++__k1, (void)++__p)
-     traits_type::assign(*__p, static_cast<_CharT>(*__k1));
- }
-#pragma GCC diagnostic pop
-# 550 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      static int
-      _S_compare(size_type __n1, size_type __n2) noexcept
-      {
- const difference_type __d = difference_type(__n1 - __n2);
-
- if (__d > __gnu_cxx::__numeric_traits<int>::__max)
-   return __gnu_cxx::__numeric_traits<int>::__max;
- else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
-   return __gnu_cxx::__numeric_traits<int>::__min;
- else
-   return int(__d);
-      }
-
-
-      void
-      _M_assign(const basic_string&);
-
-
-      void
-      _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
-  size_type __len2);
-
-
-      void
-      _M_erase(size_type __pos, size_type __n);
-
-    public:
-# 585 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string()
-      noexcept(is_nothrow_default_constructible<_Alloc>::value)
-
-
-
-      : _M_dataplus(_M_local_data())
-      {
- _M_init_local_buf();
- _M_set_length(0);
-      }
-
-
-
-
-
-      explicit
-      basic_string(const _Alloc& __a) noexcept
-      : _M_dataplus(_M_local_data(), __a)
-      {
- _M_init_local_buf();
- _M_set_length(0);
-      }
-
-
-
-
-
-
-      basic_string(const basic_string& __str)
-      : _M_dataplus(_M_local_data(),
-      _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
-      {
- _M_construct<true>(__str._M_data(), __str.length());
-      }
-# 629 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string(const basic_string& __str, size_type __pos,
-     const _Alloc& __a = _Alloc())
-      : _M_dataplus(_M_local_data(), __a)
-      {
- const _CharT* __start = __str._M_data()
-   + __str._M_check(__pos, "basic_string::basic_string");
- _M_construct(__start, __start + __str._M_limit(__pos, npos),
-       std::forward_iterator_tag());
-      }
-# 646 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string(const basic_string& __str, size_type __pos,
-     size_type __n)
-      : _M_dataplus(_M_local_data())
-      {
- const _CharT* __start = __str._M_data()
-   + __str._M_check(__pos, "basic_string::basic_string");
- _M_construct(__start, __start + __str._M_limit(__pos, __n),
-       std::forward_iterator_tag());
-      }
-# 664 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string(const basic_string& __str, size_type __pos,
-     size_type __n, const _Alloc& __a)
-      : _M_dataplus(_M_local_data(), __a)
-      {
- const _CharT* __start
-   = __str._M_data() + __str._M_check(__pos, "string::string");
- _M_construct(__start, __start + __str._M_limit(__pos, __n),
-       std::forward_iterator_tag());
-      }
-# 684 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string(const _CharT* __s, size_type __n,
-     const _Alloc& __a = _Alloc())
-      : _M_dataplus(_M_local_data(), __a)
-      {
-
- if (__s == 0 && __n > 0)
-   std::__throw_logic_error(("basic_string: " "construction from null is not valid"));
-
- _M_construct(__s, __s + __n, std::forward_iterator_tag());
-      }
-# 703 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename = _RequireAllocator<_Alloc>>
-
-
-      basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
-      : _M_dataplus(_M_local_data(), __a)
-      {
-
- if (__s == 0)
-   std::__throw_logic_error(("basic_string: " "construction from null is not valid"));
-
- const _CharT* __end = __s + traits_type::length(__s);
- _M_construct(__s, __end, forward_iterator_tag());
-      }
-# 726 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename = _RequireAllocator<_Alloc>>
-
-
-      basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
-      : _M_dataplus(_M_local_data(), __a)
-      { _M_construct(__n, __c); }
-# 742 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string(basic_string&& __str) noexcept
-      : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
-      {
- if (__str._M_is_local())
-   {
-     _M_init_local_buf();
-     traits_type::copy(_M_local_buf, __str._M_local_buf,
-         __str.length() + 1);
-   }
- else
-   {
-     _M_data(__str._M_data());
-     _M_capacity(__str._M_allocated_capacity);
-   }
-
-
-
-
- _M_length(__str.length());
- __str._M_data(__str._M_use_local_data());
- __str._M_set_length(0);
-      }
-# 798 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
-      : _M_dataplus(_M_local_data(), __a)
-      { _M_construct(__l.begin(), __l.end(), std::forward_iterator_tag()); }
-
-
-      basic_string(const basic_string& __str, const _Alloc& __a)
-      : _M_dataplus(_M_local_data(), __a)
-      { _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag()); }
-
-
-      basic_string(basic_string&& __str, const _Alloc& __a)
-      noexcept(_Alloc_traits::_S_always_equal())
-      : _M_dataplus(_M_local_data(), __a)
-      {
- if (__str._M_is_local())
-   {
-     _M_init_local_buf();
-     traits_type::copy(_M_local_buf, __str._M_local_buf,
-         __str.length() + 1);
-     _M_length(__str.length());
-     __str._M_set_length(0);
-   }
- else if (_Alloc_traits::_S_always_equal()
-     || __str.get_allocator() == __a)
-   {
-     _M_data(__str._M_data());
-     _M_length(__str.length());
-     _M_capacity(__str._M_allocated_capacity);
-     __str._M_data(__str._M_use_local_data());
-     __str._M_set_length(0);
-   }
- else
-   _M_construct(__str.begin(), __str.end(), std::forward_iterator_tag());
-      }
-# 846 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _InputIterator,
-        typename = std::_RequireInputIter<_InputIterator>>
-
-
-
-
-        basic_string(_InputIterator __beg, _InputIterator __end,
-       const _Alloc& __a = _Alloc())
- : _M_dataplus(_M_local_data(), __a), _M_string_length(0)
- {
-
-   _M_construct(__beg, __end, std::__iterator_category(__beg));
-
-
-
-
- }
-# 872 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp,
-        typename = enable_if_t<is_convertible_v<const _Tp&, __sv_type>>>
-
- basic_string(const _Tp& __t, size_type __pos, size_type __n,
-       const _Alloc& __a = _Alloc())
- : basic_string(_S_to_string_view(__t).substr(__pos, __n), __a) { }
-
-
-
-
-
-
-      template<typename _Tp, typename = _If_sv<_Tp, void>>
-
- explicit
- basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
- : basic_string(__sv_wrapper(_S_to_string_view(__t)), __a) { }
-
-
-
-
-
-
-      ~basic_string()
-      { _M_dispose(); }
-
-
-
-
-
-
-      basic_string&
-      operator=(const basic_string& __str)
-      {
- return this->assign(__str);
-      }
-
-
-
-
-
-
-      basic_string&
-      operator=(const _CharT* __s)
-      { return this->assign(__s); }
-# 926 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      operator=(_CharT __c)
-      {
- this->assign(1, __c);
- return *this;
-      }
-# 944 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      operator=(basic_string&& __str)
-      noexcept(_Alloc_traits::_S_nothrow_move())
-      {
- const bool __equal_allocs = _Alloc_traits::_S_always_equal()
-   || _M_get_allocator() == __str._M_get_allocator();
- if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
-     && !__equal_allocs)
-   {
-
-     _M_destroy(_M_allocated_capacity);
-     _M_data(_M_local_data());
-     _M_set_length(0);
-   }
-
- std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
-
- if (__str._M_is_local())
-   {
-
-
-
-     if (__builtin_expect(std::__addressof(__str) != this, true))
-       {
-  if (__str.size())
-    this->_S_copy(_M_data(), __str._M_data(), __str.size());
-  _M_set_length(__str.size());
-       }
-   }
- else if (_Alloc_traits::_S_propagate_on_move_assign() || __equal_allocs)
-   {
-
-     pointer __data = nullptr;
-     size_type __capacity;
-     if (!_M_is_local())
-       {
-  if (__equal_allocs)
-    {
-
-      __data = _M_data();
-      __capacity = _M_allocated_capacity;
-    }
-  else
-    _M_destroy(_M_allocated_capacity);
-       }
-
-     _M_data(__str._M_data());
-     _M_length(__str.length());
-     _M_capacity(__str._M_allocated_capacity);
-     if (__data)
-       {
-  __str._M_data(__data);
-  __str._M_capacity(__capacity);
-       }
-     else
-       __str._M_data(__str._M_use_local_data());
-   }
- else
-   _M_assign(__str);
- __str.clear();
- return *this;
-      }
-
-
-
-
-
-
-      basic_string&
-      operator=(initializer_list<_CharT> __l)
-      {
- this->assign(__l.begin(), __l.size());
- return *this;
-      }
-
-
-
-
-
-
-
-     template<typename _Tp>
-
-       _If_sv<_Tp, basic_string&>
-       operator=(const _Tp& __svt)
-       { return this->assign(__svt); }
-
-
-
-
-
-
-      operator __sv_type() const noexcept
-      { return __sv_type(data(), size()); }
-
-
-
-
-
-
-
-      [[__nodiscard__]]
-      iterator
-      begin() noexcept
-      { return iterator(_M_data()); }
-
-
-
-
-
-      [[__nodiscard__]]
-      const_iterator
-      begin() const noexcept
-      { return const_iterator(_M_data()); }
-
-
-
-
-
-      [[__nodiscard__]]
-      iterator
-      end() noexcept
-      { return iterator(_M_data() + this->size()); }
-
-
-
-
-
-      [[__nodiscard__]]
-      const_iterator
-      end() const noexcept
-      { return const_iterator(_M_data() + this->size()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      reverse_iterator
-      rbegin() noexcept
-      { return reverse_iterator(this->end()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      const_reverse_iterator
-      rbegin() const noexcept
-      { return const_reverse_iterator(this->end()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      reverse_iterator
-      rend() noexcept
-      { return reverse_iterator(this->begin()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      const_reverse_iterator
-      rend() const noexcept
-      { return const_reverse_iterator(this->begin()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      const_iterator
-      cbegin() const noexcept
-      { return const_iterator(this->_M_data()); }
-
-
-
-
-
-      [[__nodiscard__]]
-      const_iterator
-      cend() const noexcept
-      { return const_iterator(this->_M_data() + this->size()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      const_reverse_iterator
-      crbegin() const noexcept
-      { return const_reverse_iterator(this->end()); }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      const_reverse_iterator
-      crend() const noexcept
-      { return const_reverse_iterator(this->begin()); }
-
-
-    public:
-
-
-
-      [[__nodiscard__]]
-      size_type
-      size() const noexcept
-      {
- size_type __sz = _M_string_length;
- if (__sz > max_size ())
-   __builtin_unreachable ();
- return __sz;
-      }
-
-
-
-      [[__nodiscard__]]
-      size_type
-      length() const noexcept
-      { return size(); }
-
-
-      [[__nodiscard__]]
-      size_type
-      max_size() const noexcept
-      {
- const size_t __diffmax
-   = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_CharT);
- const size_t __allocmax = _Alloc_traits::max_size(_M_get_allocator());
- return (std::min)(__diffmax, __allocmax) - 1;
-      }
-# 1200 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      void
-      resize(size_type __n, _CharT __c);
-# 1214 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      void
-      resize(size_type __n)
-      { this->resize(__n, _CharT()); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-      void
-      shrink_to_fit() noexcept
-      { reserve(); }
-#pragma GCC diagnostic pop
-# 1266 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Operation>
-                      void
- __resize_and_overwrite(size_type __n, _Operation __op);
-
-
-
-
-
-
-      [[__nodiscard__]]
-      size_type
-      capacity() const noexcept
-      {
- size_t __sz = _M_is_local() ? size_type(_S_local_capacity)
-         : _M_allocated_capacity;
- if (__sz < _S_local_capacity || __sz > max_size ())
-   __builtin_unreachable ();
- return __sz;
-      }
-# 1304 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      void
-      reserve(size_type __res_arg);
-# 1314 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      void
-      reserve();
-
-
-
-
-
-      void
-      clear() noexcept
-      { _M_set_length(0); }
-
-
-
-
-
-      [[__nodiscard__]]
-      bool
-      empty() const noexcept
-      { return _M_string_length == 0; }
-# 1345 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      const_reference
-      operator[] (size_type __pos) const noexcept
-      {
- do { if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1349, __PRETTY_FUNCTION__, "__pos <= size()"); } while (false);
- return _M_data()[__pos];
-      }
-# 1363 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      reference
-      operator[](size_type __pos)
-      {
-
-
- do { if (__builtin_expect(!bool(__pos <= size()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1369, __PRETTY_FUNCTION__, "__pos <= size()"); } while (false);
-
-                                                                   ;
- return _M_data()[__pos];
-      }
-# 1385 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      const_reference
-      at(size_type __n) const
-      {
- if (__n >= this->size())
-   __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)"),
-
-
-       __n, this->size());
- return _M_data()[__n];
-      }
-# 1407 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      reference
-      at(size_type __n)
-      {
- if (__n >= size())
-   __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)"),
-
-
-       __n, this->size());
- return _M_data()[__n];
-      }
-
-
-
-
-
-
-      [[__nodiscard__]]
-      reference
-      front() noexcept
-      {
- do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1428, __PRETTY_FUNCTION__, "!empty()"); } while (false);
- return operator[](0);
-      }
-
-
-
-
-
-      [[__nodiscard__]]
-      const_reference
-      front() const noexcept
-      {
- do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1440, __PRETTY_FUNCTION__, "!empty()"); } while (false);
- return operator[](0);
-      }
-
-
-
-
-
-      [[__nodiscard__]]
-      reference
-      back() noexcept
-      {
- do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1452, __PRETTY_FUNCTION__, "!empty()"); } while (false);
- return operator[](this->size() - 1);
-      }
-
-
-
-
-
-      [[__nodiscard__]]
-      const_reference
-      back() const noexcept
-      {
- do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 1464, __PRETTY_FUNCTION__, "!empty()"); } while (false);
- return operator[](this->size() - 1);
-      }
-# 1476 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      operator+=(const basic_string& __str)
-      { return this->append(__str); }
-
-
-
-
-
-
-
-      basic_string&
-      operator+=(const _CharT* __s)
-      { return this->append(__s); }
-
-
-
-
-
-
-
-      basic_string&
-      operator+=(_CharT __c)
-      {
- this->push_back(__c);
- return *this;
-      }
-# 1510 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      operator+=(initializer_list<_CharT> __l)
-      { return this->append(__l.begin(), __l.size()); }
-# 1521 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- operator+=(const _Tp& __svt)
- { return this->append(__svt); }
-# 1534 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      append(const basic_string& __str)
-      { return this->append(__str._M_data(), __str.size()); }
-# 1552 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      append(const basic_string& __str, size_type __pos, size_type __n = npos)
-      { return this->append(__str._M_data()
-       + __str._M_check(__pos, "basic_string::append"),
-       __str._M_limit(__pos, __n)); }
-# 1565 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      append(const _CharT* __s, size_type __n)
-      {
-                                        ;
- _M_check_length(size_type(0), __n, "basic_string::append");
- return _M_append(__s, __n);
-      }
-
-
-
-
-
-
-
-      basic_string&
-      append(const _CharT* __s)
-      {
-                               ;
- const size_type __n = traits_type::length(__s);
- _M_check_length(size_type(0), __n, "basic_string::append");
- return _M_append(__s, __n);
-      }
-# 1597 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      append(size_type __n, _CharT __c)
-      { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
-# 1660 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      append(initializer_list<_CharT> __l)
-      { return this->append(__l.begin(), __l.size()); }
-# 1674 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<class _InputIterator,
-        typename = std::_RequireInputIter<_InputIterator>>
-
-
-
-
-        basic_string&
-        append(_InputIterator __first, _InputIterator __last)
-        { return this->replace(end(), end(), __first, __last); }
-
-
-
-
-
-
-
-      template<typename _Tp>
-
-        _If_sv<_Tp, basic_string&>
-        append(const _Tp& __svt)
-        {
-          __sv_type __sv = __svt;
-          return this->append(__sv.data(), __sv.size());
-        }
-# 1706 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
-        _If_sv<_Tp, basic_string&>
- append(const _Tp& __svt, size_type __pos, size_type __n = npos)
- {
-   __sv_type __sv = __svt;
-   return _M_append(__sv.data()
-       + std::__sv_check(__sv.size(), __pos, "basic_string::append"),
-       std::__sv_limit(__sv.size(), __pos, __n));
- }
-
-
-
-
-
-
-
-      void
-      push_back(_CharT __c)
-      {
- const size_type __size = this->size();
- if (__size + 1 > this->capacity())
-   this->_M_mutate(__size, size_type(0), 0, size_type(1));
- traits_type::assign(this->_M_data()[__size], __c);
- this->_M_set_length(__size + 1);
-      }
-
-
-
-
-
-
-
-      basic_string&
-      assign(const basic_string& __str)
-      {
-
- if (_Alloc_traits::_S_propagate_on_copy_assign())
-   {
-     if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
-  && _M_get_allocator() != __str._M_get_allocator())
-       {
-
-
-  if (__str.size() <= _S_local_capacity)
-    {
-      _M_destroy(_M_allocated_capacity);
-      _M_data(_M_use_local_data());
-      _M_set_length(0);
-    }
-  else
-    {
-      const auto __len = __str.size();
-      auto __alloc = __str._M_get_allocator();
-
-      auto __ptr = _S_allocate(__alloc, __len + 1);
-      _M_destroy(_M_allocated_capacity);
-      _M_data(__ptr);
-      _M_capacity(__len);
-      _M_set_length(__len);
-    }
-       }
-     std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
-   }
-
- this->_M_assign(__str);
- return *this;
-      }
-# 1785 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      assign(basic_string&& __str)
-      noexcept(_Alloc_traits::_S_nothrow_move())
-      {
-
-
- return *this = std::move(__str);
-      }
-# 1809 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      assign(const basic_string& __str, size_type __pos, size_type __n = npos)
-      { return _M_replace(size_type(0), this->size(), __str._M_data()
-     + __str._M_check(__pos, "basic_string::assign"),
-     __str._M_limit(__pos, __n)); }
-# 1826 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      assign(const _CharT* __s, size_type __n)
-      {
-                                        ;
- return _M_replace(size_type(0), this->size(), __s, __n);
-      }
-# 1843 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      assign(const _CharT* __s)
-      {
-                               ;
- return _M_replace(size_type(0), this->size(), __s,
-     traits_type::length(__s));
-      }
-# 1861 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      assign(size_type __n, _CharT __c)
-      { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
-# 1874 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-      template<class _InputIterator,
-        typename = std::_RequireInputIter<_InputIterator>>
-
- basic_string&
- assign(_InputIterator __first, _InputIterator __last)
- {
-   using _IterTraits = iterator_traits<_InputIterator>;
-   if constexpr (is_pointer<decltype(std::__niter_base(__first))>::value
-     && is_same<typename _IterTraits::value_type,
-         _CharT>::value)
-     {
-                                                      ;
-       return _M_replace(size_type(0), size(),
-    std::__niter_base(__first), __last - __first);
-     }
-# 1901 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-   else
-     return *this = basic_string(__first, __last, get_allocator());
- }
-#pragma GCC diagnostic pop
-# 1938 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      assign(initializer_list<_CharT> __l)
-      {
-
-
- const size_type __n = __l.size();
- if (__n > capacity())
-   *this = basic_string(__l.begin(), __l.end(), get_allocator());
- else
-   {
-     if (__n)
-       _S_copy(_M_data(), __l.begin(), __n);
-     _M_set_length(__n);
-   }
- return *this;
-      }
-# 1962 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- assign(const _Tp& __svt)
- {
-   __sv_type __sv = __svt;
-   return this->assign(__sv.data(), __sv.size());
- }
-# 1978 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- assign(const _Tp& __svt, size_type __pos, size_type __n = npos)
- {
-   __sv_type __sv = __svt;
-   return _M_replace(size_type(0), this->size(),
-       __sv.data()
-       + std::__sv_check(__sv.size(), __pos, "basic_string::assign"),
-       std::__sv_limit(__sv.size(), __pos, __n));
- }
-# 2008 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      iterator
-      insert(const_iterator __p, size_type __n, _CharT __c)
-      {
-                                                         ;
- const size_type __pos = __p - begin();
- this->replace(__p, __p, __n, __c);
- return iterator(this->_M_data() + __pos);
-      }
-# 2050 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<class _InputIterator,
-        typename = std::_RequireInputIter<_InputIterator>>
-
- iterator
-        insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
-        {
-                                                           ;
-   const size_type __pos = __p - begin();
-   this->replace(__p, __p, __beg, __end);
-   return iterator(this->_M_data() + __pos);
- }
-# 2119 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      iterator
-      insert(const_iterator __p, initializer_list<_CharT> __l)
-      { return this->insert(__p, __l.begin(), __l.end()); }
-# 2147 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      insert(size_type __pos1, const basic_string& __str)
-      { return this->replace(__pos1, size_type(0),
-        __str._M_data(), __str.size()); }
-# 2171 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      insert(size_type __pos1, const basic_string& __str,
-      size_type __pos2, size_type __n = npos)
-      { return this->replace(__pos1, size_type(0), __str._M_data()
-        + __str._M_check(__pos2, "basic_string::insert"),
-        __str._M_limit(__pos2, __n)); }
-# 2195 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      insert(size_type __pos, const _CharT* __s, size_type __n)
-      { return this->replace(__pos, size_type(0), __s, __n); }
-# 2215 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      insert(size_type __pos, const _CharT* __s)
-      {
-                               ;
- return this->replace(__pos, size_type(0), __s,
-        traits_type::length(__s));
-      }
-# 2240 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      insert(size_type __pos, size_type __n, _CharT __c)
-      { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
-         size_type(0), __n, __c); }
-# 2259 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      iterator
-      insert(__const_iterator __p, _CharT __c)
-      {
-                                                         ;
- const size_type __pos = __p - begin();
- _M_replace_aux(__pos, size_type(0), size_type(1), __c);
- return iterator(_M_data() + __pos);
-      }
-# 2275 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- insert(size_type __pos, const _Tp& __svt)
- {
-   __sv_type __sv = __svt;
-   return this->insert(__pos, __sv.data(), __sv.size());
- }
-# 2292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- insert(size_type __pos1, const _Tp& __svt,
-        size_type __pos2, size_type __n = npos)
- {
-   __sv_type __sv = __svt;
-   return this->replace(__pos1, size_type(0),
-       __sv.data()
-       + std::__sv_check(__sv.size(), __pos2, "basic_string::insert"),
-       std::__sv_limit(__sv.size(), __pos2, __n));
- }
-# 2322 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      erase(size_type __pos = 0, size_type __n = npos)
-      {
- _M_check(__pos, "basic_string::erase");
- if (__n == npos)
-   this->_M_set_length(__pos);
- else if (__n != 0)
-   this->_M_erase(__pos, _M_limit(__pos, __n));
- return *this;
-      }
-# 2342 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      iterator
-      erase(__const_iterator __position)
-      {
-
-                           ;
- const size_type __pos = __position - begin();
- this->_M_erase(__pos, size_type(1));
- return iterator(_M_data() + __pos);
-      }
-# 2362 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      iterator
-      erase(__const_iterator __first, __const_iterator __last)
-      {
-
-                        ;
-        const size_type __pos = __first - begin();
- if (__last == end())
-   this->_M_set_length(__pos);
- else
-   this->_M_erase(__pos, __last - __first);
- return iterator(this->_M_data() + __pos);
-      }
-# 2382 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      void
-      pop_back() noexcept
-      {
- do { if (__builtin_expect(!bool(!empty()), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h", 2385, __PRETTY_FUNCTION__, "!empty()"); } while (false);
- _M_erase(size() - 1, 1);
-      }
-# 2408 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(size_type __pos, size_type __n, const basic_string& __str)
-      { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
-# 2431 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(size_type __pos1, size_type __n1, const basic_string& __str,
-       size_type __pos2, size_type __n2 = npos)
-      { return this->replace(__pos1, __n1, __str._M_data()
-        + __str._M_check(__pos2, "basic_string::replace"),
-        __str._M_limit(__pos2, __n2)); }
-# 2457 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(size_type __pos, size_type __n1, const _CharT* __s,
-       size_type __n2)
-      {
-                                         ;
- return _M_replace(_M_check(__pos, "basic_string::replace"),
-     _M_limit(__pos, __n1), __s, __n2);
-      }
-# 2483 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(size_type __pos, size_type __n1, const _CharT* __s)
-      {
-                               ;
- return this->replace(__pos, __n1, __s, traits_type::length(__s));
-      }
-# 2508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
-      { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
-         _M_limit(__pos, __n1), __n2, __c); }
-# 2527 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2,
-       const basic_string& __str)
-      { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
-# 2548 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2,
-       const _CharT* __s, size_type __n)
-      {
-
-                      ;
- return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
-      }
-# 2571 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
-      {
-                               ;
- return this->replace(__i1, __i2, __s, traits_type::length(__s));
-      }
-# 2593 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
-       _CharT __c)
-      {
-
-                      ;
- return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
-      }
-# 2618 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<class _InputIterator,
-        typename = std::_RequireInputIter<_InputIterator>>
-
-        basic_string&
-        replace(const_iterator __i1, const_iterator __i2,
-  _InputIterator __k1, _InputIterator __k2)
-        {
-
-                        ;
-                                             ;
-   return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
-        std::__false_type());
- }
-# 2652 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2,
-       _CharT* __k1, _CharT* __k2)
-      {
-
-                      ;
-                                           ;
- return this->replace(__i1 - begin(), __i2 - __i1,
-        __k1, __k2 - __k1);
-      }
-
-
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2,
-       const _CharT* __k1, const _CharT* __k2)
-      {
-
-                      ;
-                                           ;
- return this->replace(__i1 - begin(), __i2 - __i1,
-        __k1, __k2 - __k1);
-      }
-
-
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2,
-       iterator __k1, iterator __k2)
-      {
-
-                      ;
-                                           ;
- return this->replace(__i1 - begin(), __i2 - __i1,
-        __k1.base(), __k2 - __k1);
-      }
-
-
-      basic_string&
-      replace(__const_iterator __i1, __const_iterator __i2,
-       const_iterator __k1, const_iterator __k2)
-      {
-
-                      ;
-                                           ;
- return this->replace(__i1 - begin(), __i2 - __i1,
-        __k1.base(), __k2 - __k1);
-      }
-# 2739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      basic_string& replace(const_iterator __i1, const_iterator __i2,
-       initializer_list<_CharT> __l)
-      { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
-# 2752 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- replace(size_type __pos, size_type __n, const _Tp& __svt)
- {
-   __sv_type __sv = __svt;
-   return this->replace(__pos, __n, __sv.data(), __sv.size());
- }
-# 2770 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- replace(size_type __pos1, size_type __n1, const _Tp& __svt,
-  size_type __pos2, size_type __n2 = npos)
- {
-   __sv_type __sv = __svt;
-   return this->replace(__pos1, __n1,
-       __sv.data()
-       + std::__sv_check(__sv.size(), __pos2, "basic_string::replace"),
-       std::__sv_limit(__sv.size(), __pos2, __n2));
- }
-# 2792 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
-
- _If_sv<_Tp, basic_string&>
- replace(const_iterator __i1, const_iterator __i2, const _Tp& __svt)
- {
-   __sv_type __sv = __svt;
-   return this->replace(__i1 - begin(), __i2 - __i1, __sv);
- }
-
-
-    private:
-      template<class _Integer>
-
- basic_string&
- _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
-       _Integer __n, _Integer __val, __true_type)
-        { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
-
-      template<class _InputIterator>
-
- basic_string&
- _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
-       _InputIterator __k1, _InputIterator __k2,
-       __false_type);
-
-
-      basic_string&
-      _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
-       _CharT __c);
-
-      __attribute__((__noinline__, __noclone__, __cold__)) void
-      _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s,
-        const size_type __len2, const size_type __how_much);
-
-
-      basic_string&
-      _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
-   const size_type __len2);
-
-
-      basic_string&
-      _M_append(const _CharT* __s, size_type __n);
-
-    public:
-# 2850 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      size_type
-      copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
-# 2861 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      void
-      swap(basic_string& __s) noexcept;
-# 2871 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      const _CharT*
-      c_str() const noexcept
-      { return _M_data(); }
-# 2884 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      const _CharT*
-      data() const noexcept
-      { return _M_data(); }
-# 2896 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      _CharT*
-      data() noexcept
-      { return _M_data(); }
-
-
-
-
-
-      [[__nodiscard__]]
-      allocator_type
-      get_allocator() const noexcept
-      { return _M_get_allocator(); }
-# 2922 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find(const _CharT* __s, size_type __pos, size_type __n) const
-      noexcept;
-# 2937 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find(const basic_string& __str, size_type __pos = 0) const
-      noexcept
-      { return this->find(__str.data(), __pos, __str.size()); }
-# 2950 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, size_type>
- find(const _Tp& __svt, size_type __pos = 0) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return this->find(__sv.data(), __pos, __sv.size());
- }
-# 2971 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find(const _CharT* __s, size_type __pos = 0) const noexcept
-      {
-                               ;
- return this->find(__s, __pos, traits_type::length(__s));
-      }
-# 2989 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find(_CharT __c, size_type __pos = 0) const noexcept;
-# 3003 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      rfind(const basic_string& __str, size_type __pos = npos) const
-      noexcept
-      { return this->rfind(__str.data(), __pos, __str.size()); }
-# 3016 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, size_type>
- rfind(const _Tp& __svt, size_type __pos = npos) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return this->rfind(__sv.data(), __pos, __sv.size());
- }
-# 3039 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      rfind(const _CharT* __s, size_type __pos, size_type __n) const
-      noexcept;
-# 3054 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      rfind(const _CharT* __s, size_type __pos = npos) const
-      {
-                               ;
- return this->rfind(__s, __pos, traits_type::length(__s));
-      }
-# 3072 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      rfind(_CharT __c, size_type __pos = npos) const noexcept;
-# 3087 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_of(const basic_string& __str, size_type __pos = 0) const
-      noexcept
-      { return this->find_first_of(__str.data(), __pos, __str.size()); }
-# 3101 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, size_type>
- find_first_of(const _Tp& __svt, size_type __pos = 0) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return this->find_first_of(__sv.data(), __pos, __sv.size());
- }
-# 3124 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
-      noexcept;
-# 3139 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_of(const _CharT* __s, size_type __pos = 0) const
-      noexcept
-      {
-                               ;
- return this->find_first_of(__s, __pos, traits_type::length(__s));
-      }
-# 3160 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_of(_CharT __c, size_type __pos = 0) const noexcept
-      { return this->find(__c, __pos); }
-# 3176 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_of(const basic_string& __str, size_type __pos = npos) const
-      noexcept
-      { return this->find_last_of(__str.data(), __pos, __str.size()); }
-# 3190 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, size_type>
- find_last_of(const _Tp& __svt, size_type __pos = npos) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return this->find_last_of(__sv.data(), __pos, __sv.size());
- }
-# 3213 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
-      noexcept;
-# 3228 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_of(const _CharT* __s, size_type __pos = npos) const
-      noexcept
-      {
-                               ;
- return this->find_last_of(__s, __pos, traits_type::length(__s));
-      }
-# 3249 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_of(_CharT __c, size_type __pos = npos) const noexcept
-      { return this->rfind(__c, __pos); }
-# 3264 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_not_of(const basic_string& __str, size_type __pos = 0) const
-      noexcept
-      { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
-# 3278 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, size_type>
- find_first_not_of(const _Tp& __svt, size_type __pos = 0) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return this->find_first_not_of(__sv.data(), __pos, __sv.size());
- }
-# 3301 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_not_of(const _CharT* __s, size_type __pos,
-   size_type __n) const noexcept;
-# 3316 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_not_of(const _CharT* __s, size_type __pos = 0) const
-      noexcept
-      {
-                               ;
- return this->find_first_not_of(__s, __pos, traits_type::length(__s));
-      }
-# 3335 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_first_not_of(_CharT __c, size_type __pos = 0) const
-      noexcept;
-# 3351 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_not_of(const basic_string& __str, size_type __pos = npos) const
-      noexcept
-      { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
-# 3365 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, size_type>
- find_last_not_of(const _Tp& __svt, size_type __pos = npos) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return this->find_last_not_of(__sv.data(), __pos, __sv.size());
- }
-# 3388 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_not_of(const _CharT* __s, size_type __pos,
-         size_type __n) const noexcept;
-# 3403 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_not_of(const _CharT* __s, size_type __pos = npos) const
-      noexcept
-      {
-                               ;
- return this->find_last_not_of(__s, __pos, traits_type::length(__s));
-      }
-# 3422 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      size_type
-      find_last_not_of(_CharT __c, size_type __pos = npos) const
-      noexcept;
-# 3439 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      basic_string
-      substr(size_type __pos = 0, size_type __n = npos) const
-      { return basic_string(*this,
-       _M_check(__pos, "basic_string::substr"), __n); }
-# 3459 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      int
-      compare(const basic_string& __str) const
-      {
- const size_type __size = this->size();
- const size_type __osize = __str.size();
- const size_type __len = std::min(__size, __osize);
-
- int __r = traits_type::compare(_M_data(), __str.data(), __len);
- if (!__r)
-   __r = _S_compare(__size, __osize);
- return __r;
-      }
-
-
-
-
-
-
-
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, int>
- compare(const _Tp& __svt) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   const size_type __size = this->size();
-   const size_type __osize = __sv.size();
-   const size_type __len = std::min(__size, __osize);
-
-   int __r = traits_type::compare(_M_data(), __sv.data(), __len);
-   if (!__r)
-     __r = _S_compare(__size, __osize);
-   return __r;
- }
-# 3504 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, int>
- compare(size_type __pos, size_type __n, const _Tp& __svt) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return __sv_type(*this).substr(__pos, __n).compare(__sv);
- }
-# 3524 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename _Tp>
- [[__nodiscard__]]
- _If_sv<_Tp, int>
- compare(size_type __pos1, size_type __n1, const _Tp& __svt,
-  size_type __pos2, size_type __n2 = npos) const
- noexcept(is_same<_Tp, __sv_type>::value)
- {
-   __sv_type __sv = __svt;
-   return __sv_type(*this)
-     .substr(__pos1, __n1).compare(__sv.substr(__pos2, __n2));
- }
-# 3556 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      int
-      compare(size_type __pos, size_type __n, const basic_string& __str) const
-      {
- _M_check(__pos, "basic_string::compare");
- __n = _M_limit(__pos, __n);
- const size_type __osize = __str.size();
- const size_type __len = std::min(__n, __osize);
- int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
- if (!__r)
-   __r = _S_compare(__n, __osize);
- return __r;
-      }
-# 3593 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      int
-      compare(size_type __pos1, size_type __n1, const basic_string& __str,
-       size_type __pos2, size_type __n2 = npos) const
-      {
- _M_check(__pos1, "basic_string::compare");
- __str._M_check(__pos2, "basic_string::compare");
- __n1 = _M_limit(__pos1, __n1);
- __n2 = __str._M_limit(__pos2, __n2);
- const size_type __len = std::min(__n1, __n2);
- int __r = traits_type::compare(_M_data() + __pos1,
-           __str.data() + __pos2, __len);
- if (!__r)
-   __r = _S_compare(__n1, __n2);
- return __r;
-      }
-# 3624 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      int
-      compare(const _CharT* __s) const noexcept
-      {
-                               ;
- const size_type __size = this->size();
- const size_type __osize = traits_type::length(__s);
- const size_type __len = std::min(__size, __osize);
- int __r = traits_type::compare(_M_data(), __s, __len);
- if (!__r)
-   __r = _S_compare(__size, __osize);
- return __r;
-      }
-# 3659 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      int
-      compare(size_type __pos, size_type __n1, const _CharT* __s) const
-      {
-                               ;
- _M_check(__pos, "basic_string::compare");
- __n1 = _M_limit(__pos, __n1);
- const size_type __osize = traits_type::length(__s);
- const size_type __len = std::min(__n1, __osize);
- int __r = traits_type::compare(_M_data() + __pos, __s, __len);
- if (!__r)
-   __r = _S_compare(__n1, __osize);
- return __r;
-      }
-# 3698 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      [[__nodiscard__]]
-      int
-      compare(size_type __pos, size_type __n1, const _CharT* __s,
-       size_type __n2) const
-      {
-                                         ;
- _M_check(__pos, "basic_string::compare");
- __n1 = _M_limit(__pos, __n1);
- const size_type __len = std::min(__n1, __n2);
- int __r = traits_type::compare(_M_data() + __pos, __s, __len);
- if (!__r)
-   __r = _S_compare(__n1, __n2);
- return __r;
-      }
-# 3763 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-      template<typename, typename, typename> friend class basic_stringbuf;
-    };
-}
-
-}
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-namespace __cxx11 {
-  template<typename _InputIterator, typename _CharT
-      = typename iterator_traits<_InputIterator>::value_type,
-    typename _Allocator = allocator<_CharT>,
-    typename = _RequireInputIter<_InputIterator>,
-    typename = _RequireAllocator<_Allocator>>
-    basic_string(_InputIterator, _InputIterator, _Allocator = _Allocator())
-      -> basic_string<_CharT, char_traits<_CharT>, _Allocator>;
-
-
-
-  template<typename _CharT, typename _Traits,
-    typename _Allocator = allocator<_CharT>,
-    typename = _RequireAllocator<_Allocator>>
-    basic_string(basic_string_view<_CharT, _Traits>, const _Allocator& = _Allocator())
-      -> basic_string<_CharT, _Traits, _Allocator>;
-
-  template<typename _CharT, typename _Traits,
-    typename _Allocator = allocator<_CharT>,
-    typename = _RequireAllocator<_Allocator>>
-    basic_string(basic_string_view<_CharT, _Traits>,
-   typename basic_string<_CharT, _Traits, _Allocator>::size_type,
-   typename basic_string<_CharT, _Traits, _Allocator>::size_type,
-   const _Allocator& = _Allocator())
-      -> basic_string<_CharT, _Traits, _Allocator>;
-# 3809 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-}
-
-
-  template<typename _Str>
-
-    inline _Str
-    __str_concat(typename _Str::value_type const* __lhs,
-   typename _Str::size_type __lhs_len,
-   typename _Str::value_type const* __rhs,
-   typename _Str::size_type __rhs_len,
-   typename _Str::allocator_type const& __a)
-    {
-      typedef typename _Str::allocator_type allocator_type;
-      typedef __gnu_cxx::__alloc_traits<allocator_type> _Alloc_traits;
-      _Str __str(_Alloc_traits::_S_select_on_copy(__a));
-      __str.reserve(__lhs_len + __rhs_len);
-      __str.append(__lhs, __lhs_len);
-      __str.append(__rhs, __rhs_len);
-      return __str;
-    }
-# 3837 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    {
-      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
-      return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(),
-         __rhs.c_str(), __rhs.size(),
-         __lhs.get_allocator());
-    }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT,_Traits,_Alloc>
-    operator+(const _CharT* __lhs,
-       const basic_string<_CharT,_Traits,_Alloc>& __rhs)
-    {
-                                      ;
-      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
-      return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs),
-         __rhs.c_str(), __rhs.size(),
-         __rhs.get_allocator());
-    }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT,_Traits,_Alloc>
-    operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
-    {
-      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
-      return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1,
-         __rhs.c_str(), __rhs.size(),
-         __rhs.get_allocator());
-    }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       const _CharT* __rhs)
-    {
-                                      ;
-      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
-      return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(),
-         __rhs, _Traits::length(__rhs),
-         __lhs.get_allocator());
-    }
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
-    {
-      typedef basic_string<_CharT, _Traits, _Alloc> _Str;
-      return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(),
-         __builtin_addressof(__rhs), 1,
-         __lhs.get_allocator());
-    }
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
-       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return std::move(__lhs.append(__rhs)); }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
-    { return std::move(__rhs.insert(0, __lhs)); }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
-       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
-    {
-
-      using _Alloc_traits = allocator_traits<_Alloc>;
-      bool __use_rhs = false;
-      if constexpr (typename _Alloc_traits::is_always_equal{})
- __use_rhs = true;
-      else if (__lhs.get_allocator() == __rhs.get_allocator())
- __use_rhs = true;
-      if (__use_rhs)
-
- {
-   const auto __size = __lhs.size() + __rhs.size();
-   if (__size > __lhs.capacity() && __size <= __rhs.capacity())
-     return std::move(__rhs.insert(0, __lhs));
- }
-      return std::move(__lhs.append(__rhs));
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]] [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(const _CharT* __lhs,
-       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
-    { return std::move(__rhs.insert(0, __lhs)); }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(_CharT __lhs,
-       basic_string<_CharT, _Traits, _Alloc>&& __rhs)
-    { return std::move(__rhs.insert(0, 1, __lhs)); }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
-       const _CharT* __rhs)
-    { return std::move(__lhs.append(__rhs)); }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline basic_string<_CharT, _Traits, _Alloc>
-    operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
-       _CharT __rhs)
-    { return std::move(__lhs.append(1, __rhs)); }
-# 4042 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept
-    {
-      return __lhs.size() == __rhs.size()
-        && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size());
-    }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const _CharT* __rhs)
-    {
-      return __lhs.size() == _Traits::length(__rhs)
-        && !_Traits::compare(__lhs.data(), __rhs, __lhs.size());
-    }
-# 4106 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator==(const _CharT* __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return __rhs == __lhs; }
-# 4120 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept
-    { return !(__lhs == __rhs); }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator!=(const _CharT* __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return !(__rhs == __lhs); }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const _CharT* __rhs)
-    { return !(__lhs == __rhs); }
-# 4161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept
-    { return __lhs.compare(__rhs) < 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       const _CharT* __rhs)
-    { return __lhs.compare(__rhs) < 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator<(const _CharT* __lhs,
-       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return __rhs.compare(__lhs) > 0; }
-# 4202 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept
-    { return __lhs.compare(__rhs) > 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-       const _CharT* __rhs)
-    { return __lhs.compare(__rhs) > 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator>(const _CharT* __lhs,
-       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return __rhs.compare(__lhs) < 0; }
-# 4243 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept
-    { return __lhs.compare(__rhs) <= 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const _CharT* __rhs)
-    { return __lhs.compare(__rhs) <= 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator<=(const _CharT* __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return __rhs.compare(__lhs) >= 0; }
-# 4284 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept
-    { return __lhs.compare(__rhs) >= 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
-        const _CharT* __rhs)
-    { return __lhs.compare(__rhs) >= 0; }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    [[__nodiscard__]]
-    inline bool
-    operator>=(const _CharT* __lhs,
-      const basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    { return __rhs.compare(__lhs) <= 0; }
-# 4326 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    inline void
-    swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
-  basic_string<_CharT, _Traits, _Alloc>& __rhs)
-    noexcept(noexcept(__lhs.swap(__rhs)))
-    { __lhs.swap(__rhs); }
-# 4347 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __is,
-        basic_string<_CharT, _Traits, _Alloc>& __str);
-
-  template<>
-    basic_istream<char>&
-    operator>>(basic_istream<char>& __is, basic_string<char>& __str);
-# 4365 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    inline basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os,
-        const basic_string<_CharT, _Traits, _Alloc>& __str)
-    {
-
-
-      return __ostream_insert(__os, __str.data(), __str.size());
-    }
-# 4388 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    basic_istream<_CharT, _Traits>&
-    getline(basic_istream<_CharT, _Traits>& __is,
-     basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
-# 4405 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    inline basic_istream<_CharT, _Traits>&
-    getline(basic_istream<_CharT, _Traits>& __is,
-     basic_string<_CharT, _Traits, _Alloc>& __str)
-    { return std::getline(__is, __str, __is.widen('\n')); }
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    inline basic_istream<_CharT, _Traits>&
-    getline(basic_istream<_CharT, _Traits>&& __is,
-     basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
-    { return std::getline(__is, __str, __delim); }
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    inline basic_istream<_CharT, _Traits>&
-    getline(basic_istream<_CharT, _Traits>&& __is,
-     basic_string<_CharT, _Traits, _Alloc>& __str)
-    { return std::getline(__is, __str); }
-
-
-  template<>
-    basic_istream<char>&
-    getline(basic_istream<char>& __in, basic_string<char>& __str,
-     char __delim);
-
-
-  template<>
-    basic_istream<wchar_t>&
-    getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
-     wchar_t __delim);
-
-
-
-}
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 1 3
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 1 3
-# 80 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wpedantic"
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdlib.h" 1 3
-# 16 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdlib.h" 3
-# 1 "/usr/include/stdlib.h" 1 3 4
-# 26 "/usr/include/stdlib.h" 3 4
-# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
-# 27 "/usr/include/stdlib.h" 2 3 4
-
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3 4
-# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 33 "/usr/include/stdlib.h" 2 3 4
-
-extern "C" {
-
-
-
-
-
-# 1 "/usr/include/bits/waitflags.h" 1 3 4
-# 41 "/usr/include/stdlib.h" 2 3 4
-# 1 "/usr/include/bits/waitstatus.h" 1 3 4
-# 42 "/usr/include/stdlib.h" 2 3 4
-# 59 "/usr/include/stdlib.h" 3 4
-typedef struct
-  {
-    int quot;
-    int rem;
-  } div_t;
-
-
-
-typedef struct
-  {
-    long int quot;
-    long int rem;
-  } ldiv_t;
-
-
-
-
-
-__extension__ typedef struct
-  {
-    long long int quot;
-    long long int rem;
-  } lldiv_t;
-# 98 "/usr/include/stdlib.h" 3 4
-extern size_t __ctype_get_mb_cur_max (void) noexcept (true) ;
-
-
-
-extern double atof (const char *__nptr)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern int atoi (const char *__nptr)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-extern long int atol (const char *__nptr)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-__extension__ extern long long int atoll (const char *__nptr)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-extern double strtod (const char *__restrict __nptr,
-        char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern float strtof (const char *__restrict __nptr,
-       char **__restrict __endptr) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-extern long double strtold (const char *__restrict __nptr,
-       char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 141 "/usr/include/stdlib.h" 3 4
-extern _Float32 strtof32 (const char *__restrict __nptr,
-     char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern _Float64 strtof64 (const char *__restrict __nptr,
-     char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern _Float128 strtof128 (const char *__restrict __nptr,
-       char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern _Float32x strtof32x (const char *__restrict __nptr,
-       char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern _Float64x strtof64x (const char *__restrict __nptr,
-       char **__restrict __endptr)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 177 "/usr/include/stdlib.h" 3 4
-extern long int strtol (const char *__restrict __nptr,
-   char **__restrict __endptr, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-extern unsigned long int strtoul (const char *__restrict __nptr,
-      char **__restrict __endptr, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-__extension__
-extern long long int strtoq (const char *__restrict __nptr,
-        char **__restrict __endptr, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-__extension__
-extern unsigned long long int strtouq (const char *__restrict __nptr,
-           char **__restrict __endptr, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-__extension__
-extern long long int strtoll (const char *__restrict __nptr,
-         char **__restrict __endptr, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-__extension__
-extern unsigned long long int strtoull (const char *__restrict __nptr,
-     char **__restrict __endptr, int __base)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtol")
-
-
-     __attribute__ ((__nonnull__ (1)));
-extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoul")
-
-
-
-     __attribute__ ((__nonnull__ (1)));
-
-__extension__
-extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll")
-
-
-     __attribute__ ((__nonnull__ (1)));
-__extension__
-extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull")
-
-
-
-     __attribute__ ((__nonnull__ (1)));
-
-__extension__
-extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoll")
-
-
-     __attribute__ ((__nonnull__ (1)));
-__extension__
-extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) noexcept (true) __asm__ ("" "__isoc23_strtoull")
-
-
-
-     __attribute__ ((__nonnull__ (1)));
-# 278 "/usr/include/stdlib.h" 3 4
-extern int strfromd (char *__dest, size_t __size, const char *__format,
-       double __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-extern int strfromf (char *__dest, size_t __size, const char *__format,
-       float __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-extern int strfroml (char *__dest, size_t __size, const char *__format,
-       long double __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-# 298 "/usr/include/stdlib.h" 3 4
-extern int strfromf32 (char *__dest, size_t __size, const char * __format,
-         _Float32 __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-
-
-extern int strfromf64 (char *__dest, size_t __size, const char * __format,
-         _Float64 __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-
-
-extern int strfromf128 (char *__dest, size_t __size, const char * __format,
-   _Float128 __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-
-
-extern int strfromf32x (char *__dest, size_t __size, const char * __format,
-   _Float32x __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-
-
-
-extern int strfromf64x (char *__dest, size_t __size, const char * __format,
-   _Float64x __f)
-     noexcept (true) __attribute__ ((__nonnull__ (3)));
-# 340 "/usr/include/stdlib.h" 3 4
-extern long int strtol_l (const char *__restrict __nptr,
-     char **__restrict __endptr, int __base,
-     locale_t __loc) noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
-
-extern unsigned long int strtoul_l (const char *__restrict __nptr,
-        char **__restrict __endptr,
-        int __base, locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
-
-__extension__
-extern long long int strtoll_l (const char *__restrict __nptr,
-    char **__restrict __endptr, int __base,
-    locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
-
-__extension__
-extern unsigned long long int strtoull_l (const char *__restrict __nptr,
-       char **__restrict __endptr,
-       int __base, locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 4)));
-
-
-
-
-
-extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtol_l")
-
-
-
-     __attribute__ ((__nonnull__ (1, 4)));
-extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoul_l")
-
-
-
-
-     __attribute__ ((__nonnull__ (1, 4)));
-__extension__
-extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoll_l")
-
-
-
-
-     __attribute__ ((__nonnull__ (1, 4)));
-__extension__
-extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) noexcept (true) __asm__ ("" "__isoc23_strtoull_l")
-
-
-
-
-     __attribute__ ((__nonnull__ (1, 4)));
-# 415 "/usr/include/stdlib.h" 3 4
-extern double strtod_l (const char *__restrict __nptr,
-   char **__restrict __endptr, locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-extern float strtof_l (const char *__restrict __nptr,
-         char **__restrict __endptr, locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-extern long double strtold_l (const char *__restrict __nptr,
-         char **__restrict __endptr,
-         locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-# 436 "/usr/include/stdlib.h" 3 4
-extern _Float32 strtof32_l (const char *__restrict __nptr,
-       char **__restrict __endptr,
-       locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-extern _Float64 strtof64_l (const char *__restrict __nptr,
-       char **__restrict __endptr,
-       locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-extern _Float128 strtof128_l (const char *__restrict __nptr,
-         char **__restrict __endptr,
-         locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-extern _Float32x strtof32x_l (const char *__restrict __nptr,
-         char **__restrict __endptr,
-         locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-
-
-
-extern _Float64x strtof64x_l (const char *__restrict __nptr,
-         char **__restrict __endptr,
-         locale_t __loc)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 3)));
-# 505 "/usr/include/stdlib.h" 3 4
-extern char *l64a (long int __n) noexcept (true) ;
-
-
-extern long int a64l (const char *__s)
-     noexcept (true) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-# 1 "/usr/include/sys/types.h" 1 3 4
-# 27 "/usr/include/sys/types.h" 3 4
-extern "C" {
-
-
-
-
-
-typedef __u_char u_char;
-typedef __u_short u_short;
-typedef __u_int u_int;
-typedef __u_long u_long;
-typedef __quad_t quad_t;
-typedef __u_quad_t u_quad_t;
-typedef __fsid_t fsid_t;
-
-
-typedef __loff_t loff_t;
-
-
-
-
-typedef __ino_t ino_t;
-
-
-
-
-
-
-typedef __ino64_t ino64_t;
-
-
-
-
-typedef __dev_t dev_t;
-
-
-
-
-typedef __gid_t gid_t;
-
-
-
-
-typedef __mode_t mode_t;
-
-
-
-
-typedef __nlink_t nlink_t;
-
-
-
-
-typedef __uid_t uid_t;
-
-
-
-
-
-typedef __off_t off_t;
-
-
-
-
-
-
-typedef __off64_t off64_t;
-# 103 "/usr/include/sys/types.h" 3 4
-typedef __id_t id_t;
-
-
-
-
-typedef __ssize_t ssize_t;
-
-
-
-
-
-typedef __daddr_t daddr_t;
-typedef __caddr_t caddr_t;
-
-
-
-
-
-typedef __key_t key_t;
-# 134 "/usr/include/sys/types.h" 3 4
-typedef __useconds_t useconds_t;
-
-
-
-typedef __suseconds_t suseconds_t;
-
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 145 "/usr/include/sys/types.h" 2 3 4
-
-
-
-typedef unsigned long int ulong;
-typedef unsigned short int ushort;
-typedef unsigned int uint;
-
-
-
-
-# 1 "/usr/include/bits/stdint-intn.h" 1 3 4
-# 24 "/usr/include/bits/stdint-intn.h" 3 4
-typedef __int8_t int8_t;
-typedef __int16_t int16_t;
-typedef __int32_t int32_t;
-typedef __int64_t int64_t;
-# 156 "/usr/include/sys/types.h" 2 3 4
-
-
-typedef __uint8_t u_int8_t;
-typedef __uint16_t u_int16_t;
-typedef __uint32_t u_int32_t;
-typedef __uint64_t u_int64_t;
-
-
-typedef int register_t __attribute__ ((__mode__ (__word__)));
-# 176 "/usr/include/sys/types.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/endian.h" 1 3 4
-# 14 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/endian.h" 3 4
-# 1 "/usr/include/endian.h" 1 3 4
-# 35 "/usr/include/endian.h" 3 4
-# 1 "/usr/include/bits/byteswap.h" 1 3 4
-# 33 "/usr/include/bits/byteswap.h" 3 4
-static __inline __uint16_t
-__bswap_16 (__uint16_t __bsx)
-{
-
-
-
-  return ((__uint16_t) ((((__bsx) >> 8) & 0xff) | (((__bsx) & 0xff) << 8)));
-
-}
-
-
-
-
-
-
-static __inline __uint32_t
-__bswap_32 (__uint32_t __bsx)
-{
-
-
-
-  return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >> 8) | (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu) << 24));
-
-}
-# 69 "/usr/include/bits/byteswap.h" 3 4
-__extension__ static __inline __uint64_t
-__bswap_64 (__uint64_t __bsx)
-{
-
-
-
-  return ((((__bsx) & 0xff00000000000000ull) >> 56) | (((__bsx) & 0x00ff000000000000ull) >> 40) | (((__bsx) & 0x0000ff0000000000ull) >> 24) | (((__bsx) & 0x000000ff00000000ull) >> 8) | (((__bsx) & 0x00000000ff000000ull) << 8) | (((__bsx) & 0x0000000000ff0000ull) << 24) | (((__bsx) & 0x000000000000ff00ull) << 40) | (((__bsx) & 0x00000000000000ffull) << 56));
-
-}
-# 36 "/usr/include/endian.h" 2 3 4
-# 1 "/usr/include/bits/uintn-identity.h" 1 3 4
-# 32 "/usr/include/bits/uintn-identity.h" 3 4
-static __inline __uint16_t
-__uint16_identity (__uint16_t __x)
-{
-  return __x;
-}
-
-static __inline __uint32_t
-__uint32_identity (__uint32_t __x)
-{
-  return __x;
-}
-
-static __inline __uint64_t
-__uint64_identity (__uint64_t __x)
-{
-  return __x;
-}
-# 37 "/usr/include/endian.h" 2 3 4
-# 15 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/endian.h" 2 3 4
-# 177 "/usr/include/sys/types.h" 2 3 4
-
-
-# 1 "/usr/include/sys/select.h" 1 3 4
-# 30 "/usr/include/sys/select.h" 3 4
-# 1 "/usr/include/bits/select.h" 1 3 4
-# 31 "/usr/include/sys/select.h" 2 3 4
-
-
-# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4
-
-
-
-
-
-
-typedef __sigset_t sigset_t;
-# 34 "/usr/include/sys/select.h" 2 3 4
-# 49 "/usr/include/sys/select.h" 3 4
-typedef long int __fd_mask;
-# 59 "/usr/include/sys/select.h" 3 4
-typedef struct
-  {
-
-
-
-    __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
-
-
-
-
-
-  } fd_set;
-
-
-
-
-
-
-typedef __fd_mask fd_mask;
-# 91 "/usr/include/sys/select.h" 3 4
-extern "C" {
-# 102 "/usr/include/sys/select.h" 3 4
-extern int select (int __nfds, fd_set *__restrict __readfds,
-     fd_set *__restrict __writefds,
-     fd_set *__restrict __exceptfds,
-     struct timeval *__restrict __timeout);
-# 127 "/usr/include/sys/select.h" 3 4
-extern int pselect (int __nfds, fd_set *__restrict __readfds,
-      fd_set *__restrict __writefds,
-      fd_set *__restrict __exceptfds,
-      const struct timespec *__restrict __timeout,
-      const __sigset_t *__restrict __sigmask);
-# 153 "/usr/include/sys/select.h" 3 4
-}
-# 180 "/usr/include/sys/types.h" 2 3 4
-
-
-
-
-
-typedef __blksize_t blksize_t;
-
-
-
-
-
-
-typedef __blkcnt_t blkcnt_t;
-
-
-
-typedef __fsblkcnt_t fsblkcnt_t;
-
-
-
-typedef __fsfilcnt_t fsfilcnt_t;
-# 219 "/usr/include/sys/types.h" 3 4
-typedef __blkcnt64_t blkcnt64_t;
-typedef __fsblkcnt64_t fsblkcnt64_t;
-typedef __fsfilcnt64_t fsfilcnt64_t;
-# 230 "/usr/include/sys/types.h" 3 4
-}
-# 515 "/usr/include/stdlib.h" 2 3 4
-
-
-
-
-
-
-extern long int random (void) noexcept (true);
-
-
-extern void srandom (unsigned int __seed) noexcept (true);
-
-
-
-
-
-extern char *initstate (unsigned int __seed, char *__statebuf,
-   size_t __statelen) noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-
-extern char *setstate (char *__statebuf) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-
-struct random_data
-  {
-    int32_t *fptr;
-    int32_t *rptr;
-    int32_t *state;
-    int rand_type;
-    int rand_deg;
-    int rand_sep;
-    int32_t *end_ptr;
-  };
-
-extern int random_r (struct random_data *__restrict __buf,
-       int32_t *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-extern int srandom_r (unsigned int __seed, struct random_data *__buf)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
-   size_t __statelen,
-   struct random_data *__restrict __buf)
-     noexcept (true) __attribute__ ((__nonnull__ (2, 4)));
-
-extern int setstate_r (char *__restrict __statebuf,
-         struct random_data *__restrict __buf)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-
-
-
-extern int rand (void) noexcept (true);
-
-extern void srand (unsigned int __seed) noexcept (true);
-
-
-
-extern int rand_r (unsigned int *__seed) noexcept (true);
-
-
-
-
-
-
-
-extern double drand48 (void) noexcept (true);
-extern double erand48 (unsigned short int __xsubi[3]) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern long int lrand48 (void) noexcept (true);
-extern long int nrand48 (unsigned short int __xsubi[3])
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern long int mrand48 (void) noexcept (true);
-extern long int jrand48 (unsigned short int __xsubi[3])
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern void srand48 (long int __seedval) noexcept (true);
-extern unsigned short int *seed48 (unsigned short int __seed16v[3])
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-extern void lcong48 (unsigned short int __param[7]) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-struct drand48_data
-  {
-    unsigned short int __x[3];
-    unsigned short int __old_x[3];
-    unsigned short int __c;
-    unsigned short int __init;
-    __extension__ unsigned long long int __a;
-
-  };
-
-
-extern int drand48_r (struct drand48_data *__restrict __buffer,
-        double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-extern int erand48_r (unsigned short int __xsubi[3],
-        struct drand48_data *__restrict __buffer,
-        double *__restrict __result) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int lrand48_r (struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-extern int nrand48_r (unsigned short int __xsubi[3],
-        struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int mrand48_r (struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-extern int jrand48_r (unsigned short int __xsubi[3],
-        struct drand48_data *__restrict __buffer,
-        long int *__restrict __result)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-extern int seed48_r (unsigned short int __seed16v[3],
-       struct drand48_data *__buffer) noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-extern int lcong48_r (unsigned short int __param[7],
-        struct drand48_data *__buffer)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2)));
-
-
-extern __uint32_t arc4random (void)
-     noexcept (true) ;
-
-
-extern void arc4random_buf (void *__buf, size_t __size)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern __uint32_t arc4random_uniform (__uint32_t __upper_bound)
-     noexcept (true) ;
-
-
-
-
-extern void *malloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
-                                         ;
-
-extern void *calloc (size_t __nmemb, size_t __size)
-     noexcept (true) __attribute__ ((__malloc__)) ;
-
-
-
-
-
-
-extern void *realloc (void *__ptr, size_t __size)
-     noexcept (true) __attribute__ ((__warn_unused_result__)) ;
-
-
-extern void free (void *__ptr) noexcept (true);
-
-
-
-
-
-
-
-extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
-     noexcept (true) __attribute__ ((__warn_unused_result__))
-
-                       ;
-
-
-extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
-     noexcept (true) ;
-
-
-
-# 1 "/usr/include/alloca.h" 1 3 4
-# 24 "/usr/include/alloca.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 25 "/usr/include/alloca.h" 2 3 4
-
-extern "C" {
-
-
-
-
-
-extern void *alloca (size_t __size) noexcept (true);
-
-
-
-
-
-}
-# 707 "/usr/include/stdlib.h" 2 3 4
-
-
-
-
-
-extern void *valloc (size_t __size) noexcept (true) __attribute__ ((__malloc__))
-                                         ;
-
-
-
-
-extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
-     noexcept (true) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-extern void *aligned_alloc (size_t __alignment, size_t __size)
-     noexcept (true) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1)))
-                                         ;
-
-
-
-extern void abort (void) noexcept (true) __attribute__ ((__noreturn__)) __attribute__ ((__cold__));
-
-
-
-extern int atexit (void (*__func) (void)) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern "C++" int at_quick_exit (void (*__func) (void))
-     noexcept (true) __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
-# 749 "/usr/include/stdlib.h" 3 4
-extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern void exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
-
-
-
-
-
-extern void quick_exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
-
-
-
-
-
-extern void _Exit (int __status) noexcept (true) __attribute__ ((__noreturn__));
-
-
-
-
-extern char *getenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-extern char *secure_getenv (const char *__name)
-     noexcept (true) __attribute__ ((__nonnull__ (1))) ;
-
-
-
-
-
-
-extern int putenv (char *__string) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern int setenv (const char *__name, const char *__value, int __replace)
-     noexcept (true) __attribute__ ((__nonnull__ (2)));
-
-
-extern int unsetenv (const char *__name) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-extern int clearenv (void) noexcept (true);
-# 814 "/usr/include/stdlib.h" 3 4
-extern char *mktemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 827 "/usr/include/stdlib.h" 3 4
-extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
-# 837 "/usr/include/stdlib.h" 3 4
-extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
-# 849 "/usr/include/stdlib.h" 3 4
-extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ;
-# 859 "/usr/include/stdlib.h" 3 4
-extern int mkstemps64 (char *__template, int __suffixlen)
-     __attribute__ ((__nonnull__ (1))) ;
-# 870 "/usr/include/stdlib.h" 3 4
-extern char *mkdtemp (char *__template) noexcept (true) __attribute__ ((__nonnull__ (1))) ;
-# 881 "/usr/include/stdlib.h" 3 4
-extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
-# 891 "/usr/include/stdlib.h" 3 4
-extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ;
-# 901 "/usr/include/stdlib.h" 3 4
-extern int mkostemps (char *__template, int __suffixlen, int __flags)
-     __attribute__ ((__nonnull__ (1))) ;
-# 913 "/usr/include/stdlib.h" 3 4
-extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
-     __attribute__ ((__nonnull__ (1))) ;
-# 923 "/usr/include/stdlib.h" 3 4
-extern int system (const char *__command) ;
-
-
-
-
-
-extern char *canonicalize_file_name (const char *__name)
-     noexcept (true) __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__))
-                              ;
-# 940 "/usr/include/stdlib.h" 3 4
-extern char *realpath (const char *__restrict __name,
-         char *__restrict __resolved) noexcept (true) ;
-
-
-
-
-
-
-typedef int (*__compar_fn_t) (const void *, const void *);
-
-
-typedef __compar_fn_t comparison_fn_t;
-
-
-
-typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
-
-
-
-
-extern void *bsearch (const void *__key, const void *__base,
-        size_t __nmemb, size_t __size, __compar_fn_t __compar)
-     __attribute__ ((__nonnull__ (1, 2, 5))) ;
-
-
-
-
-
-
-
-extern void qsort (void *__base, size_t __nmemb, size_t __size,
-     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
-
-extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
-       __compar_d_fn_t __compar, void *__arg)
-  __attribute__ ((__nonnull__ (1, 4)));
-
-
-
-
-extern int abs (int __x) noexcept (true) __attribute__ ((__const__)) ;
-extern long int labs (long int __x) noexcept (true) __attribute__ ((__const__)) ;
-
-
-__extension__ extern long long int llabs (long long int __x)
-     noexcept (true) __attribute__ ((__const__)) ;
-
-
-
-
-
-
-extern div_t div (int __numer, int __denom)
-     noexcept (true) __attribute__ ((__const__)) ;
-extern ldiv_t ldiv (long int __numer, long int __denom)
-     noexcept (true) __attribute__ ((__const__)) ;
-
-
-__extension__ extern lldiv_t lldiv (long long int __numer,
-        long long int __denom)
-     noexcept (true) __attribute__ ((__const__)) ;
-# 1012 "/usr/include/stdlib.h" 3 4
-extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
-
-
-
-
-extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign) noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
-
-
-
-
-extern char *gcvt (double __value, int __ndigit, char *__buf)
-     noexcept (true) __attribute__ ((__nonnull__ (3))) ;
-
-
-
-
-extern char *qecvt (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign)
-     noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
-extern char *qfcvt (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign)
-     noexcept (true) __attribute__ ((__nonnull__ (3, 4))) ;
-extern char *qgcvt (long double __value, int __ndigit, char *__buf)
-     noexcept (true) __attribute__ ((__nonnull__ (3))) ;
-
-
-
-
-extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign, char *__restrict __buf,
-     size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
-extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
-     int *__restrict __sign, char *__restrict __buf,
-     size_t __len) noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
-
-extern int qecvt_r (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign,
-      char *__restrict __buf, size_t __len)
-     noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
-extern int qfcvt_r (long double __value, int __ndigit,
-      int *__restrict __decpt, int *__restrict __sign,
-      char *__restrict __buf, size_t __len)
-     noexcept (true) __attribute__ ((__nonnull__ (3, 4, 5)));
-
-
-
-
-
-extern int mblen (const char *__s, size_t __n) noexcept (true);
-
-
-extern int mbtowc (wchar_t *__restrict __pwc,
-     const char *__restrict __s, size_t __n) noexcept (true);
-
-
-extern int wctomb (char *__s, wchar_t __wchar) noexcept (true);
-
-
-
-extern size_t mbstowcs (wchar_t *__restrict __pwcs,
-   const char *__restrict __s, size_t __n) noexcept (true)
-                                      ;
-
-extern size_t wcstombs (char *__restrict __s,
-   const wchar_t *__restrict __pwcs, size_t __n)
-     noexcept (true)
-
-                                    ;
-
-
-
-
-
-
-extern int rpmatch (const char *__response) noexcept (true) __attribute__ ((__nonnull__ (1))) ;
-# 1099 "/usr/include/stdlib.h" 3 4
-extern int getsubopt (char **__restrict __optionp,
-        char *const *__restrict __tokens,
-        char **__restrict __valuep)
-     noexcept (true) __attribute__ ((__nonnull__ (1, 2, 3))) ;
-
-
-
-
-
-
-
-extern int posix_openpt (int __oflag) ;
-
-
-
-
-
-
-
-extern int grantpt (int __fd) noexcept (true);
-
-
-
-extern int unlockpt (int __fd) noexcept (true);
-
-
-
-
-extern char *ptsname (int __fd) noexcept (true) ;
-
-
-
-
-
-
-extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
-     noexcept (true) __attribute__ ((__nonnull__ (2))) ;
-
-
-extern int getpt (void);
-
-
-
-
-
-
-extern int getloadavg (double __loadavg[], int __nelem)
-     noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 1155 "/usr/include/stdlib.h" 3 4
-# 1 "/usr/include/bits/stdlib-float.h" 1 3 4
-# 1156 "/usr/include/stdlib.h" 2 3 4
-# 1167 "/usr/include/stdlib.h" 3 4
-}
-# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdlib.h" 2 3
-
-
-
-
-
-
-
-#pragma omp begin declare target
-
-
-
-#pragma omp end declare target
-# 84 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 2 3
-
-#pragma GCC diagnostic pop
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wpedantic"
-#pragma GCC diagnostic ignored "-Wlong-long"
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
-extern "C++"
-{
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  using ::abs;
-
-
-  inline long
-  abs(long __i) { return __builtin_labs(__i); }
-
-
-
-  inline long long
-  abs(long long __x) { return __builtin_llabs (__x); }
-# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
-  inline constexpr double
-  abs(double __x)
-  { return __builtin_fabs(__x); }
-
-  inline constexpr float
-  abs(float __x)
-  { return __builtin_fabsf(__x); }
-
-  inline constexpr long double
-  abs(long double __x)
-  { return __builtin_fabsl(__x); }
-
-
-
-  __extension__ inline constexpr __int128
-  abs(__int128 __x) { return __x >= 0 ? __x : -__x; }
-# 141 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/std_abs.h" 3
-  __extension__ inline constexpr
-  __float128
-  abs(__float128 __x)
-  {
-
-
-
-    return __builtin_fabsf128(__x);
-
-
-
-
-  }
-
-
-
-}
-}
-
-#pragma GCC diagnostic pop
-# 88 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 2 3
-# 131 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
-extern "C++"
-{
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  using ::div_t;
-  using ::ldiv_t;
-
-  using ::abort;
-
-  using ::aligned_alloc;
-
-  using ::atexit;
-
-
-  using ::at_quick_exit;
-
-
-  using ::atof;
-  using ::atoi;
-  using ::atol;
-  using ::bsearch;
-  using ::calloc;
-  using ::div;
-  using ::exit;
-  using ::free;
-  using ::getenv;
-  using ::labs;
-  using ::ldiv;
-  using ::malloc;
-
-  using ::mblen;
-  using ::mbstowcs;
-  using ::mbtowc;
-
-  using ::qsort;
-
-
-  using ::quick_exit;
-
-
-  using ::rand;
-  using ::realloc;
-  using ::srand;
-  using ::strtod;
-  using ::strtol;
-  using ::strtoul;
-  using ::system;
-
-  using ::wcstombs;
-  using ::wctomb;
-
-
-
-  inline ldiv_t
-  div(long __i, long __j) noexcept { return ldiv(__i, __j); }
-
-
-
-
-}
-# 205 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  using ::lldiv_t;
-
-
-
-
-
-  using ::_Exit;
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-  using ::llabs;
-
-  inline lldiv_t
-  div(long long __n, long long __d)
-  { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
-
-  using ::lldiv;
-#pragma GCC diagnostic pop
-# 240 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
-  using ::atoll;
-  using ::strtoll;
-  using ::strtoull;
-
-  using ::strtof;
-  using ::strtold;
-
-
-}
-
-namespace std
-{
-
-  using ::__gnu_cxx::lldiv_t;
-
-  using ::__gnu_cxx::_Exit;
-
-  using ::__gnu_cxx::llabs;
-  using ::__gnu_cxx::div;
-  using ::__gnu_cxx::lldiv;
-
-  using ::__gnu_cxx::atoll;
-  using ::__gnu_cxx::strtof;
-  using ::__gnu_cxx::strtoll;
-  using ::__gnu_cxx::strtoull;
-  using ::__gnu_cxx::strtold;
-}
-# 284 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdlib" 3
-}
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 1 3
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 1 3
-# 16 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 3
-# 1 "/usr/include/stdio.h" 1 3 4
-# 28 "/usr/include/stdio.h" 3 4
-# 1 "/usr/include/bits/libc-header-start.h" 1 3 4
-# 29 "/usr/include/stdio.h" 2 3 4
-
-extern "C" {
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3 4
-# 93 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3 4
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 108 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3 4
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_null.h" 1 3 4
-# 109 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3 4
-# 35 "/usr/include/stdio.h" 2 3 4
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stdarg.h" 1 3 4
-# 38 "/usr/include/stdio.h" 2 3 4
-
-
-# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4
-# 10 "/usr/include/bits/types/__fpos_t.h" 3 4
-typedef struct _G_fpos_t
-{
-  __off_t __pos;
-  __mbstate_t __state;
-} __fpos_t;
-# 41 "/usr/include/stdio.h" 2 3 4
-# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4
-# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4
-typedef struct _G_fpos64_t
-{
-  __off64_t __pos;
-  __mbstate_t __state;
-} __fpos64_t;
-# 42 "/usr/include/stdio.h" 2 3 4
-
-
-# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4
-# 36 "/usr/include/bits/types/struct_FILE.h" 3 4
-struct _IO_FILE;
-struct _IO_marker;
-struct _IO_codecvt;
-struct _IO_wide_data;
-
-
-
-
-typedef void _IO_lock_t;
-
-
-
-
-
-struct _IO_FILE
-{
-  int _flags;
-
-
-  char *_IO_read_ptr;
-  char *_IO_read_end;
-  char *_IO_read_base;
-  char *_IO_write_base;
-  char *_IO_write_ptr;
-  char *_IO_write_end;
-  char *_IO_buf_base;
-  char *_IO_buf_end;
-
-
-  char *_IO_save_base;
-  char *_IO_backup_base;
-  char *_IO_save_end;
-
-  struct _IO_marker *_markers;
-
-  struct _IO_FILE *_chain;
-
-  int _fileno;
-  int _flags2:24;
-
-  char _short_backupbuf[1];
-  __off_t _old_offset;
-
-
-  unsigned short _cur_column;
-  signed char _vtable_offset;
-  char _shortbuf[1];
-
-  _IO_lock_t *_lock;
-
-
-
-
-
-
-
-  __off64_t _offset;
-
-  struct _IO_codecvt *_codecvt;
-  struct _IO_wide_data *_wide_data;
-  struct _IO_FILE *_freeres_list;
-  void *_freeres_buf;
-  struct _IO_FILE **_prevchain;
-  int _mode;
-
-  char _unused2[15 * sizeof (int) - 5 * sizeof (void *)];
-};
-# 45 "/usr/include/stdio.h" 2 3 4
-
-
-# 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4
-# 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4
-typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
-                                          size_t __nbytes);
-
-
-
-
-
-
-
-typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
-                                           size_t __nbytes);
-
-
-
-
-
-
-
-typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
-
-
-typedef int cookie_close_function_t (void *__cookie);
-
-
-
-
-
-
-typedef struct _IO_cookie_io_functions_t
-{
-  cookie_read_function_t *read;
-  cookie_write_function_t *write;
-  cookie_seek_function_t *seek;
-  cookie_close_function_t *close;
-} cookie_io_functions_t;
-# 48 "/usr/include/stdio.h" 2 3 4
-# 85 "/usr/include/stdio.h" 3 4
-typedef __fpos_t fpos_t;
-
-
-
-
-typedef __fpos64_t fpos64_t;
-# 129 "/usr/include/stdio.h" 3 4
-# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
-# 130 "/usr/include/stdio.h" 2 3 4
-# 149 "/usr/include/stdio.h" 3 4
-extern FILE *stdin;
-extern FILE *stdout;
-extern FILE *stderr;
-
-
-
-
-
-
-extern int remove (const char *__filename) noexcept (true);
-
-extern int rename (const char *__old, const char *__new) noexcept (true);
-
-
-
-extern int renameat (int __oldfd, const char *__old, int __newfd,
-       const char *__new) noexcept (true);
-# 176 "/usr/include/stdio.h" 3 4
-extern int renameat2 (int __oldfd, const char *__old, int __newfd,
-        const char *__new, unsigned int __flags) noexcept (true);
-
-
-
-
-
-
-extern int fclose (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-# 194 "/usr/include/stdio.h" 3 4
-extern FILE *tmpfile (void)
-  __attribute__ ((__malloc__)) ;
-# 206 "/usr/include/stdio.h" 3 4
-extern FILE *tmpfile64 (void)
-   __attribute__ ((__malloc__)) ;
-
-
-
-extern char *tmpnam (char[20]) noexcept (true) ;
-
-
-
-
-extern char *tmpnam_r (char __s[20]) noexcept (true) ;
-# 228 "/usr/include/stdio.h" 3 4
-extern char *tempnam (const char *__dir, const char *__pfx)
-   noexcept (true) __attribute__ ((__malloc__)) ;
-
-
-
-
-
-
-extern int fflush (FILE *__stream);
-# 245 "/usr/include/stdio.h" 3 4
-extern int fflush_unlocked (FILE *__stream);
-# 255 "/usr/include/stdio.h" 3 4
-extern int fcloseall (void);
-# 264 "/usr/include/stdio.h" 3 4
-extern FILE *fopen (const char *__restrict __filename,
-      const char *__restrict __modes)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-extern FILE *freopen (const char *__restrict __filename,
-        const char *__restrict __modes,
-        FILE *__restrict __stream) __attribute__ ((__nonnull__ (3)));
-# 289 "/usr/include/stdio.h" 3 4
-extern FILE *fopen64 (const char *__restrict __filename,
-        const char *__restrict __modes)
-  __attribute__ ((__malloc__)) ;
-extern FILE *freopen64 (const char *__restrict __filename,
-   const char *__restrict __modes,
-   FILE *__restrict __stream) __attribute__ ((__nonnull__ (3)));
-
-
-
-
-extern FILE *fdopen (int __fd, const char *__modes) noexcept (true)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-
-extern FILE *fopencookie (void *__restrict __magic_cookie,
-     const char *__restrict __modes,
-     cookie_io_functions_t __io_funcs) noexcept (true)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
-  noexcept (true) __attribute__ ((__malloc__)) ;
-
-
-
-
-extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) noexcept (true)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-
-extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) noexcept (true)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-
-extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) noexcept (true)
-  __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
-      int __modes, size_t __n) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
-         size_t __size) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern void setlinebuf (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-
-extern int fprintf (FILE *__restrict __stream,
-      const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int printf (const char *__restrict __format, ...);
-
-extern int sprintf (char *__restrict __s,
-      const char *__restrict __format, ...) noexcept (true);
-
-
-
-
-
-extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
-       __gnuc_va_list __arg) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
-
-extern int vsprintf (char *__restrict __s, const char *__restrict __format,
-       __gnuc_va_list __arg) noexcept (true);
-
-
-
-extern int snprintf (char *__restrict __s, size_t __maxlen,
-       const char *__restrict __format, ...)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 3, 4)));
-
-extern int vsnprintf (char *__restrict __s, size_t __maxlen,
-        const char *__restrict __format, __gnuc_va_list __arg)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 3, 0)));
-
-
-
-
-
-extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
-        __gnuc_va_list __arg)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0))) ;
-extern int __asprintf (char **__restrict __ptr,
-         const char *__restrict __fmt, ...)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ;
-extern int asprintf (char **__restrict __ptr,
-       const char *__restrict __fmt, ...)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3))) ;
-
-
-
-
-extern int vdprintf (int __fd, const char *__restrict __fmt,
-       __gnuc_va_list __arg)
-     __attribute__ ((__format__ (__printf__, 2, 0)));
-extern int dprintf (int __fd, const char *__restrict __fmt, ...)
-     __attribute__ ((__format__ (__printf__, 2, 3)));
-
-
-
-
-
-
-
-extern int fscanf (FILE *__restrict __stream,
-     const char *__restrict __format, ...) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int scanf (const char *__restrict __format, ...) ;
-
-extern int sscanf (const char *__restrict __s,
-     const char *__restrict __format, ...) noexcept (true);
-# 442 "/usr/include/stdio.h" 3 4
-extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc23_fscanf") __attribute__ ((__nonnull__ (1)));
-
-
-extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc23_scanf") ;
-
-extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) noexcept (true) __asm__ ("" "__isoc23_sscanf");
-# 490 "/usr/include/stdio.h" 3 4
-extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
-      __gnuc_va_list __arg)
-     __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
-     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
-
-
-extern int vsscanf (const char *__restrict __s,
-      const char *__restrict __format, __gnuc_va_list __arg)
-     noexcept (true) __attribute__ ((__format__ (__scanf__, 2, 0)));
-
-
-
-
-
-
-extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vfscanf")
-
-
-
-     __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__nonnull__ (1)));
-extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc23_vscanf")
-
-     __attribute__ ((__format__ (__scanf__, 1, 0))) ;
-extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) noexcept (true) __asm__ ("" "__isoc23_vsscanf")
-
-
-
-     __attribute__ ((__format__ (__scanf__, 2, 0)));
-# 575 "/usr/include/stdio.h" 3 4
-extern int fgetc (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-extern int getc (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern int getchar (void);
-
-
-
-
-
-
-extern int getc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-extern int getchar_unlocked (void);
-# 600 "/usr/include/stdio.h" 3 4
-extern int fgetc_unlocked (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-# 611 "/usr/include/stdio.h" 3 4
-extern int fputc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
-extern int putc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-extern int putchar (int __c);
-# 627 "/usr/include/stdio.h" 3 4
-extern int fputc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-
-
-extern int putc_unlocked (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
-extern int putchar_unlocked (int __c);
-
-
-
-
-
-
-extern int getw (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-
-
-extern int putw (int __w, FILE *__stream) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-
-
-extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
-                                                          __attribute__ ((__nonnull__ (3)));
-# 677 "/usr/include/stdio.h" 3 4
-extern char *fgets_unlocked (char *__restrict __s, int __n,
-        FILE *__restrict __stream)
-                                                   __attribute__ ((__nonnull__ (3)));
-# 689 "/usr/include/stdio.h" 3 4
-extern __ssize_t __getdelim (char **__restrict __lineptr,
-                             size_t *__restrict __n, int __delimiter,
-                             FILE *__restrict __stream) __attribute__ ((__nonnull__ (4)));
-extern __ssize_t getdelim (char **__restrict __lineptr,
-                           size_t *__restrict __n, int __delimiter,
-                           FILE *__restrict __stream) __attribute__ ((__nonnull__ (4)));
-
-
-extern __ssize_t getline (char **__restrict __lineptr,
-                          size_t *__restrict __n,
-                          FILE *__restrict __stream) __attribute__ ((__nonnull__ (3)));
-
-
-
-
-
-
-
-extern int fputs (const char *__restrict __s, FILE *__restrict __stream)
-  __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-extern int puts (const char *__s);
-
-
-
-
-
-
-extern int ungetc (int __c, FILE *__stream) __attribute__ ((__nonnull__ (2)));
-
-
-
-
-
-
-extern size_t fread (void *__restrict __ptr, size_t __size,
-       size_t __n, FILE *__restrict __stream)
-  __attribute__ ((__nonnull__ (4)));
-
-
-
-
-extern size_t fwrite (const void *__restrict __ptr, size_t __size,
-        size_t __n, FILE *__restrict __s) __attribute__ ((__nonnull__ (4)));
-# 745 "/usr/include/stdio.h" 3 4
-extern int fputs_unlocked (const char *__restrict __s,
-      FILE *__restrict __stream) __attribute__ ((__nonnull__ (2)));
-# 756 "/usr/include/stdio.h" 3 4
-extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
-         size_t __n, FILE *__restrict __stream)
-  __attribute__ ((__nonnull__ (4)));
-extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
-          size_t __n, FILE *__restrict __stream)
-  __attribute__ ((__nonnull__ (4)));
-
-
-
-
-
-
-
-extern int fseek (FILE *__stream, long int __off, int __whence)
-  __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern long int ftell (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern void rewind (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-# 793 "/usr/include/stdio.h" 3 4
-extern int fseeko (FILE *__stream, __off_t __off, int __whence)
-  __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern __off_t ftello (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-# 819 "/usr/include/stdio.h" 3 4
-extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
-  __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int fsetpos (FILE *__stream, const fpos_t *__pos) __attribute__ ((__nonnull__ (1)));
-# 841 "/usr/include/stdio.h" 3 4
-extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence)
-  __attribute__ ((__nonnull__ (1)));
-extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos)
-  __attribute__ ((__nonnull__ (1)));
-extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern void clearerr (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-extern int feof (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-extern int ferror (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern void clearerr_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-extern int feof_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-extern int ferror_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-
-
-extern void perror (const char *__s) __attribute__ ((__cold__));
-
-
-
-
-extern int fileno (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-extern int fileno_unlocked (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 887 "/usr/include/stdio.h" 3 4
-extern int pclose (FILE *__stream) __attribute__ ((__nonnull__ (1)));
-
-
-
-
-
-extern FILE *popen (const char *__command, const char *__modes)
-  __attribute__ ((__malloc__)) ;
-
-
-
-
-
-
-extern char *ctermid (char *__s) noexcept (true)
-                                     ;
-
-
-
-
-
-extern char *cuserid (char *__s)
-                                     ;
-
-
-
-
-struct obstack;
-
-
-extern int obstack_printf (struct obstack *__restrict __obstack,
-      const char *__restrict __format, ...)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 3)));
-extern int obstack_vprintf (struct obstack *__restrict __obstack,
-       const char *__restrict __format,
-       __gnuc_va_list __args)
-     noexcept (true) __attribute__ ((__format__ (__printf__, 2, 0)));
-
-
-
-
-
-
-
-extern void flockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-
-extern int ftrylockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-
-
-extern void funlockfile (FILE *__stream) noexcept (true) __attribute__ ((__nonnull__ (1)));
-# 949 "/usr/include/stdio.h" 3 4
-extern int __uflow (FILE *);
-extern int __overflow (FILE *, int);
-# 973 "/usr/include/stdio.h" 3 4
-}
-# 17 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 2 3
-# 35 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/llvm_libc_wrappers/stdio.h" 3
-#pragma omp begin declare target
-
-             extern FILE *stderr;
-             extern FILE *stdin;
-             extern FILE *stdout;
-
-#pragma omp end declare target
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 2 3
-# 98 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
-namespace std
-{
-  using ::FILE;
-  using ::fpos_t;
-
-  using ::clearerr;
-  using ::fclose;
-  using ::feof;
-  using ::ferror;
-  using ::fflush;
-  using ::fgetc;
-  using ::fgetpos;
-  using ::fgets;
-  using ::fopen;
-  using ::fprintf;
-  using ::fputc;
-  using ::fputs;
-  using ::fread;
-  using ::freopen;
-  using ::fscanf;
-  using ::fseek;
-  using ::fsetpos;
-  using ::ftell;
-  using ::fwrite;
-  using ::getc;
-  using ::getchar;
-
-
-
-
-  using ::perror;
-  using ::printf;
-  using ::putc;
-  using ::putchar;
-  using ::puts;
-  using ::remove;
-  using ::rename;
-  using ::rewind;
-  using ::scanf;
-  using ::setbuf;
-  using ::setvbuf;
-  using ::sprintf;
-  using ::sscanf;
-  using ::tmpfile;
-
-  using ::tmpnam;
-
-  using ::ungetc;
-  using ::vfprintf;
-  using ::vprintf;
-  using ::vsprintf;
-}
-# 159 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
-namespace __gnu_cxx
-{
-# 177 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstdio" 3
-  using ::snprintf;
-  using ::vfscanf;
-  using ::vscanf;
-  using ::vsnprintf;
-  using ::vsscanf;
-
-}
-
-namespace std
-{
-  using ::__gnu_cxx::snprintf;
-  using ::__gnu_cxx::vfscanf;
-  using ::__gnu_cxx::vscanf;
-  using ::__gnu_cxx::vsnprintf;
-  using ::__gnu_cxx::vsscanf;
-}
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cerrno" 1 3
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cerrno" 3
-# 1 "/usr/include/errno.h" 1 3 4
-# 28 "/usr/include/errno.h" 3 4
-# 1 "/usr/include/bits/errno.h" 1 3 4
-# 26 "/usr/include/bits/errno.h" 3 4
-# 1 "/usr/include/linux/errno.h" 1 3 4
-# 1 "/usr/include/asm/errno.h" 1 3 4
-# 1 "/usr/include/asm-generic/errno.h" 1 3 4
-
-
-
-
-# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
-# 6 "/usr/include/asm-generic/errno.h" 2 3 4
-# 2 "/usr/include/asm/errno.h" 2 3 4
-# 2 "/usr/include/linux/errno.h" 2 3 4
-# 27 "/usr/include/bits/errno.h" 2 3 4
-# 29 "/usr/include/errno.h" 2 3 4
-
-
-
-
-
-extern "C" {
-
-
-extern int *__errno_location (void) noexcept (true) __attribute__ ((__const__));
-
-
-
-
-
-
-
-extern char *program_invocation_name;
-extern char *program_invocation_short_name;
-
-# 1 "/usr/include/bits/types/error_t.h" 1 3 4
-# 22 "/usr/include/bits/types/error_t.h" 3 4
-typedef int error_t;
-# 49 "/usr/include/errno.h" 2 3 4
-
-
-
-}
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cerrno" 2 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ext/string_conversions.h" 2 3
-
-namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  template<typename _TRet, typename _Ret = _TRet, typename _CharT,
-    typename... _Base>
-    _Ret
-    __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
-    const char* __name, const _CharT* __str, std::size_t* __idx,
-    _Base... __base)
-    {
-      _Ret __ret;
-
-      _CharT* __endptr;
-
-      struct _Save_errno {
- _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
- ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
- int _M_errno;
-      } const __save_errno;
-
-      struct _Range_chk {
-   static bool
-   _S_chk(_TRet, std::false_type) { return false; }
-
-   static bool
-   _S_chk(_TRet __val, std::true_type)
-   {
-     return __val < _TRet(__numeric_traits<int>::__min)
-       || __val > _TRet(__numeric_traits<int>::__max);
-   }
-      };
-
-      const _TRet __tmp = __convf(__str, &__endptr, __base...);
-
-      if (__endptr == __str)
- std::__throw_invalid_argument(__name);
-      else if ((*__errno_location ()) == 34
-   || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
- std::__throw_out_of_range(__name);
-      else
- __ret = __tmp;
-
-      if (__idx)
- *__idx = __endptr - __str;
-
-      return __ret;
-    }
-
-
-  template<typename _String, typename _CharT = typename _String::value_type>
-    _String
-    __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
-     __builtin_va_list), std::size_t __n,
-   const _CharT* __fmt, ...)
-    {
-
-
-      _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-         * __n));
-
-      __builtin_va_list __args;
-      __builtin_va_start(__args, __fmt);
-
-      const int __len = __convf(__s, __n, __fmt, __args);
-
-      __builtin_va_end(__args);
-
-      return _String(__s, __s + __len);
-    }
-
-
-}
-# 4445 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/charconv.h" 1 3
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/charconv.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-namespace __detail
-{
-
-
-  template<typename _Tp>
-    constexpr bool __integer_to_chars_is_unsigned
-      = ! __gnu_cxx::__int_traits<_Tp>::__is_signed;
-
-
-
-  template<typename _Tp>
-    constexpr unsigned
-    __to_chars_len(_Tp __value, int __base = 10) noexcept
-    {
-
-      static_assert(__integer_to_chars_is_unsigned<_Tp>, "implementation bug");
-
-
-      unsigned __n = 1;
-      const unsigned __b2 = __base * __base;
-      const unsigned __b3 = __b2 * __base;
-      const unsigned long __b4 = __b3 * __base;
-      for (;;)
- {
-   if (__value < (unsigned)__base) return __n;
-   if (__value < __b2) return __n + 1;
-   if (__value < __b3) return __n + 2;
-   if (__value < __b4) return __n + 3;
-   __value /= __b4;
-   __n += 4;
- }
-    }
-
-
-
-
-  template<typename _Tp>
-                         void
-    __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept
-    {
-
-      static_assert(__integer_to_chars_is_unsigned<_Tp>, "implementation bug");
-
-
-      constexpr char __digits[201] =
- "0001020304050607080910111213141516171819"
- "2021222324252627282930313233343536373839"
- "4041424344454647484950515253545556575859"
- "6061626364656667686970717273747576777879"
- "8081828384858687888990919293949596979899";
-      unsigned __pos = __len - 1;
-      while (__val >= 100)
- {
-   auto const __num = (__val % 100) * 2;
-   __val /= 100;
-   __first[__pos] = __digits[__num + 1];
-   __first[__pos - 1] = __digits[__num];
-   __pos -= 2;
- }
-      if (__val >= 10)
- {
-   auto const __num = __val * 2;
-   __first[1] = __digits[__num + 1];
-   __first[0] = __digits[__num];
- }
-      else
- __first[0] = '0' + __val;
-    }
-
-}
-
-}
-# 4446 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-namespace __cxx11 {
-
-
-  inline int
-  stoi(const string& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
-     __idx, __base); }
-
-  inline long
-  stol(const string& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
-        __idx, __base); }
-
-  inline unsigned long
-  stoul(const string& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
-        __idx, __base); }
-
-
-  inline long long
-  stoll(const string& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
-        __idx, __base); }
-
-  inline unsigned long long
-  stoull(const string& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
-        __idx, __base); }
-# 4488 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  inline double
-  stod(const string& __str, size_t* __idx = 0)
-  { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
-
-
-
-  inline float
-  stof(const string& __str, size_t* __idx = 0)
-  { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
-# 4516 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  inline long double
-  stold(const string& __str, size_t* __idx = 0)
-  { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
-# 4528 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  [[__nodiscard__]]
-  inline string
-  to_string(int __val)
-
-  noexcept
-
-  {
-    const bool __neg = __val < 0;
-    const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val;
-    const auto __len = __detail::__to_chars_len(__uval);
-    string __str;
-    __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) {
-      __p[0] = '-';
-      __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval);
-      return __n;
-    });
-    return __str;
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(unsigned __val)
-
-  noexcept
-
-  {
-    const auto __len = __detail::__to_chars_len(__val);
-    string __str;
-    __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) {
-      __detail::__to_chars_10_impl(__p, __n, __val);
-      return __n;
-    });
-    return __str;
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(long __val)
-
-
-
-  {
-    const bool __neg = __val < 0;
-    const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val;
-    const auto __len = __detail::__to_chars_len(__uval);
-    string __str;
-    __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) {
-      __p[0] = '-';
-      __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval);
-      return __n;
-    });
-    return __str;
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(unsigned long __val)
-
-
-
-  {
-    const auto __len = __detail::__to_chars_len(__val);
-    string __str;
-    __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) {
-      __detail::__to_chars_10_impl(__p, __n, __val);
-      return __n;
-    });
-    return __str;
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(long long __val)
-  {
-    const bool __neg = __val < 0;
-    const unsigned long long __uval
-      = __neg ? (unsigned long long)~__val + 1ull : __val;
-    const auto __len = __detail::__to_chars_len(__uval);
-    string __str;
-    __str.__resize_and_overwrite(__neg + __len, [=](char* __p, size_t __n) {
-      __p[0] = '-';
-      __detail::__to_chars_10_impl(__p + (int)__neg, __len, __uval);
-      return __n;
-    });
-    return __str;
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(unsigned long long __val)
-  {
-    const auto __len = __detail::__to_chars_len(__val);
-    string __str;
-    __str.__resize_and_overwrite(__len, [__val](char* __p, size_t __n) {
-      __detail::__to_chars_10_impl(__p, __n, __val);
-      return __n;
-    });
-    return __str;
-  }
-# 4687 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-#pragma GCC diagnostic push
-
-
-
-  [[__nodiscard__]]
-  inline string
-  to_string(float __val)
-  {
-    const int __n =
-      __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
-    return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
-        "%f", __val);
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(double __val)
-  {
-    const int __n =
-      __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
-    return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
-        "%f", __val);
-  }
-
-  [[__nodiscard__]]
-  inline string
-  to_string(long double __val)
-  {
-    const int __n =
-      __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
-    return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
-        "%Lf", __val);
-  }
-#pragma GCC diagnostic pop
-
-
-
-  inline int
-  stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
-     __idx, __base); }
-
-  inline long
-  stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
-        __idx, __base); }
-
-  inline unsigned long
-  stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
-        __idx, __base); }
-
-  inline long long
-  stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
-        __idx, __base); }
-
-  inline unsigned long long
-  stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
-  { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
-        __idx, __base); }
-
-
-  inline float
-  stof(const wstring& __str, size_t* __idx = 0)
-  { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
-
-  inline double
-  stod(const wstring& __str, size_t* __idx = 0)
-  { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
-
-  inline long double
-  stold(const wstring& __str, size_t* __idx = 0)
-  { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-
-  inline void
-  __to_wstring_numeric(const char* __s, int __len, wchar_t* __wout)
-  {
-
-
-    if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-'
-      && wchar_t('.') == L'.' && wchar_t('e') == L'e')
-      {
- for (int __i = 0; __i < __len; ++__i)
-   __wout[__i] = (wchar_t) __s[__i];
-      }
-    else
-      {
- wchar_t __wc[256];
- for (int __i = '0'; __i <= '9'; ++__i)
-   __wc[__i] = L'0' + __i;
- __wc['.'] = L'.';
- __wc['+'] = L'+';
- __wc['-'] = L'-';
- __wc['a'] = L'a';
- __wc['b'] = L'b';
- __wc['c'] = L'c';
- __wc['d'] = L'd';
- __wc['e'] = L'e';
- __wc['f'] = L'f';
- __wc['i'] = L'i';
- __wc['n'] = L'n';
- __wc['p'] = L'p';
- __wc['x'] = L'x';
- __wc['A'] = L'A';
- __wc['B'] = L'B';
- __wc['C'] = L'C';
- __wc['D'] = L'D';
- __wc['E'] = L'E';
- __wc['F'] = L'F';
- __wc['I'] = L'I';
- __wc['N'] = L'N';
- __wc['P'] = L'P';
- __wc['X'] = L'X';
-
- for (int __i = 0; __i < __len; ++__i)
-   __wout[__i] = __wc[(int)__s[__i]];
-      }
-  }
-
-
-
-
-  inline wstring
-
-  __to_wstring_numeric(string_view __s)
-
-
-
-  {
-    if constexpr (wchar_t('0') == L'0' && wchar_t('-') == L'-'
-      && wchar_t('.') == L'.' && wchar_t('e') == L'e')
-      return wstring(__s.data(), __s.data() + __s.size());
-    else
-      {
- wstring __ws;
- auto __f = __s.data();
- __ws.__resize_and_overwrite(__s.size(),
-        [__f] (wchar_t* __to, int __n) {
-          std::__to_wstring_numeric(__f, __n, __to);
-          return __n;
-        });
- return __ws;
-      }
-  }
-#pragma GCC diagnostic pop
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(int __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(unsigned __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(long __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(unsigned long __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(long long __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(unsigned long long __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(float __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(double __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-  [[__nodiscard__]]
-  inline wstring
-  to_wstring(long double __val)
-  { return std::__to_wstring_numeric(std::to_string(__val)); }
-
-
-
-}
-
-}
-
-
-
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-  template<typename _CharT, typename _Alloc,
-    typename _StrT = basic_string<_CharT, char_traits<_CharT>, _Alloc>>
-    struct __str_hash_base
-    : public __hash_base<size_t, _StrT>
-    {
-      [[__nodiscard__]]
-      size_t
-      operator()(const _StrT& __s) const noexcept
-      { return _Hash_impl::hash(__s.data(), __s.length() * sizeof(_CharT)); }
-    };
-
-
-
-  template<typename _Alloc>
-    struct hash<basic_string<char, char_traits<char>, _Alloc>>
-    : public __str_hash_base<char, _Alloc>
-    { };
-
-
-  template<typename _Alloc>
-    struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Alloc>>
-    : public __str_hash_base<wchar_t, _Alloc>
-    { };
-
-  template<typename _Alloc>
-    struct __is_fast_hash<hash<basic_string<wchar_t, char_traits<wchar_t>,
-         _Alloc>>>
-    : std::false_type
-    { };
-# 4944 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  template<typename _Alloc>
-    struct hash<basic_string<char16_t, char_traits<char16_t>, _Alloc>>
-    : public __str_hash_base<char16_t, _Alloc>
-    { };
-
-
-  template<typename _Alloc>
-    struct hash<basic_string<char32_t, char_traits<char32_t>, _Alloc>>
-    : public __str_hash_base<char32_t, _Alloc>
-    { };
-
-
-
-  template<> struct __is_fast_hash<hash<string>> : std::false_type { };
-  template<> struct __is_fast_hash<hash<wstring>> : std::false_type { };
-  template<> struct __is_fast_hash<hash<u16string>> : std::false_type { };
-  template<> struct __is_fast_hash<hash<u32string>> : std::false_type { };
-# 4973 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-  inline namespace literals
-  {
-  inline namespace string_literals
-  {
-#pragma GCC diagnostic push
-
-
-
-
-
-
-
-
-    __attribute ((__abi_tag__ ("cxx11")))
-    inline basic_string<char>
-    operator""s(const char* __str, size_t __len)
-    { return basic_string<char>{__str, __len}; }
-
-    __attribute ((__abi_tag__ ("cxx11")))
-    inline basic_string<wchar_t>
-    operator""s(const wchar_t* __str, size_t __len)
-    { return basic_string<wchar_t>{__str, __len}; }
-# 5003 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.h" 3
-    __attribute ((__abi_tag__ ("cxx11")))
-    inline basic_string<char16_t>
-    operator""s(const char16_t* __str, size_t __len)
-    { return basic_string<char16_t>{__str, __len}; }
-
-    __attribute ((__abi_tag__ ("cxx11")))
-    inline basic_string<char32_t>
-    operator""s(const char32_t* __str, size_t __len)
-    { return basic_string<char32_t>{__str, __len}; }
-
-
-#pragma GCC diagnostic pop
-  }
-  }
-
-
-
-  namespace __detail::__variant
-  {
-    template<typename> struct _Never_valueless_alt;
-
-
-
-    template<typename _Tp, typename _Traits, typename _Alloc>
-      struct _Never_valueless_alt<std::basic_string<_Tp, _Traits, _Alloc>>
-      : __and_<
- is_nothrow_move_constructible<std::basic_string<_Tp, _Traits, _Alloc>>,
- is_nothrow_move_assignable<std::basic_string<_Tp, _Traits, _Alloc>>
- >::type
-      { };
-  }
-
-
-
-}
-# 57 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 1 3
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    const typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::npos;
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    swap(basic_string& __s) noexcept
-    {
-      if (this == std::__addressof(__s))
- return;
-
-      _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
-
-      if (_M_is_local())
- if (__s._M_is_local())
-   {
-     if (length() && __s.length())
-       {
-  _CharT __tmp_data[_S_local_capacity + 1];
-  traits_type::copy(__tmp_data, __s._M_local_buf,
-      __s.length() + 1);
-  traits_type::copy(__s._M_local_buf, _M_local_buf,
-      length() + 1);
-  traits_type::copy(_M_local_buf, __tmp_data,
-      __s.length() + 1);
-       }
-     else if (__s.length())
-       {
-  _M_init_local_buf();
-  traits_type::copy(_M_local_buf, __s._M_local_buf,
-      __s.length() + 1);
-  _M_length(__s.length());
-  __s._M_set_length(0);
-  return;
-       }
-     else if (length())
-       {
-  __s._M_init_local_buf();
-  traits_type::copy(__s._M_local_buf, _M_local_buf,
-      length() + 1);
-  __s._M_length(length());
-  _M_set_length(0);
-  return;
-       }
-   }
- else
-   {
-     const size_type __tmp_capacity = __s._M_allocated_capacity;
-     __s._M_init_local_buf();
-     traits_type::copy(__s._M_local_buf, _M_local_buf,
-         length() + 1);
-     _M_data(__s._M_data());
-     __s._M_data(__s._M_local_buf);
-     _M_capacity(__tmp_capacity);
-   }
-      else
- {
-   const size_type __tmp_capacity = _M_allocated_capacity;
-   if (__s._M_is_local())
-     {
-       _M_init_local_buf();
-       traits_type::copy(_M_local_buf, __s._M_local_buf,
-    __s.length() + 1);
-       __s._M_data(_M_data());
-       _M_data(_M_local_buf);
-     }
-   else
-     {
-       pointer __tmp_ptr = _M_data();
-       _M_data(__s._M_data());
-       __s._M_data(__tmp_ptr);
-       _M_capacity(__s._M_allocated_capacity);
-     }
-   __s._M_capacity(__tmp_capacity);
- }
-
-      const size_type __tmp_length = length();
-      _M_length(__s.length());
-      __s._M_length(__tmp_length);
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::pointer
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_create(size_type& __capacity, size_type __old_capacity)
-    {
-
-
-      if (__capacity > max_size())
- std::__throw_length_error(("basic_string::_M_create"));
-
-
-
-
-      if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
- {
-   __capacity = 2 * __old_capacity;
-
-   if (__capacity > max_size())
-     __capacity = max_size();
- }
-
-
-
-      return _S_allocate(_M_get_allocator(), __capacity + 1);
-    }
-
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    template<typename _InIterator>
-
-      void
-      basic_string<_CharT, _Traits, _Alloc>::
-      _M_construct(_InIterator __beg, _InIterator __end,
-     std::input_iterator_tag)
-      {
- size_type __len = 0;
- size_type __capacity = size_type(_S_local_capacity);
-
- _M_init_local_buf();
-
- while (__beg != __end && __len < __capacity)
-   {
-     _M_local_buf[__len++] = *__beg;
-     ++__beg;
-   }
-
- struct _Guard
- {
-
-   explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
-
-
-   ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
-
-   basic_string* _M_guarded;
- } __guard(this);
-
- while (__beg != __end)
-   {
-     if (__len == __capacity)
-       {
-
-  __capacity = __len + 1;
-  pointer __another = _M_create(__capacity, __len);
-  this->_S_copy(__another, _M_data(), __len);
-  _M_dispose();
-  _M_data(__another);
-  _M_capacity(__capacity);
-       }
-     traits_type::assign(_M_data()[__len++],
-    static_cast<_CharT>(*__beg));
-     ++__beg;
-   }
-
- __guard._M_guarded = 0;
-
- _M_set_length(__len);
-      }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    template<typename _InIterator>
-
-      void
-      basic_string<_CharT, _Traits, _Alloc>::
-      _M_construct(_InIterator __beg, _InIterator __end,
-     std::forward_iterator_tag)
-      {
- size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
-
- if (__dnew > size_type(_S_local_capacity))
-   {
-     _M_data(_M_create(__dnew, size_type(0)));
-     _M_capacity(__dnew);
-   }
- else
-   _M_init_local_buf();
-
-
- struct _Guard
- {
-
-   explicit _Guard(basic_string* __s) : _M_guarded(__s) { }
-
-
-   ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); }
-
-   basic_string* _M_guarded;
- } __guard(this);
-
- this->_S_copy_chars(_M_data(), __beg, __end);
-
- __guard._M_guarded = 0;
-
- _M_set_length(__dnew);
-      }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_construct(size_type __n, _CharT __c)
-    {
-      if (__n > size_type(_S_local_capacity))
- {
-   _M_data(_M_create(__n, size_type(0)));
-   _M_capacity(__n);
- }
-      else
- _M_init_local_buf();
-
-      if (__n)
- this->_S_assign(_M_data(), __n, __c);
-
-      _M_set_length(__n);
-    }
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    template<bool _Terminated>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_construct(const _CharT* __str, size_type __n)
-    {
-      if (__n > size_type(_S_local_capacity))
- {
-   _M_data(_M_create(__n, size_type(0)));
-   _M_capacity(__n);
- }
-      else
- _M_init_local_buf();
-
-      if (__n || _Terminated)
- this->_S_copy(_M_data(), __str, __n + _Terminated);
-
-      _M_length(__n);
-      if (!_Terminated)
- traits_type::assign(_M_data()[__n], _CharT());
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_assign(const basic_string& __str)
-    {
-      if (this != std::__addressof(__str))
- {
-   const size_type __rsize = __str.length();
-   const size_type __capacity = capacity();
-
-   if (__rsize > __capacity)
-     {
-       size_type __new_capacity = __rsize;
-       pointer __tmp = _M_create(__new_capacity, __capacity);
-       _M_dispose();
-       _M_data(__tmp);
-       _M_capacity(__new_capacity);
-     }
-
-   if (__rsize)
-     this->_S_copy(_M_data(), __str._M_data(), __rsize);
-
-   _M_set_length(__rsize);
- }
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    reserve(size_type __res)
-    {
-      const size_type __capacity = capacity();
-
-
-
-
-      if (__res <= __capacity)
- return;
-
-      pointer __tmp = _M_create(__res, __capacity);
-      this->_S_copy(__tmp, _M_data(), length() + 1);
-      _M_dispose();
-      _M_data(__tmp);
-      _M_capacity(__res);
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
-       size_type __len2)
-    {
-      const size_type __how_much = length() - __pos - __len1;
-
-      size_type __new_capacity = length() + __len2 - __len1;
-      pointer __r = _M_create(__new_capacity, capacity());
-
-      if (__pos)
- this->_S_copy(__r, _M_data(), __pos);
-      if (__s && __len2)
- this->_S_copy(__r + __pos, __s, __len2);
-      if (__how_much)
- this->_S_copy(__r + __pos + __len2,
-        _M_data() + __pos + __len1, __how_much);
-
-      _M_dispose();
-      _M_data(__r);
-      _M_capacity(__new_capacity);
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_erase(size_type __pos, size_type __n)
-    {
-      const size_type __how_much = length() - __pos - __n;
-
-      if (__how_much && __n)
- this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
-
-      _M_set_length(length() - __n);
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    reserve()
-    {
-      if (_M_is_local())
- return;
-
-      const size_type __length = length();
-      const size_type __capacity = _M_allocated_capacity;
-
-      if (__length <= size_type(_S_local_capacity))
- {
-   _M_init_local_buf();
-   this->_S_copy(_M_local_buf, _M_data(), __length + 1);
-   _M_destroy(__capacity);
-   _M_data(_M_local_data());
- }
-
-      else if (__length < __capacity)
- try
-   {
-     pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1);
-     this->_S_copy(__tmp, _M_data(), __length + 1);
-     _M_dispose();
-     _M_data(__tmp);
-     _M_capacity(__length);
-   }
- catch (const __cxxabiv1::__forced_unwind&)
-   { throw; }
- catch (...)
-   { }
-
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    void
-    basic_string<_CharT, _Traits, _Alloc>::
-    resize(size_type __n, _CharT __c)
-    {
-      const size_type __size = this->size();
-      if (__size < __n)
- this->append(__n - __size, __c);
-      else if (__n < __size)
- this->_M_set_length(__n);
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    basic_string<_CharT, _Traits, _Alloc>&
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_append(const _CharT* __s, size_type __n)
-    {
-      const size_type __len = __n + this->size();
-
-      if (__len <= this->capacity())
- {
-   if (__n)
-     this->_S_copy(this->_M_data() + this->size(), __s, __n);
- }
-      else
- this->_M_mutate(this->size(), size_type(0), __s, __n);
-
-      this->_M_set_length(__len);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    template<typename _InputIterator>
-
-      basic_string<_CharT, _Traits, _Alloc>&
-      basic_string<_CharT, _Traits, _Alloc>::
-      _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
-     _InputIterator __k1, _InputIterator __k2,
-     std::__false_type)
-      {
-
-
- const basic_string __s(__k1, __k2, this->get_allocator());
- const size_type __n1 = __i2 - __i1;
- return _M_replace(__i1 - begin(), __n1, __s._M_data(),
-     __s.size());
-      }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    basic_string<_CharT, _Traits, _Alloc>&
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
-     _CharT __c)
-    {
-      _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
-
-      const size_type __old_size = this->size();
-      const size_type __new_size = __old_size + __n2 - __n1;
-
-      if (__new_size <= this->capacity())
- {
-   pointer __p = this->_M_data() + __pos1;
-
-   const size_type __how_much = __old_size - __pos1 - __n1;
-   if (__how_much && __n1 != __n2)
-     this->_S_move(__p + __n2, __p + __n1, __how_much);
- }
-      else
- this->_M_mutate(__pos1, __n1, 0, __n2);
-
-      if (__n2)
- this->_S_assign(this->_M_data() + __pos1, __n2, __c);
-
-      this->_M_set_length(__new_size);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    __attribute__((__noinline__, __noclone__, __cold__)) void
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s,
-      const size_type __len2, const size_type __how_much)
-    {
-
-      if (__len2 && __len2 <= __len1)
- this->_S_move(__p, __s, __len2);
-      if (__how_much && __len1 != __len2)
- this->_S_move(__p + __len2, __p + __len1, __how_much);
-      if (__len2 > __len1)
- {
-   if (__s + __len2 <= __p + __len1)
-     this->_S_move(__p, __s, __len2);
-   else if (__s >= __p + __len1)
-     {
-
-
-       const size_type __poff = (__s - __p) + (__len2 - __len1);
-       this->_S_copy(__p, __p + __poff, __len2);
-     }
-   else
-     {
-       const size_type __nleft = (__p + __len1) - __s;
-       this->_S_move(__p, __s, __nleft);
-       this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft);
-     }
- }
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    basic_string<_CharT, _Traits, _Alloc>&
-    basic_string<_CharT, _Traits, _Alloc>::
-    _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
-        const size_type __len2)
-    {
-      _M_check_length(__len1, __len2, "basic_string::_M_replace");
-
-      const size_type __old_size = this->size();
-      const size_type __new_size = __old_size + __len2 - __len1;
-
-      if (__new_size <= this->capacity())
- {
-   pointer __p = this->_M_data() + __pos;
-
-   const size_type __how_much = __old_size - __pos - __len1;
-# 568 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
-   if (__builtin_expect(_M_disjunct(__s), true))
-     {
-       if (__how_much && __len1 != __len2)
-  this->_S_move(__p + __len2, __p + __len1, __how_much);
-       if (__len2)
-  this->_S_copy(__p, __s, __len2);
-     }
-   else
-     _M_replace_cold(__p, __len1, __s, __len2, __how_much);
- }
-      else
- this->_M_mutate(__pos, __len1, __s, __len2);
-
-      this->_M_set_length(__new_size);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    copy(_CharT* __s, size_type __n, size_type __pos) const
-    {
-      _M_check(__pos, "basic_string::copy");
-      __n = _M_limit(__pos, __n);
-                                             ;
-      if (__n)
- _S_copy(__s, _M_data() + __pos, __n);
-
-      return __n;
-    }
-# 611 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-  template<typename _Operation>
-                         void
-    basic_string<_CharT, _Traits, _Alloc>::
-
-
-
-    __resize_and_overwrite(const size_type __n, _Operation __op)
-
-    {
-      reserve(__n);
-      _CharT* const __p = _M_data();
-
-
-
-
-      struct _Terminator {
-                      ~_Terminator() { _M_this->_M_set_length(_M_r); }
- basic_string* _M_this;
- size_type _M_r;
-      };
-      _Terminator __term{this, 0};
-      auto __r = std::move(__op)(__p + 0, __n + 0);
-
-
-
-      static_assert(__gnu_cxx::__is_integer_nonstrict<decltype(__r)>::__value,
-      "resize_and_overwrite operation must return an integer");
-
-                                                              ;
-      __term._M_r = size_type(__r);
-      if (__term._M_r > __n)
- __builtin_unreachable();
-    }
-# 654 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find(const _CharT* __s, size_type __pos, size_type __n) const
-    noexcept
-    {
-                                             ;
-      const size_type __size = this->size();
-
-      if (__n == 0)
- return __pos <= __size ? __pos : npos;
-      if (__pos >= __size)
- return npos;
-
-      const _CharT __elem0 = __s[0];
-      const _CharT* const __data = data();
-      const _CharT* __first = __data + __pos;
-      const _CharT* const __last = __data + __size;
-      size_type __len = __size - __pos;
-
-      while (__len >= __n)
- {
-
-   __first = traits_type::find(__first, __len - __n + 1, __elem0);
-   if (!__first)
-     return npos;
-
-
-
-   if (traits_type::compare(__first, __s, __n) == 0)
-     return __first - __data;
-   __len = __last - ++__first;
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find(_CharT __c, size_type __pos) const noexcept
-    {
-      size_type __ret = npos;
-      const size_type __size = this->size();
-      if (__pos < __size)
- {
-   const _CharT* __data = _M_data();
-   const size_type __n = __size - __pos;
-   const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
-   if (__p)
-     __ret = __p - __data;
- }
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    rfind(const _CharT* __s, size_type __pos, size_type __n) const
-    noexcept
-    {
-                                             ;
-      const size_type __size = this->size();
-      if (__n <= __size)
- {
-   __pos = std::min(size_type(__size - __n), __pos);
-   const _CharT* __data = _M_data();
-   do
-     {
-       if (traits_type::compare(__data + __pos, __s, __n) == 0)
-  return __pos;
-     }
-   while (__pos-- > 0);
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    rfind(_CharT __c, size_type __pos) const noexcept
-    {
-      size_type __size = this->size();
-      if (__size)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   for (++__size; __size-- > 0; )
-     if (traits_type::eq(_M_data()[__size], __c))
-       return __size;
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
-    noexcept
-    {
-                                             ;
-      for (; __n && __pos < this->size(); ++__pos)
- {
-   const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
-   if (__p)
-     return __pos;
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
-    noexcept
-    {
-                                             ;
-      size_type __size = this->size();
-      if (__size && __n)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   do
-     {
-       if (traits_type::find(__s, __n, _M_data()[__size]))
-  return __size;
-     }
-   while (__size-- != 0);
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
-    noexcept
-    {
-                                             ;
-      for (; __pos < this->size(); ++__pos)
- if (!traits_type::find(__s, __n, _M_data()[__pos]))
-   return __pos;
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find_first_not_of(_CharT __c, size_type __pos) const noexcept
-    {
-      for (; __pos < this->size(); ++__pos)
- if (!traits_type::eq(_M_data()[__pos], __c))
-   return __pos;
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
-    noexcept
-    {
-                                             ;
-      size_type __size = this->size();
-      if (__size)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   do
-     {
-       if (!traits_type::find(__s, __n, _M_data()[__size]))
-  return __size;
-     }
-   while (__size--);
- }
-      return npos;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-
-    typename basic_string<_CharT, _Traits, _Alloc>::size_type
-    basic_string<_CharT, _Traits, _Alloc>::
-    find_last_not_of(_CharT __c, size_type __pos) const noexcept
-    {
-      size_type __size = this->size();
-      if (__size)
- {
-   if (--__size > __pos)
-     __size = __pos;
-   do
-     {
-       if (!traits_type::eq(_M_data()[__size], __c))
-  return __size;
-     }
-   while (__size--);
- }
-      return npos;
-    }
-
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __in,
-        basic_string<_CharT, _Traits, _Alloc>& __str)
-    {
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
-      typedef typename __istream_type::ios_base __ios_base;
-      typedef typename __istream_type::int_type __int_type;
-      typedef typename __string_type::size_type __size_type;
-      typedef ctype<_CharT> __ctype_type;
-      typedef typename __ctype_type::ctype_base __ctype_base;
-
-      __size_type __extracted = 0;
-      typename __ios_base::iostate __err = __ios_base::goodbit;
-      typename __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
- {
-   try
-     {
-
-       __str.erase();
-       _CharT __buf[128];
-       __size_type __len = 0;
-       const streamsize __w = __in.width();
-       const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
-                                : __str.max_size();
-       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
-       const __int_type __eof = _Traits::eof();
-       __int_type __c = __in.rdbuf()->sgetc();
-
-       while (__extracted < __n
-       && !_Traits::eq_int_type(__c, __eof)
-       && !__ct.is(__ctype_base::space,
-     _Traits::to_char_type(__c)))
-  {
-    if (__len == sizeof(__buf) / sizeof(_CharT))
-      {
-        __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
-        __len = 0;
-      }
-    __buf[__len++] = _Traits::to_char_type(__c);
-    ++__extracted;
-    __c = __in.rdbuf()->snextc();
-  }
-       __str.append(__buf, __len);
-
-       if (__extracted < __n && _Traits::eq_int_type(__c, __eof))
-  __err |= __ios_base::eofbit;
-       __in.width(0);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __in._M_setstate(__ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     {
-
-
-
-       __in._M_setstate(__ios_base::badbit);
-     }
- }
-
-      if (!__extracted)
- __err |= __ios_base::failbit;
-      if (__err)
- __in.setstate(__err);
-      return __in;
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    basic_istream<_CharT, _Traits>&
-    getline(basic_istream<_CharT, _Traits>& __in,
-     basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
-    {
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
-      typedef typename __istream_type::ios_base __ios_base;
-      typedef typename __istream_type::int_type __int_type;
-      typedef typename __string_type::size_type __size_type;
-
-      __size_type __extracted = 0;
-      const __size_type __n = __str.max_size();
-      typename __ios_base::iostate __err = __ios_base::goodbit;
-      typename __istream_type::sentry __cerb(__in, true);
-      if (__cerb)
- {
-   try
-     {
-       __str.erase();
-       const __int_type __idelim = _Traits::to_int_type(__delim);
-       const __int_type __eof = _Traits::eof();
-       __int_type __c = __in.rdbuf()->sgetc();
-
-       while (__extracted < __n
-       && !_Traits::eq_int_type(__c, __eof)
-       && !_Traits::eq_int_type(__c, __idelim))
-  {
-    __str += _Traits::to_char_type(__c);
-    ++__extracted;
-    __c = __in.rdbuf()->snextc();
-  }
-
-       if (_Traits::eq_int_type(__c, __eof))
-  __err |= __ios_base::eofbit;
-       else if (_Traits::eq_int_type(__c, __idelim))
-  {
-    ++__extracted;
-    __in.rdbuf()->sbumpc();
-  }
-       else
-  __err |= __ios_base::failbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __in._M_setstate(__ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     {
-
-
-
-       __in._M_setstate(__ios_base::badbit);
-     }
- }
-      if (!__extracted)
- __err |= __ios_base::failbit;
-      if (__err)
- __in.setstate(__err);
-      return __in;
-    }
-# 1021 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
-  extern template
-    basic_istream<char>&
-    operator>>(basic_istream<char>&, string&);
-  extern template
-    basic_ostream<char>&
-    operator<<(basic_ostream<char>&, const string&);
-  extern template
-    basic_istream<char>&
-    getline(basic_istream<char>&, string&, char);
-  extern template
-    basic_istream<char>&
-    getline(basic_istream<char>&, string&);
-# 1047 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_string.tcc" 3
-  extern template
-    basic_istream<wchar_t>&
-    operator>>(basic_istream<wchar_t>&, wstring&);
-  extern template
-    basic_ostream<wchar_t>&
-    operator<<(basic_ostream<wchar_t>&, const wstring&);
-  extern template
-    basic_istream<wchar_t>&
-    getline(basic_istream<wchar_t>&, wstring&, wchar_t);
-  extern template
-    basic_istream<wchar_t>&
-    getline(basic_istream<wchar_t>&, wstring&);
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 58 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-# 69 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 70 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 1 3
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 1 3
-# 88 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_ptrdiff_t.h" 1 3
-# 89 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-
-
-
-
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_size_t.h" 1 3
-# 94 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 103 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_wchar_t.h" 1 3
-# 104 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 113 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_nullptr_t.h" 1 3
-# 114 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 128 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 3
-# 1 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/__stddef_offsetof.h" 1 3
-# 129 "/home/psimmons/work/llvm-project/llvm/build/lib/clang/23/include/stddef.h" 2 3
-# 53 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 2 3
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wpedantic"
-
-extern "C++"
-{
-
-namespace std
-{
-
-  using ::max_align_t;
-}
-
-
-
-namespace std
-{
-
-
-  enum class byte : unsigned char {};
-
-  template<typename _IntegerType> struct __byte_operand { };
-  template<> struct __byte_operand<bool> { using __type = byte; };
-  template<> struct __byte_operand<char> { using __type = byte; };
-  template<> struct __byte_operand<signed char> { using __type = byte; };
-  template<> struct __byte_operand<unsigned char> { using __type = byte; };
-  template<> struct __byte_operand<wchar_t> { using __type = byte; };
-
-
-
-  template<> struct __byte_operand<char16_t> { using __type = byte; };
-  template<> struct __byte_operand<char32_t> { using __type = byte; };
-  template<> struct __byte_operand<short> { using __type = byte; };
-  template<> struct __byte_operand<unsigned short> { using __type = byte; };
-  template<> struct __byte_operand<int> { using __type = byte; };
-  template<> struct __byte_operand<unsigned int> { using __type = byte; };
-  template<> struct __byte_operand<long> { using __type = byte; };
-  template<> struct __byte_operand<unsigned long> { using __type = byte; };
-  template<> struct __byte_operand<long long> { using __type = byte; };
-  template<> struct __byte_operand<unsigned long long> { using __type = byte; };
-
-  template<> struct __byte_operand<__int128>
-  { using __type = byte; };
-  template<> struct __byte_operand<unsigned __int128>
-  { using __type = byte; };
-# 114 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cstddef" 3
-  template<typename _IntegerType>
-    struct __byte_operand<const _IntegerType>
-    : __byte_operand<_IntegerType> { };
-  template<typename _IntegerType>
-    struct __byte_operand<volatile _IntegerType>
-    : __byte_operand<_IntegerType> { };
-  template<typename _IntegerType>
-    struct __byte_operand<const volatile _IntegerType>
-    : __byte_operand<_IntegerType> { };
-
-  template<typename _IntegerType>
-    using __byte_op_t = typename __byte_operand<_IntegerType>::__type;
-
-  template<typename _IntegerType>
-    [[__gnu__::__always_inline__]]
-    constexpr __byte_op_t<_IntegerType>
-    operator<<(byte __b, _IntegerType __shift) noexcept
-    { return (byte)(unsigned char)((unsigned)__b << __shift); }
-
-  template<typename _IntegerType>
-    [[__gnu__::__always_inline__]]
-    constexpr __byte_op_t<_IntegerType>
-    operator>>(byte __b, _IntegerType __shift) noexcept
-    { return (byte)(unsigned char)((unsigned)__b >> __shift); }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte
-  operator|(byte __l, byte __r) noexcept
-  { return (byte)(unsigned char)((unsigned)__l | (unsigned)__r); }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte
-  operator&(byte __l, byte __r) noexcept
-  { return (byte)(unsigned char)((unsigned)__l & (unsigned)__r); }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte
-  operator^(byte __l, byte __r) noexcept
-  { return (byte)(unsigned char)((unsigned)__l ^ (unsigned)__r); }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte
-  operator~(byte __b) noexcept
-  { return (byte)(unsigned char)~(unsigned)__b; }
-
-  template<typename _IntegerType>
-    [[__gnu__::__always_inline__]]
-    constexpr __byte_op_t<_IntegerType>&
-    operator<<=(byte& __b, _IntegerType __shift) noexcept
-    { return __b = __b << __shift; }
-
-  template<typename _IntegerType>
-    [[__gnu__::__always_inline__]]
-    constexpr __byte_op_t<_IntegerType>&
-    operator>>=(byte& __b, _IntegerType __shift) noexcept
-    { return __b = __b >> __shift; }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte&
-  operator|=(byte& __l, byte __r) noexcept
-  { return __l = __l | __r; }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte&
-  operator&=(byte& __l, byte __r) noexcept
-  { return __l = __l & __r; }
-
-  [[__gnu__::__always_inline__]]
-  constexpr byte&
-  operator^=(byte& __l, byte __r) noexcept
-  { return __l = __l ^ __r; }
-
-  template<typename _IntegerType>
-    [[nodiscard,__gnu__::__always_inline__]]
-    constexpr _IntegerType
-    to_integer(__byte_op_t<_IntegerType> __b) noexcept
-    { return _IntegerType(__b); }
-
-
-}
-
-}
-
-#pragma GCC diagnostic pop
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator.h" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  struct __erased_type { };
-
-
-
-
-  template<typename _Alloc, typename _Tp>
-    using __is_erased_or_convertible
-      = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
-
-
-  struct allocator_arg_t { explicit allocator_arg_t() = default; };
-
-  inline constexpr allocator_arg_t allocator_arg =
-    allocator_arg_t();
-
-  template<typename _Tp, typename _Alloc, typename = __void_t<>>
-    struct __uses_allocator_helper
-    : false_type { };
-
-  template<typename _Tp, typename _Alloc>
-    struct __uses_allocator_helper<_Tp, _Alloc,
-       __void_t<typename _Tp::allocator_type>>
-    : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
-    { };
-
-
-  template<typename _Tp, typename _Alloc>
-    struct uses_allocator
-    : __uses_allocator_helper<_Tp, _Alloc>::type
-    { };
-
-  struct __uses_alloc_base { };
-
-  struct __uses_alloc0 : __uses_alloc_base
-  {
-    struct _Sink { void operator=(const void*) { } } _M_a;
-  };
-
-  template<typename _Alloc>
-    struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
-
-  template<typename _Alloc>
-    struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
-
-  template<bool, typename _Tp, typename _Alloc, typename... _Args>
-    struct __uses_alloc;
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    struct __uses_alloc<true, _Tp, _Alloc, _Args...>
-    : __conditional_t<
-        is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
-        __uses_alloc1<_Alloc>,
-        __uses_alloc2<_Alloc>>
-    {
-
-
-      static_assert(__or_<
-   is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
-   is_constructible<_Tp, _Args..., const _Alloc&>>::value,
-   "construction with an allocator must be possible"
-   " if uses_allocator is true");
-    };
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    struct __uses_alloc<false, _Tp, _Alloc, _Args...>
-    : __uses_alloc0 { };
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    using __uses_alloc_t =
-      __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-
-    inline __uses_alloc_t<_Tp, _Alloc, _Args...>
-    __use_alloc(const _Alloc& __a)
-    {
-      __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
-      __ret._M_a = std::__addressof(__a);
-      return __ret;
-    }
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    void
-    __use_alloc(const _Alloc&&) = delete;
-
-
-  template <typename _Tp, typename _Alloc>
-    inline constexpr bool uses_allocator_v =
-      uses_allocator<_Tp, _Alloc>::value;
-
-
-
-
-
-
-
-  template<template<typename...> class _Predicate,
-    typename _Tp, typename _Alloc, typename... _Args>
-    struct __is_uses_allocator_predicate
-    : __conditional_t<uses_allocator<_Tp, _Alloc>::value,
-      __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
-     _Predicate<_Tp, _Args..., _Alloc>>,
-      _Predicate<_Tp, _Args...>> { };
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    struct __is_uses_allocator_constructible
-    : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
-    { };
-
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    inline constexpr bool __is_uses_allocator_constructible_v =
-      __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
-
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    struct __is_nothrow_uses_allocator_constructible
-    : __is_uses_allocator_predicate<is_nothrow_constructible,
-        _Tp, _Alloc, _Args...>
-    { };
-
-
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    inline constexpr bool
-    __is_nothrow_uses_allocator_constructible_v =
-      __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value;
-
-
-  template<typename _Tp, typename... _Args>
-    void __uses_allocator_construct_impl(__uses_alloc0, _Tp* __ptr,
-      _Args&&... __args)
-    { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
-      _Args&&... __args)
-    {
-      ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
-          std::forward<_Args>(__args)...);
-    }
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
-      _Args&&... __args)
-    { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
-
-  template<typename _Tp, typename _Alloc, typename... _Args>
-    void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
-        _Args&&... __args)
-    {
-      std::__uses_allocator_construct_impl(
-   std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
-   std::forward<_Args>(__args)...);
-    }
-
-
-
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator_args.h" 1 3
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator_args.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 38 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/uses_allocator_args.h" 2 3
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
-
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 1 3
-# 57 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 58 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-
-  template<typename... _Elements>
-    class tuple;
-
-
-  template<typename _Tp>
-    struct __is_empty_non_tuple : is_empty<_Tp> { };
-
-
-  template<typename _El0, typename... _El>
-    struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
-
-
-  template<typename _Tp>
-    using __empty_not_final
-    = __conditional_t<__is_final(_Tp), false_type,
-        __is_empty_non_tuple<_Tp>>;
-
-  template<size_t _Idx, typename _Head,
-    bool = __empty_not_final<_Head>::value>
-    struct _Head_base;
-
-
-  template<size_t _Idx, typename _Head>
-    struct _Head_base<_Idx, _Head, true>
-    {
-      constexpr _Head_base()
-      : _M_head_impl() { }
-
-      constexpr _Head_base(const _Head& __h)
-      : _M_head_impl(__h) { }
-
-      constexpr _Head_base(const _Head_base&) = default;
-      constexpr _Head_base(_Head_base&&) = default;
-
-      template<typename _UHead>
- constexpr _Head_base(_UHead&& __h)
- : _M_head_impl(std::forward<_UHead>(__h)) { }
-
-
-      _Head_base(allocator_arg_t, __uses_alloc0)
-      : _M_head_impl() { }
-
-      template<typename _Alloc>
-
- _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
- : _M_head_impl(allocator_arg, *__a._M_a) { }
-
-      template<typename _Alloc>
-
- _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
- : _M_head_impl(*__a._M_a) { }
-
-      template<typename _UHead>
-
- _Head_base(__uses_alloc0, _UHead&& __uhead)
- : _M_head_impl(std::forward<_UHead>(__uhead)) { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
- : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
- { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
- : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
-
-      static constexpr _Head&
-      _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
-
-      static constexpr const _Head&
-      _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
-
-      [[__no_unique_address__]] _Head _M_head_impl;
-    };
-# 199 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-  template<size_t _Idx, typename _Head>
-    struct _Head_base<_Idx, _Head, false>
-    {
-      constexpr _Head_base()
-      : _M_head_impl() { }
-
-      constexpr _Head_base(const _Head& __h)
-      : _M_head_impl(__h) { }
-
-      constexpr _Head_base(const _Head_base&) = default;
-      constexpr _Head_base(_Head_base&&) = default;
-
-      template<typename _UHead>
-        constexpr _Head_base(_UHead&& __h)
- : _M_head_impl(std::forward<_UHead>(__h)) { }
-
-
-      _Head_base(allocator_arg_t, __uses_alloc0)
-      : _M_head_impl() { }
-
-      template<typename _Alloc>
-
- _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
- : _M_head_impl(allocator_arg, *__a._M_a) { }
-
-      template<typename _Alloc>
-
- _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
- : _M_head_impl(*__a._M_a) { }
-
-      template<typename _UHead>
-
- _Head_base(__uses_alloc0, _UHead&& __uhead)
- : _M_head_impl(std::forward<_UHead>(__uhead)) { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
- : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
- { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
- : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
-
-      static constexpr _Head&
-      _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
-
-      static constexpr const _Head&
-      _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
-
-      _Head _M_head_impl;
-    };
-# 272 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-  template<size_t _Idx, typename... _Elements>
-    struct _Tuple_impl;
-
-
-
-
-
-
-  template<size_t _Idx, typename _Head, typename... _Tail>
-    struct _Tuple_impl<_Idx, _Head, _Tail...>
-    : public _Tuple_impl<_Idx + 1, _Tail...>,
-      private _Head_base<_Idx, _Head>
-    {
-      template<size_t, typename...> friend struct _Tuple_impl;
-
-      typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
-      typedef _Head_base<_Idx, _Head> _Base;
-
-      static constexpr _Head&
-      _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
-
-      static constexpr const _Head&
-      _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
-
-      static constexpr _Inherited&
-      _M_tail(_Tuple_impl& __t) noexcept { return __t; }
-
-      static constexpr const _Inherited&
-      _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
-
-      constexpr _Tuple_impl()
-      : _Inherited(), _Base() { }
-
-      explicit constexpr
-      _Tuple_impl(const _Head& __head, const _Tail&... __tail)
-      : _Inherited(__tail...), _Base(__head)
-      { }
-
-      template<typename _UHead, typename... _UTail,
-        typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
- explicit constexpr
- _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
- : _Inherited(std::forward<_UTail>(__tail)...),
-   _Base(std::forward<_UHead>(__head))
- { }
-
-      constexpr _Tuple_impl(const _Tuple_impl&) = default;
-
-
-
-      _Tuple_impl& operator=(const _Tuple_impl&) = delete;
-
-      _Tuple_impl(_Tuple_impl&&) = default;
-
-      template<typename... _UElements>
- constexpr
- _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
- : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
-   _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in))
- { }
-
-      template<typename _UHead, typename... _UTails>
- constexpr
- _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
- : _Inherited(std::move
-       (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
-   _Base(std::forward<_UHead>
-  (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
- { }
-# 368 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
- : _Inherited(__tag, __a),
-   _Base(__tag, __use_alloc<_Head>(__a))
- { }
-
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
-      const _Head& __head, const _Tail&... __tail)
- : _Inherited(__tag, __a, __tail...),
-   _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head)
- { }
-
-      template<typename _Alloc, typename _UHead, typename... _UTail,
-        typename = __enable_if_t<sizeof...(_Tail) == sizeof...(_UTail)>>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
-      _UHead&& __head, _UTail&&... __tail)
- : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
-   _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
-  std::forward<_UHead>(__head))
- { }
-
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
-      const _Tuple_impl& __in)
- : _Inherited(__tag, __a, _M_tail(__in)),
-   _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in))
- { }
-
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
-      _Tuple_impl&& __in)
- : _Inherited(__tag, __a, std::move(_M_tail(__in))),
-   _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
-  std::forward<_Head>(_M_head(__in)))
- { }
-
-      template<typename _Alloc, typename _UHead, typename... _UTails>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
-      const _Tuple_impl<_Idx, _UHead, _UTails...>& __in)
- : _Inherited(__tag, __a,
-       _Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)),
-   _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
-  _Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))
- { }
-
-      template<typename _Alloc, typename _UHead, typename... _UTails>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
-      _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
- : _Inherited(__tag, __a, std::move
-       (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
-   _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
-  std::forward<_UHead>
-  (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)))
- { }
-# 463 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-      template<typename... _UElements>
-
- void
- _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
- {
-   _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
-   _M_tail(*this)._M_assign(
-       _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
- }
-
-      template<typename _UHead, typename... _UTails>
-
- void
- _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
- {
-   _M_head(*this) = std::forward<_UHead>
-     (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
-   _M_tail(*this)._M_assign(
-       std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
- }
-# 523 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    protected:
-
-      void
-      _M_swap(_Tuple_impl& __in)
-      {
- using std::swap;
- swap(_M_head(*this), _M_head(__in));
- _Inherited::_M_swap(_M_tail(__in));
-      }
-# 542 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    };
-
-
-  template<size_t _Idx, typename _Head>
-    struct _Tuple_impl<_Idx, _Head>
-    : private _Head_base<_Idx, _Head>
-    {
-      template<size_t, typename...> friend struct _Tuple_impl;
-
-      typedef _Head_base<_Idx, _Head> _Base;
-
-      static constexpr _Head&
-      _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
-
-      static constexpr const _Head&
-      _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
-
-      constexpr
-      _Tuple_impl()
-      : _Base() { }
-
-      explicit constexpr
-      _Tuple_impl(const _Head& __head)
-      : _Base(__head)
-      { }
-
-      template<typename _UHead>
- explicit constexpr
- _Tuple_impl(_UHead&& __head)
- : _Base(std::forward<_UHead>(__head))
- { }
-
-      constexpr _Tuple_impl(const _Tuple_impl&) = default;
-
-
-
-      _Tuple_impl& operator=(const _Tuple_impl&) = delete;
-
-
-
-
-      constexpr
-      _Tuple_impl(_Tuple_impl&& __in)
-      noexcept(is_nothrow_move_constructible<_Head>::value)
-      : _Base(static_cast<_Base&&>(__in))
-      { }
-
-
-      template<typename _UHead>
- constexpr
- _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
- : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in))
- { }
-
-      template<typename _UHead>
- constexpr
- _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
- : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
- { }
-# 624 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
- : _Base(__tag, __use_alloc<_Head>(__a))
- { }
-
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t, const _Alloc& __a,
-      const _Head& __head)
- : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), __head)
- { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Tuple_impl(allocator_arg_t, const _Alloc& __a,
-      _UHead&& __head)
- : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
-  std::forward<_UHead>(__head))
- { }
-
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t, const _Alloc& __a,
-      const _Tuple_impl& __in)
- : _Base(__use_alloc<_Head, _Alloc, const _Head&>(__a), _M_head(__in))
- { }
-
-      template<typename _Alloc>
-
- _Tuple_impl(allocator_arg_t, const _Alloc& __a,
-      _Tuple_impl&& __in)
- : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
-  std::forward<_Head>(_M_head(__in)))
- { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Tuple_impl(allocator_arg_t, const _Alloc& __a,
-      const _Tuple_impl<_Idx, _UHead>& __in)
- : _Base(__use_alloc<_Head, _Alloc, const _UHead&>(__a),
-  _Tuple_impl<_Idx, _UHead>::_M_head(__in))
- { }
-
-      template<typename _Alloc, typename _UHead>
-
- _Tuple_impl(allocator_arg_t, const _Alloc& __a,
-      _Tuple_impl<_Idx, _UHead>&& __in)
- : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
-  std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
- { }
-# 703 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-      template<typename _UHead>
-
- void
- _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
- {
-   _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
- }
-
-      template<typename _UHead>
-
- void
- _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
- {
-   _M_head(*this)
-     = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
- }
-# 749 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    protected:
-
-      void
-      _M_swap(_Tuple_impl& __in)
-      {
- using std::swap;
- swap(_M_head(*this), _M_head(__in));
-      }
-# 766 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    };
-
-
-
-  template<bool, typename... _Types>
-    struct _TupleConstraints
-    {
-      template<typename... _UTypes>
- using __constructible = __and_<is_constructible<_Types, _UTypes>...>;
-
-      template<typename... _UTypes>
- using __convertible = __and_<is_convertible<_UTypes, _Types>...>;
-
-
-
-
-      template<typename... _UTypes>
- static constexpr bool __is_implicitly_constructible()
- {
-   return __and_<__constructible<_UTypes...>,
-   __convertible<_UTypes...>
-   >::value;
- }
-
-
-
-
-      template<typename... _UTypes>
- static constexpr bool __is_explicitly_constructible()
- {
-   return __and_<__constructible<_UTypes...>,
-   __not_<__convertible<_UTypes...>>
-   >::value;
- }
-
-      static constexpr bool __is_implicitly_default_constructible()
-      {
- return __and_<std::__is_implicitly_default_constructible<_Types>...
-        >::value;
-      }
-
-      static constexpr bool __is_explicitly_default_constructible()
-      {
- return __and_<is_default_constructible<_Types>...,
-        __not_<__and_<
-   std::__is_implicitly_default_constructible<_Types>...>
-        >>::value;
-      }
-    };
-
-
-
-  template<typename... _Types>
-    struct _TupleConstraints<false, _Types...>
-    {
-      template<typename... _UTypes>
- static constexpr bool __is_implicitly_constructible()
- { return false; }
-
-      template<typename... _UTypes>
- static constexpr bool __is_explicitly_constructible()
- { return false; }
-    };
-
-
-
-  template<typename... _Elements>
-    class tuple : public _Tuple_impl<0, _Elements...>
-    {
-      using _Inherited = _Tuple_impl<0, _Elements...>;
-# 1352 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-      template<bool _Cond>
- using _TCC = _TupleConstraints<_Cond, _Elements...>;
-
-
-      template<bool _Dummy>
- using _ImplicitDefaultCtor = __enable_if_t<
-   _TCC<_Dummy>::__is_implicitly_default_constructible(),
-   bool>;
-
-
-      template<bool _Dummy>
- using _ExplicitDefaultCtor = __enable_if_t<
-   _TCC<_Dummy>::__is_explicitly_default_constructible(),
-   bool>;
-
-
-      template<bool _Cond, typename... _Args>
- using _ImplicitCtor = __enable_if_t<
-   _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(),
-   bool>;
-
-
-      template<bool _Cond, typename... _Args>
- using _ExplicitCtor = __enable_if_t<
-   _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(),
-   bool>;
-
-
-      template<typename... _UElements>
- static constexpr bool __nothrow_constructible()
- {
-   return
-     __and_<is_nothrow_constructible<_Elements, _UElements>...>::value;
- }
-
-
-      template<typename _Up>
- static constexpr bool __valid_args()
- {
-   return sizeof...(_Elements) == 1
-     && !is_same<tuple, __remove_cvref_t<_Up>>::value;
- }
-
-
-      template<typename, typename, typename... _Tail>
- static constexpr bool __valid_args()
- { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); }
-# 1409 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-      template<typename _Tuple, typename = tuple,
-        typename = __remove_cvref_t<_Tuple>>
- struct _UseOtherCtor
- : false_type
- { };
-
-
-      template<typename _Tuple, typename _Tp, typename _Up>
- struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>>
- : __or_<is_convertible<_Tuple, _Tp>, is_constructible<_Tp, _Tuple>>::type
- { };
-
-
-      template<typename _Tuple, typename _Tp>
- struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>>
- : true_type
- { };
-
-
-
-
-      template<typename _Tuple>
- static constexpr bool __use_other_ctor()
- { return _UseOtherCtor<_Tuple>::value; }
-# 1455 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    public:
-      template<typename _Dummy = void,
-        _ImplicitDefaultCtor<is_void<_Dummy>::value> = true>
- constexpr
- tuple()
- noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
- : _Inherited() { }
-
-      template<typename _Dummy = void,
-        _ExplicitDefaultCtor<is_void<_Dummy>::value> = false>
- explicit constexpr
- tuple()
- noexcept(__and_<is_nothrow_default_constructible<_Elements>...>::value)
- : _Inherited() { }
-
-      template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
-        _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
- constexpr
- tuple(const _Elements&... __elements)
- noexcept(__nothrow_constructible<const _Elements&...>())
- : _Inherited(__elements...) { }
-
-      template<bool _NotEmpty = (sizeof...(_Elements) >= 1),
-        _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
- explicit constexpr
- tuple(const _Elements&... __elements)
- noexcept(__nothrow_constructible<const _Elements&...>())
- : _Inherited(__elements...) { }
-
-      template<typename... _UElements,
-        bool _Valid = __valid_args<_UElements...>(),
-        _ImplicitCtor<_Valid, _UElements...> = true>
- constexpr
- tuple(_UElements&&... __elements)
- noexcept(__nothrow_constructible<_UElements...>())
- : _Inherited(std::forward<_UElements>(__elements)...)
- { ; }
-
-      template<typename... _UElements,
-        bool _Valid = __valid_args<_UElements...>(),
-        _ExplicitCtor<_Valid, _UElements...> = false>
- explicit constexpr
- tuple(_UElements&&... __elements)
- noexcept(__nothrow_constructible<_UElements...>())
- : _Inherited(std::forward<_UElements>(__elements)...)
- { ; }
-
-      constexpr tuple(const tuple&) = default;
-
-      constexpr tuple(tuple&&) = default;
-
-      template<typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-      && !__use_other_ctor<const tuple<_UElements...>&>(),
-        _ImplicitCtor<_Valid, const _UElements&...> = true>
- constexpr
- tuple(const tuple<_UElements...>& __in)
- noexcept(__nothrow_constructible<const _UElements&...>())
- : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
- { ; }
-
-      template<typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-      && !__use_other_ctor<const tuple<_UElements...>&>(),
-        _ExplicitCtor<_Valid, const _UElements&...> = false>
- explicit constexpr
- tuple(const tuple<_UElements...>& __in)
- noexcept(__nothrow_constructible<const _UElements&...>())
- : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
- { ; }
-
-      template<typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-        && !__use_other_ctor<tuple<_UElements...>&&>(),
-        _ImplicitCtor<_Valid, _UElements...> = true>
- constexpr
- tuple(tuple<_UElements...>&& __in)
- noexcept(__nothrow_constructible<_UElements...>())
- : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
- { ; }
-
-      template<typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-        && !__use_other_ctor<tuple<_UElements...>&&>(),
-        _ExplicitCtor<_Valid, _UElements...> = false>
- explicit constexpr
- tuple(tuple<_UElements...>&& __in)
- noexcept(__nothrow_constructible<_UElements...>())
- : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
- { ; }
-
-
-
-      template<typename _Alloc,
-        _ImplicitDefaultCtor<is_object<_Alloc>::value> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a)
- : _Inherited(__tag, __a) { }
-
-      template<typename _Alloc,
-        _ExplicitDefaultCtor<is_object<_Alloc>::value> = false>
-
- explicit
- tuple(allocator_arg_t __tag, const _Alloc& __a)
- : _Inherited(__tag, __a) { }
-
-      template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
-        _ImplicitCtor<_NotEmpty, const _Elements&...> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const _Elements&... __elements)
- : _Inherited(__tag, __a, __elements...) { }
-
-      template<typename _Alloc, bool _NotEmpty = (sizeof...(_Elements) >= 1),
-        _ExplicitCtor<_NotEmpty, const _Elements&...> = false>
-
- explicit
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const _Elements&... __elements)
- : _Inherited(__tag, __a, __elements...) { }
-
-      template<typename _Alloc, typename... _UElements,
-        bool _Valid = __valid_args<_UElements...>(),
-        _ImplicitCtor<_Valid, _UElements...> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       _UElements&&... __elements)
- : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
- { ; }
-
-      template<typename _Alloc, typename... _UElements,
-   bool _Valid = __valid_args<_UElements...>(),
-        _ExplicitCtor<_Valid, _UElements...> = false>
-
- explicit
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       _UElements&&... __elements)
- : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
- { ; }
-
-      template<typename _Alloc>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
- : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
-
-      template<typename _Alloc>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
- : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
-
-      template<typename _Alloc, typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-        && !__use_other_ctor<const tuple<_UElements...>&>(),
-        _ImplicitCtor<_Valid, const _UElements&...> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const tuple<_UElements...>& __in)
- : _Inherited(__tag, __a,
-       static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
- { ; }
-
-      template<typename _Alloc, typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-        && !__use_other_ctor<const tuple<_UElements...>&>(),
-        _ExplicitCtor<_Valid, const _UElements&...> = false>
-
- explicit
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const tuple<_UElements...>& __in)
- : _Inherited(__tag, __a,
-       static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
- { ; }
-
-      template<typename _Alloc, typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-        && !__use_other_ctor<tuple<_UElements...>&&>(),
-        _ImplicitCtor<_Valid, _UElements...> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       tuple<_UElements...>&& __in)
- : _Inherited(__tag, __a,
-       static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
- { ; }
-
-      template<typename _Alloc, typename... _UElements,
-        bool _Valid = (sizeof...(_Elements) == sizeof...(_UElements))
-        && !__use_other_ctor<tuple<_UElements...>&&>(),
-        _ExplicitCtor<_Valid, _UElements...> = false>
-
- explicit
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       tuple<_UElements...>&& __in)
- : _Inherited(__tag, __a,
-       static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
- { ; }
-# 1887 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    private:
-      template<typename... _UElements>
- static constexpr
- __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
- __assignable()
- { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
-
-
-      template<typename... _UElements>
- static constexpr bool __nothrow_assignable()
- {
-   return
-     __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
- }
-
-    public:
-
-
-      tuple&
-      operator=(__conditional_t<__assignable<const _Elements&...>(),
-    const tuple&,
-    const __nonesuch&> __in)
-      noexcept(__nothrow_assignable<const _Elements&...>())
-      {
- this->_M_assign(__in);
- return *this;
-      }
-
-
-      tuple&
-      operator=(__conditional_t<__assignable<_Elements...>(),
-    tuple&&,
-    __nonesuch&&> __in)
-      noexcept(__nothrow_assignable<_Elements...>())
-      {
- this->_M_assign(std::move(__in));
- return *this;
-      }
-
-      template<typename... _UElements>
-
- __enable_if_t<__assignable<const _UElements&...>(), tuple&>
- operator=(const tuple<_UElements...>& __in)
- noexcept(__nothrow_assignable<const _UElements&...>())
- {
-   this->_M_assign(__in);
-   return *this;
- }
-
-      template<typename... _UElements>
-
- __enable_if_t<__assignable<_UElements...>(), tuple&>
- operator=(tuple<_UElements...>&& __in)
- noexcept(__nothrow_assignable<_UElements...>())
- {
-   this->_M_assign(std::move(__in));
-   return *this;
- }
-
-
-
-
-      void
-      swap(tuple& __in)
-      noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
-      { _Inherited::_M_swap(__in); }
-# 1967 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    };
-
-
-  template<typename... _UTypes>
-    tuple(_UTypes...) -> tuple<_UTypes...>;
-  template<typename _T1, typename _T2>
-    tuple(pair<_T1, _T2>) -> tuple<_T1, _T2>;
-  template<typename _Alloc, typename... _UTypes>
-    tuple(allocator_arg_t, _Alloc, _UTypes...) -> tuple<_UTypes...>;
-  template<typename _Alloc, typename _T1, typename _T2>
-    tuple(allocator_arg_t, _Alloc, pair<_T1, _T2>) -> tuple<_T1, _T2>;
-  template<typename _Alloc, typename... _UTypes>
-    tuple(allocator_arg_t, _Alloc, tuple<_UTypes...>) -> tuple<_UTypes...>;
-
-
-
-  template<>
-    class tuple<>
-    {
-    public:
-
-      void swap(tuple&) noexcept { }
-
-
-
-
-
-      tuple() = default;
-
-      template<typename _Alloc>
-
- tuple(allocator_arg_t, const _Alloc&) noexcept { }
-      template<typename _Alloc>
-
- tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { }
-    };
-
-
-
-
-  template<typename _T1, typename _T2>
-    class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
-    {
-      typedef _Tuple_impl<0, _T1, _T2> _Inherited;
-
-
-      template<bool _Dummy, typename _U1, typename _U2>
- using _ImplicitDefaultCtor = __enable_if_t<
-   _TupleConstraints<_Dummy, _U1, _U2>::
-     __is_implicitly_default_constructible(),
-   bool>;
-
-
-      template<bool _Dummy, typename _U1, typename _U2>
- using _ExplicitDefaultCtor = __enable_if_t<
-   _TupleConstraints<_Dummy, _U1, _U2>::
-     __is_explicitly_default_constructible(),
-   bool>;
-
-      template<bool _Dummy>
- using _TCC = _TupleConstraints<_Dummy, _T1, _T2>;
-
-
-      template<bool _Cond, typename _U1, typename _U2>
- using _ImplicitCtor = __enable_if_t<
-   _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(),
-   bool>;
-
-
-      template<bool _Cond, typename _U1, typename _U2>
- using _ExplicitCtor = __enable_if_t<
-   _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(),
-   bool>;
-
-      template<typename _U1, typename _U2>
- static constexpr bool __assignable()
- {
-   return __and_<is_assignable<_T1&, _U1>,
-   is_assignable<_T2&, _U2>>::value;
- }
-
-      template<typename _U1, typename _U2>
- static constexpr bool __nothrow_assignable()
- {
-   return __and_<is_nothrow_assignable<_T1&, _U1>,
-   is_nothrow_assignable<_T2&, _U2>>::value;
- }
-
-      template<typename _U1, typename _U2>
- static constexpr bool __nothrow_constructible()
- {
-   return __and_<is_nothrow_constructible<_T1, _U1>,
-       is_nothrow_constructible<_T2, _U2>>::value;
- }
-
-      static constexpr bool __nothrow_default_constructible()
-      {
- return __and_<is_nothrow_default_constructible<_T1>,
-        is_nothrow_default_constructible<_T2>>::value;
-      }
-
-      template<typename _U1>
- static constexpr bool __is_alloc_arg()
- { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; }
-# 2086 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-    public:
-      template<bool _Dummy = true,
-        _ImplicitDefaultCtor<_Dummy, _T1, _T2> = true>
- constexpr
- tuple()
- noexcept(__nothrow_default_constructible())
- : _Inherited() { }
-
-      template<bool _Dummy = true,
-        _ExplicitDefaultCtor<_Dummy, _T1, _T2> = false>
- explicit constexpr
- tuple()
- noexcept(__nothrow_default_constructible())
- : _Inherited() { }
-
-      template<bool _Dummy = true,
-        _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
- constexpr
- tuple(const _T1& __a1, const _T2& __a2)
- noexcept(__nothrow_constructible<const _T1&, const _T2&>())
- : _Inherited(__a1, __a2) { }
-
-      template<bool _Dummy = true,
-        _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
- explicit constexpr
- tuple(const _T1& __a1, const _T2& __a2)
- noexcept(__nothrow_constructible<const _T1&, const _T2&>())
- : _Inherited(__a1, __a2) { }
-
-      template<typename _U1, typename _U2,
-        _ImplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = true>
- constexpr
- tuple(_U1&& __a1, _U2&& __a2)
- noexcept(__nothrow_constructible<_U1, _U2>())
- : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2))
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ExplicitCtor<!__is_alloc_arg<_U1>(), _U1, _U2> = false>
- explicit constexpr
- tuple(_U1&& __a1, _U2&& __a2)
- noexcept(__nothrow_constructible<_U1, _U2>())
- : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2))
- { ; }
-
-      constexpr tuple(const tuple&) = default;
-
-      constexpr tuple(tuple&&) = default;
-
-      template<typename _U1, typename _U2,
-        _ImplicitCtor<true, const _U1&, const _U2&> = true>
- constexpr
- tuple(const tuple<_U1, _U2>& __in)
- noexcept(__nothrow_constructible<const _U1&, const _U2&>())
- : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ExplicitCtor<true, const _U1&, const _U2&> = false>
- explicit constexpr
- tuple(const tuple<_U1, _U2>& __in)
- noexcept(__nothrow_constructible<const _U1&, const _U2&>())
- : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ImplicitCtor<true, _U1, _U2> = true>
- constexpr
- tuple(tuple<_U1, _U2>&& __in)
- noexcept(__nothrow_constructible<_U1, _U2>())
- : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ExplicitCtor<true, _U1, _U2> = false>
- explicit constexpr
- tuple(tuple<_U1, _U2>&& __in)
- noexcept(__nothrow_constructible<_U1, _U2>())
- : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ImplicitCtor<true, const _U1&, const _U2&> = true>
- constexpr
- tuple(const pair<_U1, _U2>& __in)
- noexcept(__nothrow_constructible<const _U1&, const _U2&>())
- : _Inherited(__in.first, __in.second)
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ExplicitCtor<true, const _U1&, const _U2&> = false>
- explicit constexpr
- tuple(const pair<_U1, _U2>& __in)
- noexcept(__nothrow_constructible<const _U1&, const _U2&>())
- : _Inherited(__in.first, __in.second)
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ImplicitCtor<true, _U1, _U2> = true>
- constexpr
- tuple(pair<_U1, _U2>&& __in)
- noexcept(__nothrow_constructible<_U1, _U2>())
- : _Inherited(std::forward<_U1>(__in.first),
-       std::forward<_U2>(__in.second))
- { ; }
-
-      template<typename _U1, typename _U2,
-        _ExplicitCtor<true, _U1, _U2> = false>
- explicit constexpr
- tuple(pair<_U1, _U2>&& __in)
- noexcept(__nothrow_constructible<_U1, _U2>())
- : _Inherited(std::forward<_U1>(__in.first),
-       std::forward<_U2>(__in.second))
- { ; }
-
-
-
-      template<typename _Alloc,
-        _ImplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a)
- : _Inherited(__tag, __a) { }
-
-      template<typename _Alloc,
-        _ExplicitDefaultCtor<is_object<_Alloc>::value, _T1, _T2> = false>
-
- explicit
- tuple(allocator_arg_t __tag, const _Alloc& __a)
- : _Inherited(__tag, __a) { }
-
-      template<typename _Alloc, bool _Dummy = true,
-        _ImplicitCtor<_Dummy, const _T1&, const _T2&> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const _T1& __a1, const _T2& __a2)
- : _Inherited(__tag, __a, __a1, __a2) { }
-
-      template<typename _Alloc, bool _Dummy = true,
-        _ExplicitCtor<_Dummy, const _T1&, const _T2&> = false>
- explicit
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const _T1& __a1, const _T2& __a2)
- : _Inherited(__tag, __a, __a1, __a2) { }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ImplicitCtor<true, _U1, _U2> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
- : _Inherited(__tag, __a, std::forward<_U1>(__a1),
-       std::forward<_U2>(__a2))
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ExplicitCtor<true, _U1, _U2> = false>
- explicit
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       _U1&& __a1, _U2&& __a2)
- : _Inherited(__tag, __a, std::forward<_U1>(__a1),
-       std::forward<_U2>(__a2))
- { ; }
-
-      template<typename _Alloc>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
- : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
-
-      template<typename _Alloc>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
- : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ImplicitCtor<true, const _U1&, const _U2&> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const tuple<_U1, _U2>& __in)
- : _Inherited(__tag, __a,
-       static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ExplicitCtor<true, const _U1&, const _U2&> = false>
- explicit
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const tuple<_U1, _U2>& __in)
- : _Inherited(__tag, __a,
-       static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ImplicitCtor<true, _U1, _U2> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
- : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ExplicitCtor<true, _U1, _U2> = false>
- explicit
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
- : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ImplicitCtor<true, const _U1&, const _U2&> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const pair<_U1, _U2>& __in)
- : _Inherited(__tag, __a, __in.first, __in.second)
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ExplicitCtor<true, const _U1&, const _U2&> = false>
- explicit
-
- tuple(allocator_arg_t __tag, const _Alloc& __a,
-       const pair<_U1, _U2>& __in)
- : _Inherited(__tag, __a, __in.first, __in.second)
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ImplicitCtor<true, _U1, _U2> = true>
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
- : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
-       std::forward<_U2>(__in.second))
- { ; }
-
-      template<typename _Alloc, typename _U1, typename _U2,
-        _ExplicitCtor<true, _U1, _U2> = false>
- explicit
-
- tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
- : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
-       std::forward<_U2>(__in.second))
- { ; }
-
-
-
-
-      tuple&
-      operator=(__conditional_t<__assignable<const _T1&, const _T2&>(),
-    const tuple&,
-    const __nonesuch&> __in)
-      noexcept(__nothrow_assignable<const _T1&, const _T2&>())
-      {
- this->_M_assign(__in);
- return *this;
-      }
-
-
-      tuple&
-      operator=(__conditional_t<__assignable<_T1, _T2>(),
-    tuple&&,
-    __nonesuch&&> __in)
-      noexcept(__nothrow_assignable<_T1, _T2>())
-      {
- this->_M_assign(std::move(__in));
- return *this;
-      }
-
-      template<typename _U1, typename _U2>
-
- __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
- operator=(const tuple<_U1, _U2>& __in)
- noexcept(__nothrow_assignable<const _U1&, const _U2&>())
- {
-   this->_M_assign(__in);
-   return *this;
- }
-
-      template<typename _U1, typename _U2>
-
- __enable_if_t<__assignable<_U1, _U2>(), tuple&>
- operator=(tuple<_U1, _U2>&& __in)
- noexcept(__nothrow_assignable<_U1, _U2>())
- {
-   this->_M_assign(std::move(__in));
-   return *this;
- }
-
-      template<typename _U1, typename _U2>
-
- __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
- operator=(const pair<_U1, _U2>& __in)
- noexcept(__nothrow_assignable<const _U1&, const _U2&>())
- {
-   this->_M_head(*this) = __in.first;
-   this->_M_tail(*this)._M_head(*this) = __in.second;
-   return *this;
- }
-
-      template<typename _U1, typename _U2>
-
- __enable_if_t<__assignable<_U1, _U2>(), tuple&>
- operator=(pair<_U1, _U2>&& __in)
- noexcept(__nothrow_assignable<_U1, _U2>())
- {
-   this->_M_head(*this) = std::forward<_U1>(__in.first);
-   this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
-   return *this;
- }
-
-
-      void
-      swap(tuple& __in)
-      noexcept(__and_<__is_nothrow_swappable<_T1>,
-        __is_nothrow_swappable<_T2>>::value)
-      { _Inherited::_M_swap(__in); }
-    };
-
-
-
-  template<typename... _Elements>
-    struct tuple_size<tuple<_Elements...>>
-    : public integral_constant<size_t, sizeof...(_Elements)> { };
-
-
-  template<typename... _Types>
-    inline constexpr size_t tuple_size_v<tuple<_Types...>>
-      = sizeof...(_Types);
-
-  template<typename... _Types>
-    inline constexpr size_t tuple_size_v<const tuple<_Types...>>
-      = sizeof...(_Types);
-
-
-
-  template<size_t __i, typename... _Types>
-    struct tuple_element<__i, tuple<_Types...>>
-    {
-      static_assert(__i < sizeof...(_Types), "tuple index must be in range");
-
-      using type = typename _Nth_type<__i, _Types...>::type;
-    };
-
-  template<size_t __i, typename _Head, typename... _Tail>
-    constexpr _Head&
-    __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
-    { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
-
-  template<size_t __i, typename _Head, typename... _Tail>
-    constexpr const _Head&
-    __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
-    { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
-
-
-  template<size_t __i, typename... _Types>
-    __enable_if_t<(__i >= sizeof...(_Types))>
-    __get_helper(const tuple<_Types...>&) = delete;
-
-
-  template<size_t __i, typename... _Elements>
-    constexpr __tuple_element_t<__i, tuple<_Elements...>>&
-    get(tuple<_Elements...>& __t) noexcept
-    { return std::__get_helper<__i>(__t); }
-
-
-  template<size_t __i, typename... _Elements>
-    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
-    get(const tuple<_Elements...>& __t) noexcept
-    { return std::__get_helper<__i>(__t); }
-
-
-  template<size_t __i, typename... _Elements>
-    constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
-    get(tuple<_Elements...>&& __t) noexcept
-    {
-      typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
-      return std::forward<__element_type>(std::__get_helper<__i>(__t));
-    }
-
-
-  template<size_t __i, typename... _Elements>
-    constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
-    get(const tuple<_Elements...>&& __t) noexcept
-    {
-      typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
-      return std::forward<const __element_type>(std::__get_helper<__i>(__t));
-    }
-
-
-
-  template<size_t __i, typename... _Elements>
-    constexpr __enable_if_t<(__i >= sizeof...(_Elements))>
-    get(const tuple<_Elements...>&) = delete;
-
-
-
-
-  template <typename _Tp, typename... _Types>
-    constexpr _Tp&
-    get(tuple<_Types...>& __t) noexcept
-    {
-      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
-      static_assert(__idx < sizeof...(_Types),
-   "the type T in std::get<T> must occur exactly once in the tuple");
-      return std::__get_helper<__idx>(__t);
-    }
-
-
-  template <typename _Tp, typename... _Types>
-    constexpr _Tp&&
-    get(tuple<_Types...>&& __t) noexcept
-    {
-      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
-      static_assert(__idx < sizeof...(_Types),
-   "the type T in std::get<T> must occur exactly once in the tuple");
-      return std::forward<_Tp>(std::__get_helper<__idx>(__t));
-    }
-
-
-  template <typename _Tp, typename... _Types>
-    constexpr const _Tp&
-    get(const tuple<_Types...>& __t) noexcept
-    {
-      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
-      static_assert(__idx < sizeof...(_Types),
-   "the type T in std::get<T> must occur exactly once in the tuple");
-      return std::__get_helper<__idx>(__t);
-    }
-
-
-
-  template <typename _Tp, typename... _Types>
-    constexpr const _Tp&&
-    get(const tuple<_Types...>&& __t) noexcept
-    {
-      constexpr size_t __idx = __find_uniq_type_in_pack<_Tp, _Types...>();
-      static_assert(__idx < sizeof...(_Types),
-   "the type T in std::get<T> must occur exactly once in the tuple");
-      return std::forward<const _Tp>(std::__get_helper<__idx>(__t));
-    }
-# 2578 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-  template<typename _Tp, typename _Up, size_t __i, size_t __size>
-    struct __tuple_compare
-    {
-      static constexpr bool
-      __eq(const _Tp& __t, const _Up& __u)
-      {
- return bool(std::get<__i>(__t) == std::get<__i>(__u))
-   && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
-      }
-
-      static constexpr bool
-      __less(const _Tp& __t, const _Up& __u)
-      {
- return bool(std::get<__i>(__t) < std::get<__i>(__u))
-   || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
-       && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
-      }
-    };
-
-  template<typename _Tp, typename _Up, size_t __size>
-    struct __tuple_compare<_Tp, _Up, __size, __size>
-    {
-      static constexpr bool
-      __eq(const _Tp&, const _Up&) { return true; }
-
-      static constexpr bool
-      __less(const _Tp&, const _Up&) { return false; }
-    };
-
-  template<typename... _TElements, typename... _UElements>
-    [[__nodiscard__]]
-    constexpr bool
-    operator==(const tuple<_TElements...>& __t,
-        const tuple<_UElements...>& __u)
-    {
-      static_assert(sizeof...(_TElements) == sizeof...(_UElements),
-   "tuple objects can only be compared if they have equal sizes.");
-      using __compare = __tuple_compare<tuple<_TElements...>,
-     tuple<_UElements...>,
-     0, sizeof...(_TElements)>;
-      return __compare::__eq(__t, __u);
-    }
-
-  template<typename... _TElements, typename... _UElements>
-    [[__nodiscard__]]
-    constexpr bool
-    operator<(const tuple<_TElements...>& __t,
-       const tuple<_UElements...>& __u)
-    {
-      static_assert(sizeof...(_TElements) == sizeof...(_UElements),
-   "tuple objects can only be compared if they have equal sizes.");
-      using __compare = __tuple_compare<tuple<_TElements...>,
-     tuple<_UElements...>,
-     0, sizeof...(_TElements)>;
-      return __compare::__less(__t, __u);
-    }
-
-  template<typename... _TElements, typename... _UElements>
-    [[__nodiscard__]]
-    constexpr bool
-    operator!=(const tuple<_TElements...>& __t,
-        const tuple<_UElements...>& __u)
-    { return !(__t == __u); }
-
-  template<typename... _TElements, typename... _UElements>
-    [[__nodiscard__]]
-    constexpr bool
-    operator>(const tuple<_TElements...>& __t,
-       const tuple<_UElements...>& __u)
-    { return __u < __t; }
-
-  template<typename... _TElements, typename... _UElements>
-    [[__nodiscard__]]
-    constexpr bool
-    operator<=(const tuple<_TElements...>& __t,
-        const tuple<_UElements...>& __u)
-    { return !(__u < __t); }
-
-  template<typename... _TElements, typename... _UElements>
-    [[__nodiscard__]]
-    constexpr bool
-    operator>=(const tuple<_TElements...>& __t,
-        const tuple<_UElements...>& __u)
-    { return !(__t < __u); }
-
-
-
-
-  template<typename... _Elements>
-    constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
-    make_tuple(_Elements&&... __args)
-    {
-      typedef tuple<typename __decay_and_strip<_Elements>::__type...>
- __result_type;
-      return __result_type(std::forward<_Elements>(__args)...);
-    }
-
-
-
-
-  template<typename... _Elements>
-    constexpr tuple<_Elements&&...>
-    forward_as_tuple(_Elements&&... __args) noexcept
-    { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
-
-
-  template<size_t, typename, typename, size_t>
-    struct __make_tuple_impl;
-
-  template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
-    struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
-    : __make_tuple_impl<_Idx + 1,
-   tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
-   _Tuple, _Nm>
-    { };
-
-  template<size_t _Nm, typename _Tuple, typename... _Tp>
-    struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
-    {
-      typedef tuple<_Tp...> __type;
-    };
-
-  template<typename _Tuple>
-    struct __do_make_tuple
-    : __make_tuple_impl<0, tuple<>, _Tuple, tuple_size<_Tuple>::value>
-    { };
-
-
-  template<typename _Tuple>
-    struct __make_tuple
-    : public __do_make_tuple<__remove_cvref_t<_Tuple>>
-    { };
-
-
-  template<typename...>
-    struct __combine_tuples;
-
-  template<>
-    struct __combine_tuples<>
-    {
-      typedef tuple<> __type;
-    };
-
-  template<typename... _Ts>
-    struct __combine_tuples<tuple<_Ts...>>
-    {
-      typedef tuple<_Ts...> __type;
-    };
-
-  template<typename... _T1s, typename... _T2s, typename... _Rem>
-    struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
-    {
-      typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
-     _Rem...>::__type __type;
-    };
-
-
-  template<typename... _Tpls>
-    struct __tuple_cat_result
-    {
-      typedef typename __combine_tuples
-        <typename __make_tuple<_Tpls>::__type...>::__type __type;
-    };
-
-
-
-  template<typename...>
-    struct __make_1st_indices;
-
-  template<>
-    struct __make_1st_indices<>
-    {
-      typedef _Index_tuple<> __type;
-    };
-
-  template<typename _Tp, typename... _Tpls>
-    struct __make_1st_indices<_Tp, _Tpls...>
-    {
-      typedef typename _Build_index_tuple<tuple_size<
- typename remove_reference<_Tp>::type>::value>::__type __type;
-    };
-
-
-
-
-  template<typename _Ret, typename _Indices, typename... _Tpls>
-    struct __tuple_concater;
-
-  template<typename _Ret, size_t... _Is, typename _Tp, typename... _Tpls>
-    struct __tuple_concater<_Ret, _Index_tuple<_Is...>, _Tp, _Tpls...>
-    {
-      template<typename... _Us>
-        static constexpr _Ret
-        _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
-        {
-   typedef typename __make_1st_indices<_Tpls...>::__type __idx;
-   typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
-   return __next::_S_do(std::forward<_Tpls>(__tps)...,
-          std::forward<_Us>(__us)...,
-          std::get<_Is>(std::forward<_Tp>(__tp))...);
- }
-    };
-
-  template<typename _Ret>
-    struct __tuple_concater<_Ret, _Index_tuple<>>
-    {
-      template<typename... _Us>
- static constexpr _Ret
- _S_do(_Us&&... __us)
-        {
-   return _Ret(std::forward<_Us>(__us)...);
- }
-    };
-
-  template<typename... _Tps>
-    struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
-    { };
-
-
-
-
-
-
-  template<typename... _Tpls, typename = typename
-           enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
-
-    constexpr auto
-    tuple_cat(_Tpls&&... __tpls)
-    -> typename __tuple_cat_result<_Tpls...>::__type
-    {
-      typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
-      typedef typename __make_1st_indices<_Tpls...>::__type __idx;
-      typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
-      return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
-    }
-
-
-
-
-  template<typename... _Elements>
-    constexpr tuple<_Elements&...>
-    tie(_Elements&... __args) noexcept
-    { return tuple<_Elements&...>(__args...); }
-
-
-  template<typename... _Elements>
-
-    inline
-
-
-    typename enable_if<__and_<__is_swappable<_Elements>...>::value
-      >::type
-
-
-
-    swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
-    noexcept(noexcept(__x.swap(__y)))
-    { __x.swap(__y); }
-# 2848 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-  template<typename... _Elements>
-
-    typename enable_if<!__and_<__is_swappable<_Elements>...>::value>::type
-    swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete;
-
-
-
-  template<typename... _Types, typename _Alloc>
-    struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
-# 2867 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-  template<class _T1, class _T2>
-    template<typename... _Args1, typename... _Args2>
-
-      inline
-      pair<_T1, _T2>::
-      pair(piecewise_construct_t,
-    tuple<_Args1...> __first, tuple<_Args2...> __second)
-      : pair(__first, __second,
-      typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
-      typename _Build_index_tuple<sizeof...(_Args2)>::__type())
-      { }
-
-  template<class _T1, class _T2>
-    template<typename... _Args1, size_t... _Indexes1,
-      typename... _Args2, size_t... _Indexes2>
-                           inline
-      pair<_T1, _T2>::
-      pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
-    _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
-      : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
- second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
-      { }
-
-
-
-
-
-
-  template<template<typename...> class _Trait, typename _Tp, typename _Tuple>
-    inline constexpr bool __unpack_std_tuple = false;
-
-  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
-    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>>
-      = _Trait<_Tp, _Up...>::value;
-
-  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
-    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, tuple<_Up...>&>
-      = _Trait<_Tp, _Up&...>::value;
-
-  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
-    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>>
-      = _Trait<_Tp, const _Up...>::value;
-
-  template<template<typename...> class _Trait, typename _Tp, typename... _Up>
-    inline constexpr bool __unpack_std_tuple<_Trait, _Tp, const tuple<_Up...>&>
-      = _Trait<_Tp, const _Up&...>::value;
-
-
-
-  template <typename _Fn, typename _Tuple, size_t... _Idx>
-    constexpr decltype(auto)
-    __apply_impl(_Fn&& __f, _Tuple&& __t, index_sequence<_Idx...>)
-    {
-      return std::__invoke(std::forward<_Fn>(__f),
-      std::get<_Idx>(std::forward<_Tuple>(__t))...);
-    }
-
-
-
-
-  template <typename _Fn, typename _Tuple>
-
-    constexpr decltype(auto)
-    apply(_Fn&& __f, _Tuple&& __t)
-    noexcept(__unpack_std_tuple<is_nothrow_invocable, _Fn, _Tuple>)
-    {
-      using _Indices
- = make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>;
-      return std::__apply_impl(std::forward<_Fn>(__f),
-          std::forward<_Tuple>(__t),
-          _Indices{});
-    }
-
-
-
-  template <typename _Tp, typename _Tuple, size_t... _Idx>
-    constexpr _Tp
-    __make_from_tuple_impl(_Tuple&& __t, index_sequence<_Idx...>)
-    { return _Tp(std::get<_Idx>(std::forward<_Tuple>(__t))...); }
-
-
-
-
-  template <typename _Tp, typename _Tuple>
-
-    constexpr _Tp
-    make_from_tuple(_Tuple&& __t)
-    noexcept(__unpack_std_tuple<is_nothrow_constructible, _Tp, _Tuple>)
-    {
-      constexpr size_t __n = tuple_size_v<remove_reference_t<_Tuple>>;
-
-      if constexpr (__n == 1)
- {
-   using _Elt = decltype(std::get<0>(std::declval<_Tuple>()));
-   static_assert(!__reference_constructs_from_temporary(_Tp, _Elt));
- }
-
-      return __make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t),
-      make_index_sequence<__n>{});
-    }
-# 3030 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/tuple" 3
-}
-# 50 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 2 3
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-namespace pmr
-{
-
-
-
-
-
-
-  class memory_resource
-  {
-    static constexpr size_t _S_max_align = alignof(max_align_t);
-
-  public:
-    memory_resource() = default;
-    memory_resource(const memory_resource&) = default;
-    virtual ~memory_resource();
-
-    memory_resource& operator=(const memory_resource&) = default;
-
-    [[nodiscard]]
-    void*
-    allocate(size_t __bytes, size_t __alignment = _S_max_align)
-    __attribute__((__returns_nonnull__,__alloc_size__(2),__alloc_align__(3)))
-    { return ::operator new(__bytes, do_allocate(__bytes, __alignment)); }
-
-    void
-    deallocate(void* __p, size_t __bytes, size_t __alignment = _S_max_align)
-    __attribute__((__nonnull__))
-    { return do_deallocate(__p, __bytes, __alignment); }
-
-    [[nodiscard]]
-    bool
-    is_equal(const memory_resource& __other) const noexcept
-    { return do_is_equal(__other); }
-
-  private:
-    virtual void*
-    do_allocate(size_t __bytes, size_t __alignment) = 0;
-
-    virtual void
-    do_deallocate(void* __p, size_t __bytes, size_t __alignment) = 0;
-
-    virtual bool
-    do_is_equal(const memory_resource& __other) const noexcept = 0;
-  };
-
-  [[nodiscard]]
-  inline bool
-  operator==(const memory_resource& __a, const memory_resource& __b) noexcept
-  { return &__a == &__b || __a.is_equal(__b); }
-
-
-  [[nodiscard]]
-  inline bool
-  operator!=(const memory_resource& __a, const memory_resource& __b) noexcept
-  { return !(__a == __b); }
-# 121 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-  template<typename _Tp>
-    class polymorphic_allocator
-    {
-
-
-      template<typename _Up>
- struct __not_pair { using type = void; };
-
-      template<typename _Up1, typename _Up2>
- struct __not_pair<pair<_Up1, _Up2>> { };
-
-    public:
-      using value_type = _Tp;
-
-      polymorphic_allocator() noexcept
-      {
- extern memory_resource* get_default_resource() noexcept
-   __attribute__((__returns_nonnull__));
- _M_resource = get_default_resource();
-      }
-
-      polymorphic_allocator(memory_resource* __r) noexcept
-      __attribute__((__nonnull__))
-      : _M_resource(__r)
-      { ; }
-
-      polymorphic_allocator(const polymorphic_allocator& __other) = default;
-
-      template<typename _Up>
- polymorphic_allocator(const polymorphic_allocator<_Up>& __x) noexcept
- : _M_resource(__x.resource())
- { }
-
-      polymorphic_allocator&
-      operator=(const polymorphic_allocator&) = delete;
-
-      [[nodiscard]]
-      _Tp*
-      allocate(size_t __n)
-      __attribute__((__returns_nonnull__))
-      {
- if ((__gnu_cxx::__int_traits<size_t>::__max / sizeof(_Tp)) < __n)
-   std::__throw_bad_array_new_length();
- return static_cast<_Tp*>(_M_resource->allocate(__n * sizeof(_Tp),
-             alignof(_Tp)));
-      }
-
-      void
-      deallocate(_Tp* __p, size_t __n) noexcept
-      __attribute__((__nonnull__))
-      { _M_resource->deallocate(__p, __n * sizeof(_Tp), alignof(_Tp)); }
-# 226 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      template<typename _Tp1, typename... _Args>
- __attribute__((__nonnull__))
- typename __not_pair<_Tp1>::type
- construct(_Tp1* __p, _Args&&... __args)
- {
-
-
-   using __use_tag
-     = std::__uses_alloc_t<_Tp1, polymorphic_allocator, _Args...>;
-   if constexpr (is_base_of_v<__uses_alloc0, __use_tag>)
-     ::new(__p) _Tp1(std::forward<_Args>(__args)...);
-   else if constexpr (is_base_of_v<__uses_alloc1_, __use_tag>)
-     ::new(__p) _Tp1(allocator_arg, *this,
-       std::forward<_Args>(__args)...);
-   else
-     ::new(__p) _Tp1(std::forward<_Args>(__args)..., *this);
- }
-
-      template<typename _Tp1, typename _Tp2,
-        typename... _Args1, typename... _Args2>
- __attribute__((__nonnull__))
- void
- construct(pair<_Tp1, _Tp2>* __p, piecewise_construct_t,
-    tuple<_Args1...> __x, tuple<_Args2...> __y)
- {
-   auto __x_tag =
-     __use_alloc<_Tp1, polymorphic_allocator, _Args1...>(*this);
-   auto __y_tag =
-     __use_alloc<_Tp2, polymorphic_allocator, _Args2...>(*this);
-   index_sequence_for<_Args1...> __x_i;
-   index_sequence_for<_Args2...> __y_i;
-
-   ::new(__p) pair<_Tp1, _Tp2>(piecewise_construct,
-          _S_construct_p(__x_tag, __x_i, __x),
-          _S_construct_p(__y_tag, __y_i, __y));
- }
-
-      template<typename _Tp1, typename _Tp2>
- __attribute__((__nonnull__))
- void
- construct(pair<_Tp1, _Tp2>* __p)
- { this->construct(__p, piecewise_construct, tuple<>(), tuple<>()); }
-
-      template<typename _Tp1, typename _Tp2, typename _Up, typename _Vp>
- __attribute__((__nonnull__))
- void
- construct(pair<_Tp1, _Tp2>* __p, _Up&& __x, _Vp&& __y)
- {
-   this->construct(__p, piecewise_construct,
-       std::forward_as_tuple(std::forward<_Up>(__x)),
-       std::forward_as_tuple(std::forward<_Vp>(__y)));
- }
-
-      template <typename _Tp1, typename _Tp2, typename _Up, typename _Vp>
- __attribute__((__nonnull__))
- void
- construct(pair<_Tp1, _Tp2>* __p, const std::pair<_Up, _Vp>& __pr)
- {
-   this->construct(__p, piecewise_construct,
-       std::forward_as_tuple(__pr.first),
-       std::forward_as_tuple(__pr.second));
- }
-
-      template<typename _Tp1, typename _Tp2, typename _Up, typename _Vp>
- __attribute__((__nonnull__))
- void
- construct(pair<_Tp1, _Tp2>* __p, pair<_Up, _Vp>&& __pr)
- {
-   this->construct(__p, piecewise_construct,
-       std::forward_as_tuple(std::forward<_Up>(__pr.first)),
-       std::forward_as_tuple(std::forward<_Vp>(__pr.second)));
- }
-# 309 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      template<typename _Up>
- __attribute__((__nonnull__))
- void
- destroy(_Up* __p)
- { __p->~_Up(); }
-
-      polymorphic_allocator
-      select_on_container_copy_construction() const noexcept
-      { return polymorphic_allocator(); }
-
-      memory_resource*
-      resource() const noexcept
-      __attribute__((__returns_nonnull__))
-      { return _M_resource; }
-
-
-
-      [[nodiscard]]
-      friend bool
-      operator==(const polymorphic_allocator& __a,
-   const polymorphic_allocator& __b) noexcept
-      { return *__a.resource() == *__b.resource(); }
-
-
-      [[nodiscard]]
-      friend bool
-      operator!=(const polymorphic_allocator& __a,
-   const polymorphic_allocator& __b) noexcept
-      { return !(__a == __b); }
-
-
-    private:
-
-      using __uses_alloc1_ = __uses_alloc1<polymorphic_allocator>;
-      using __uses_alloc2_ = __uses_alloc2<polymorphic_allocator>;
-
-      template<typename _Ind, typename... _Args>
- static tuple<_Args&&...>
- _S_construct_p(__uses_alloc0, _Ind, tuple<_Args...>& __t)
- { return std::move(__t); }
-
-      template<size_t... _Ind, typename... _Args>
- static tuple<allocator_arg_t, polymorphic_allocator, _Args&&...>
- _S_construct_p(__uses_alloc1_ __ua, index_sequence<_Ind...>,
-         tuple<_Args...>& __t)
- {
-   return {
-       allocator_arg, *__ua._M_a, std::get<_Ind>(std::move(__t))...
-   };
- }
-
-      template<size_t... _Ind, typename... _Args>
- static tuple<_Args&&..., polymorphic_allocator>
- _S_construct_p(__uses_alloc2_ __ua, index_sequence<_Ind...>,
-         tuple<_Args...>& __t)
- { return { std::get<_Ind>(std::move(__t))..., *__ua._M_a }; }
-
-
-      memory_resource* _M_resource;
-    };
-
-  template<typename _Tp1, typename _Tp2>
-    [[nodiscard]]
-    inline bool
-    operator==(const polymorphic_allocator<_Tp1>& __a,
-        const polymorphic_allocator<_Tp2>& __b) noexcept
-    { return *__a.resource() == *__b.resource(); }
-
-
-  template<typename _Tp1, typename _Tp2>
-    [[nodiscard]]
-    inline bool
-    operator!=(const polymorphic_allocator<_Tp1>& __a,
-        const polymorphic_allocator<_Tp2>& __b) noexcept
-    { return !(__a == __b); }
-
-
-}
-
-  template<typename _Alloc> struct allocator_traits;
-
-
-
-
-
-
-
-  template<typename _Tp>
-    struct allocator_traits<pmr::polymorphic_allocator<_Tp>>
-    {
-
-      using allocator_type = pmr::polymorphic_allocator<_Tp>;
-
-
-      using value_type = _Tp;
-
-
-      using pointer = _Tp*;
-
-
-      using const_pointer = const _Tp*;
-
-
-      using void_pointer = void*;
-
-
-      using const_void_pointer = const void*;
-
-
-      using difference_type = std::ptrdiff_t;
-
-
-      using size_type = std::size_t;
-
-
-
-
-
-      using propagate_on_container_copy_assignment = false_type;
-      using propagate_on_container_move_assignment = false_type;
-      using propagate_on_container_swap = false_type;
-
-      static allocator_type
-      select_on_container_copy_construction(const allocator_type&) noexcept
-      { return allocator_type(); }
-
-
-
-      using is_always_equal = false_type;
-
-      template<typename _Up>
- using rebind_alloc = pmr::polymorphic_allocator<_Up>;
-
-      template<typename _Up>
- using rebind_traits = allocator_traits<pmr::polymorphic_allocator<_Up>>;
-# 452 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      [[nodiscard]] static pointer
-      allocate(allocator_type& __a, size_type __n)
-      { return __a.allocate(__n); }
-# 467 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      [[nodiscard]] static pointer
-      allocate(allocator_type& __a, size_type __n, const_void_pointer)
-      { return __a.allocate(__n); }
-# 479 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      static void
-      deallocate(allocator_type& __a, pointer __p, size_type __n)
-      { __a.deallocate(__p, __n); }
-# 494 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      template<typename _Up, typename... _Args>
- static void
- construct(allocator_type& __a, _Up* __p, _Args&&... __args)
- { __a.construct(__p, std::forward<_Args>(__args)...); }
-# 506 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/memory_resource.h" 3
-      template<typename _Up>
- static void
- destroy(allocator_type&, _Up* __p)
- noexcept(is_nothrow_destructible<_Up>::value)
- { __p->~_Up(); }
-
-
-
-
-
-      static size_type
-      max_size(const allocator_type&) noexcept
-      { return size_t(-1) / sizeof(value_type); }
-    };
-
-
-}
-# 73 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/string" 2 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-  namespace pmr {
-    template<typename _CharT, typename _Traits = char_traits<_CharT>>
-      using basic_string = std::basic_string<_CharT, _Traits,
-          polymorphic_allocator<_CharT>>;
-    using string = basic_string<char>;
-
-
-
-    using u16string = basic_string<char16_t>;
-    using u32string = basic_string<char32_t>;
-    using wstring = basic_string<wchar_t>;
-  }
-
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 2 3
-
-
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-  class locale
-  {
-  public:
-
-
-    typedef int category;
-
-
-    class facet;
-    class id;
-    class _Impl;
-
-    friend class facet;
-    friend class _Impl;
-
-    template<typename _Facet>
-      friend bool
-      has_facet(const locale&) throw();
-
-    template<typename _Facet>
-      friend const _Facet&
-      use_facet(const locale&);
-
-    template<typename _Facet>
-      friend const _Facet*
-      __try_use_facet(const locale&) noexcept;
-
-    template<typename _Cache>
-      friend struct __use_cache;
-# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    static const category none = 0;
-    static const category ctype = 1L << 0;
-    static const category numeric = 1L << 1;
-    static const category collate = 1L << 2;
-    static const category time = 1L << 3;
-    static const category monetary = 1L << 4;
-    static const category messages = 1L << 5;
-    static const category all = (ctype | numeric | collate |
-        time | monetary | messages);
-# 127 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    locale() throw();
-# 136 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    locale(const locale& __other) throw();
-# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    explicit
-    locale(const char* __s);
-# 161 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    locale(const locale& __base, const char* __s, category __cat);
-# 172 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    explicit
-    locale(const std::string& __s) : locale(__s.c_str()) { }
-# 187 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    locale(const locale& __base, const std::string& __s, category __cat)
-    : locale(__base, __s.c_str(), __cat) { }
-# 202 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    locale(const locale& __base, const locale& __add, category __cat);
-# 215 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    template<typename _Facet>
-      locale(const locale& __other, _Facet* __f);
-
-
-    ~locale() throw();
-# 229 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    const locale&
-    operator=(const locale& __other) throw();
-# 244 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    template<typename _Facet>
-      [[__nodiscard__]]
-      locale
-      combine(const locale& __other) const;
-
-
-
-
-
-
-    [[__nodiscard__]] __attribute ((__abi_tag__ ("cxx11")))
-    string
-    name() const;
-# 275 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    [[__nodiscard__]]
-    bool
-    operator==(const locale& __other) const throw();
-# 286 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    [[__nodiscard__]]
-    bool
-    operator!=(const locale& __other) const throw()
-    { return !(this->operator==(__other)); }
-# 307 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    template<typename _Char, typename _Traits, typename _Alloc>
-      [[__nodiscard__]]
-      bool
-      operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
-   const basic_string<_Char, _Traits, _Alloc>& __s2) const;
-# 324 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    static locale
-    global(const locale& __loc);
-
-
-
-
-    [[__nodiscard__]]
-    static const locale&
-    classic();
-
-  private:
-
-    _Impl* _M_impl;
-
-
-    static _Impl* _S_classic;
-
-
-    static _Impl* _S_global;
-
-
-
-
-
-    static const char* const* const _S_categories;
-# 360 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    enum { _S_categories_size = 6 + 6 };
-
-
-    static __gthread_once_t _S_once;
-
-
-    explicit
-    locale(_Impl*) throw();
-
-    static void
-    _S_initialize();
-
-    static void
-    _S_initialize_once() throw();
-
-    static category
-    _S_normalize_category(category);
-
-    void
-    _M_coalesce(const locale& __base, const locale& __add, category __cat);
-
-
-    static const id* const _S_twinned_facets[];
-
-  };
-
-
-  template<typename _Tp>
-    constexpr bool __is_facet = is_base_of_v<locale::facet, _Tp>;
-  template<typename _Tp>
-    constexpr bool __is_facet<volatile _Tp> = false;
-# 404 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-  class locale::facet
-  {
-  private:
-    friend class locale;
-    friend class locale::_Impl;
-
-    mutable _Atomic_word _M_refcount;
-
-
-    static __c_locale _S_c_locale;
-
-
-    static const char _S_c_name[2];
-
-
-    static __gthread_once_t _S_once;
-
-
-    static void
-    _S_initialize_once();
-
-  protected:
-# 435 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    explicit
-    facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
-    { }
-
-
-    virtual
-    ~facet();
-
-    static void
-    _S_create_c_locale(__c_locale& __cloc, const char* __s,
-         __c_locale __old = 0);
-
-    static __c_locale
-    _S_clone_c_locale(__c_locale& __cloc) throw();
-
-    static void
-    _S_destroy_c_locale(__c_locale& __cloc);
-
-    static __c_locale
-    _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
-
-
-
-    static __c_locale
-    _S_get_c_locale();
-
-    __attribute__ ((__const__)) static const char*
-    _S_get_c_name() throw();
-# 471 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-    facet(const facet&) = delete;
-
-    facet&
-    operator=(const facet&) = delete;
-
-
-  private:
-    void
-    _M_add_reference() const throw()
-    { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
-
-    void
-    _M_remove_reference() const throw()
-    {
-
-                                                           ;
-      if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
- {
-                                                              ;
-   try
-     { delete this; }
-   catch(...)
-     { }
- }
-    }
-
-    const facet* _M_sso_shim(const id*) const;
-    const facet* _M_cow_shim(const id*) const;
-
-  protected:
-    class __shim;
-  };
-# 516 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-  class locale::id
-  {
-  private:
-    friend class locale;
-    friend class locale::_Impl;
-
-    template<typename _Facet>
-      friend const _Facet&
-      use_facet(const locale&);
-
-    template<typename _Facet>
-      friend bool
-      has_facet(const locale&) throw();
-
-    template<typename _Facet>
-      friend const _Facet*
-      __try_use_facet(const locale&) noexcept;
-
-
-
-
-    mutable size_t _M_index;
-
-
-    static _Atomic_word _S_refcount;
-
-    void
-    operator=(const id&);
-
-    id(const id&);
-
-  public:
-
-
-
-    id() { }
-
-    size_t
-    _M_id() const throw();
-  };
-
-
-
-  class locale::_Impl
-  {
-  public:
-
-    friend class locale;
-    friend class locale::facet;
-
-    template<typename _Facet>
-      friend bool
-      has_facet(const locale&) throw();
-
-    template<typename _Facet>
-      friend const _Facet&
-      use_facet(const locale&);
-
-    template<typename _Facet>
-      friend const _Facet*
-      __try_use_facet(const locale&) noexcept;
-
-    template<typename _Cache>
-      friend struct __use_cache;
-
-  private:
-
-    _Atomic_word _M_refcount;
-    const facet** _M_facets;
-    size_t _M_facets_size;
-    const facet** _M_caches;
-    char** _M_names;
-    static const locale::id* const _S_id_ctype[];
-    static const locale::id* const _S_id_numeric[];
-    static const locale::id* const _S_id_collate[];
-    static const locale::id* const _S_id_time[];
-    static const locale::id* const _S_id_monetary[];
-    static const locale::id* const _S_id_messages[];
-    static const locale::id* const* const _S_facet_categories[];
-
-    void
-    _M_add_reference() throw()
-    { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
-
-    void
-    _M_remove_reference() throw()
-    {
-
-                                                           ;
-      if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
- {
-                                                              ;
-   try
-     { delete this; }
-   catch(...)
-     { }
- }
-    }
-
-    _Impl(const _Impl&, size_t);
-    _Impl(const char*, size_t);
-    _Impl(size_t) throw();
-
-   ~_Impl() throw();
-
-    _Impl(const _Impl&);
-
-    void
-    operator=(const _Impl&);
-
-    bool
-    _M_check_same_name()
-    {
-      bool __ret = true;
-      if (_M_names[1])
-
- for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
-   __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
-      return __ret;
-    }
-
-    void
-    _M_replace_categories(const _Impl*, category);
-
-    void
-    _M_replace_category(const _Impl*, const locale::id* const*);
-
-    void
-    _M_replace_facet(const _Impl*, const locale::id*);
-
-    void
-    _M_install_facet(const locale::id*, const facet*);
-
-    template<typename _Facet>
-      void
-      _M_init_facet(_Facet* __facet)
-      { _M_install_facet(&_Facet::id, __facet); }
-
-    template<typename _Facet>
-      void
-      _M_init_facet_unchecked(_Facet* __facet)
-      {
- __facet->_M_add_reference();
- _M_facets[_Facet::id._M_id()] = __facet;
-      }
-
-    void
-    _M_install_cache(const facet*, size_t);
-
-    void _M_init_extra(facet**);
-    void _M_init_extra(void*, void*, const char*, const char*);
-
-
-
-
-  };
-# 686 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-  template<typename _CharT>
-    class __cxx11:: collate : public locale::facet
-    {
-    public:
-
-
-
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
-
-
-    protected:
-
-
-      __c_locale _M_c_locale_collate;
-
-    public:
-
-      static locale::id id;
-# 713 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      explicit
-      collate(size_t __refs = 0)
-      : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
-      { }
-# 727 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      explicit
-      collate(__c_locale __cloc, size_t __refs = 0)
-      : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
-      { }
-# 744 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      int
-      compare(const _CharT* __lo1, const _CharT* __hi1,
-       const _CharT* __lo2, const _CharT* __hi2) const
-      { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
-# 763 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      string_type
-      transform(const _CharT* __lo, const _CharT* __hi) const
-      { return this->do_transform(__lo, __hi); }
-# 777 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      long
-      hash(const _CharT* __lo, const _CharT* __hi) const
-      { return this->do_hash(__lo, __hi); }
-
-
-      int
-      _M_compare(const _CharT*, const _CharT*) const throw();
-
-      size_t
-      _M_transform(_CharT*, const _CharT*, size_t) const throw();
-
-  protected:
-
-      virtual
-      ~collate()
-      { _S_destroy_c_locale(_M_c_locale_collate); }
-# 806 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      virtual int
-      do_compare(const _CharT* __lo1, const _CharT* __hi1,
-   const _CharT* __lo2, const _CharT* __hi2) const;
-# 820 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      virtual string_type
-      do_transform(const _CharT* __lo, const _CharT* __hi) const;
-# 833 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 3
-      virtual long
-      do_hash(const _CharT* __lo, const _CharT* __hi) const;
-    };
-
-  template<typename _CharT>
-    locale::id collate<_CharT>::id;
-
-
-  template<>
-    int
-    collate<char>::_M_compare(const char*, const char*) const throw();
-
-  template<>
-    size_t
-    collate<char>::_M_transform(char*, const char*, size_t) const throw();
-
-
-  template<>
-    int
-    collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
-
-  template<>
-    size_t
-    collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
-
-
-
-  template<typename _CharT>
-    class __cxx11:: collate_byname : public collate<_CharT>
-    {
-    public:
-
-
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
-
-
-      explicit
-      collate_byname(const char* __s, size_t __refs = 0)
-      : collate<_CharT>(__refs)
-      {
- if (__builtin_strcmp(__s, "C") != 0
-     && __builtin_strcmp(__s, "POSIX") != 0)
-   {
-     this->_S_destroy_c_locale(this->_M_c_locale_collate);
-     this->_S_create_c_locale(this->_M_c_locale_collate, __s);
-   }
-      }
-
-
-      explicit
-      collate_byname(const string& __s, size_t __refs = 0)
-      : collate_byname(__s.c_str(), __refs) { }
-
-
-    protected:
-      virtual
-      ~collate_byname() { }
-    };
-
-
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-#pragma GCC diagnostic ignored "-Wvariadic-macros"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _Facet>
-    locale::
-    locale(const locale& __other, _Facet* __f)
-    {
-
-
-      if (__builtin_expect(!__f, 0))
- {
-   _M_impl = __other._M_impl;
-   _M_impl->_M_add_reference();
-   return;
- }
-
-      _M_impl = new _Impl(*__other._M_impl, 1);
-
-      try
- { _M_impl->_M_install_facet(&_Facet::id, __f); }
-      catch(...)
- {
-   _M_impl->_M_remove_reference();
-   throw;
- }
-      delete [] _M_impl->_M_names[0];
-      _M_impl->_M_names[0] = 0;
-    }
-
-  template<typename _Facet>
-    locale
-    locale::
-    combine(const locale& __other) const
-    {
-
-      static_assert(__is_facet<_Facet>, "Template argument must be a facet");
-
-
-      _Impl* __tmp = new _Impl(*_M_impl, 1);
-      try
- {
-   __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
- }
-      catch(...)
- {
-   __tmp->_M_remove_reference();
-   throw;
- }
-      delete[] __tmp->_M_names[0];
-      __tmp->_M_names[0] = 0;
-      return locale(__tmp);
-    }
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    bool
-    locale::
-    operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
-        const basic_string<_CharT, _Traits, _Alloc>& __s2) const
-    {
-      typedef std::collate<_CharT> __collate_type;
-      const __collate_type& __collate = use_facet<__collate_type>(*this);
-      return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
-    __s2.data(), __s2.data() + __s2.length()) < 0);
-    }
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-  template<typename _Facet>
-    inline const _Facet*
-    __try_use_facet(const locale& __loc) noexcept
-    {
-      const size_t __i = _Facet::id._M_id();
-      const locale::facet** __facets = __loc._M_impl->_M_facets;
-
-
-
-
-
-
-
-      if constexpr (__is_same(const _Facet, const ctype<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const num_get<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const num_put<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const codecvt<char, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const collate<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const moneypunct<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const moneypunct<char, true>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const money_get<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const money_put<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const numpunct<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const time_get<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const time_put<char>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const messages<char>)) return static_cast<const _Facet*>(__facets[__i]);
-
-
-      if constexpr (__is_same(const _Facet, const ctype<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const num_get<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const num_put<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const codecvt<wchar_t, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const collate<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const moneypunct<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const moneypunct<wchar_t, true>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const money_get<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const money_put<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const numpunct<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const time_get<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const time_put<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const messages<wchar_t>)) return static_cast<const _Facet*>(__facets[__i]);
-
-
-      if constexpr (__is_same(const _Facet, const codecvt<char16_t, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
-      if constexpr (__is_same(const _Facet, const codecvt<char32_t, char, mbstate_t>)) return static_cast<const _Facet*>(__facets[__i]);
-
-
-
-
-      if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
- return 0;
-
-
-      return dynamic_cast<const _Facet*>(__facets[__i]);
-
-
-
-    }
-#pragma GCC diagnostic pop
-# 187 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 3
-  template<typename _Facet>
-    [[__nodiscard__]]
-    inline bool
-    has_facet(const locale& __loc) noexcept
-    {
-
-      static_assert(__is_base_of(locale::facet, _Facet),
-      "template argument must be derived from locale::facet");
-
-
-
-      return std::__try_use_facet<_Facet>(__loc) != 0;
-    }
-# 215 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.tcc" 3
-#pragma GCC diagnostic push
-
-  template<typename _Facet>
-    [[__nodiscard__]]
-    inline const _Facet&
-    use_facet(const locale& __loc)
-    {
-
-      static_assert(__is_base_of(locale::facet, _Facet),
-      "template argument must be derived from locale::facet");
-
-
-
-      if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc))
- return *__f;
-      __throw_bad_cast();
-    }
-#pragma GCC diagnostic pop
-
-
-
-  template<typename _CharT>
-    int
-    collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
-    { return 0; }
-
-
-  template<typename _CharT>
-    size_t
-    collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
-    { return 0; }
-
-  template<typename _CharT>
-    int
-    collate<_CharT>::
-    do_compare(const _CharT* __lo1, const _CharT* __hi1,
-        const _CharT* __lo2, const _CharT* __hi2) const
-    {
-
-
-      const string_type __one(__lo1, __hi1);
-      const string_type __two(__lo2, __hi2);
-
-      const _CharT* __p = __one.c_str();
-      const _CharT* __pend = __one.data() + __one.length();
-      const _CharT* __q = __two.c_str();
-      const _CharT* __qend = __two.data() + __two.length();
-
-
-
-
-      for (;;)
- {
-   const int __res = _M_compare(__p, __q);
-   if (__res)
-     return __res;
-
-   __p += char_traits<_CharT>::length(__p);
-   __q += char_traits<_CharT>::length(__q);
-   if (__p == __pend && __q == __qend)
-     return 0;
-   else if (__p == __pend)
-     return -1;
-   else if (__q == __qend)
-     return 1;
-
-   __p++;
-   __q++;
- }
-    }
-
-  template<typename _CharT>
-    typename collate<_CharT>::string_type
-    collate<_CharT>::
-    do_transform(const _CharT* __lo, const _CharT* __hi) const
-    {
-      string_type __ret;
-
-
-      const string_type __str(__lo, __hi);
-
-      const _CharT* __p = __str.c_str();
-      const _CharT* __pend = __str.data() + __str.length();
-
-      size_t __len = (__hi - __lo) * 2;
-
-      struct _Buf
-      {
- _Buf(size_t __n, void* __buf, int __e)
- : _M_c(__buf ? (_CharT*)__buf : new _CharT[__n]),
-   _M_stackbuf(__buf),
-   _M_errno(__e)
- { }
-
- ~_Buf()
- {
-   if (_M_c != _M_stackbuf)
-     delete[] _M_c;
-   if ((*__errno_location ()) == 0)
-     (*__errno_location ()) = _M_errno;
- }
-
- void _M_realloc(size_t __len)
- {
-   _CharT* __p = new _CharT[__len];
-   if (_M_c != _M_stackbuf)
-     delete[] _M_c;
-   _M_c = __p;
- }
-
- _CharT* _M_c;
- void* const _M_stackbuf;
- int _M_errno;
-      };
-
-      const size_t __bytes = __len * sizeof(_CharT);
-      _Buf __buf(__len, __bytes <= 256 ? __builtin_alloca(__bytes) : 0, (*__errno_location ()));
-      (*__errno_location ()) = 0;
-
-
-
-
-      for (;;)
- {
-
-   size_t __res = _M_transform(__buf._M_c, __p, __len);
-
-
-   if (__res >= __len)
-     {
-       if (__builtin_expect((*__errno_location ()), 0))
-  {
-
-    __throw_system_error((*__errno_location ()));
-
-
-
-
-
-
-
-  }
-
-       __len = __res + 1;
-       __buf._M_realloc(__len);
-       __res = _M_transform(__buf._M_c, __p, __len);
-     }
-
-   __ret.append(__buf._M_c, __res);
-   __p += char_traits<_CharT>::length(__p);
-   if (__p == __pend)
-     break;
-
-   __p++;
-   __ret.push_back(_CharT());
- }
-
-      return __ret;
-    }
-
-  template<typename _CharT>
-    long
-    collate<_CharT>::
-    do_hash(const _CharT* __lo, const _CharT* __hi) const
-    {
-      unsigned long __val = 0;
-      for (; __lo < __hi; ++__lo)
- __val =
-   *__lo + ((__val << 7)
-     | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
-    __digits - 7)));
-      return static_cast<long>(__val);
-    }
-
-
-
-
-  extern template class collate<char>;
-  extern template class collate_byname<char>;
-
-  extern template
-    const collate<char>*
-    __try_use_facet<collate<char> >(const locale&) noexcept;
-
-  extern template
-    const collate<char>&
-    use_facet<collate<char> >(const locale&);
-
-  extern template
-    bool
-    has_facet<collate<char> >(const locale&);
-
-
-  extern template class collate<wchar_t>;
-  extern template class collate_byname<wchar_t>;
-
-  extern template
-    const collate<wchar_t>*
-    __try_use_facet<collate<wchar_t> >(const locale&) noexcept;
-
-  extern template
-    const collate<wchar_t>&
-    use_facet<collate<wchar_t> >(const locale&);
-
-  extern template
-    bool
-    has_facet<collate<wchar_t> >(const locale&);
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 897 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_classes.h" 2 3
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 2 3
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/error_constants.h" 1 3
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/error_constants.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  enum class errc
-    {
-      address_family_not_supported = 97,
-      address_in_use = 98,
-      address_not_available = 99,
-      already_connected = 106,
-      argument_list_too_long = 7,
-      argument_out_of_domain = 33,
-      bad_address = 14,
-      bad_file_descriptor = 9,
-
-
-      bad_message = 74,
-
-
-      broken_pipe = 32,
-      connection_aborted = 103,
-      connection_already_in_progress = 114,
-      connection_refused = 111,
-      connection_reset = 104,
-      cross_device_link = 18,
-      destination_address_required = 89,
-      device_or_resource_busy = 16,
-      directory_not_empty = 39,
-      executable_format_error = 8,
-      file_exists = 17,
-      file_too_large = 27,
-      filename_too_long = 36,
-      function_not_supported = 38,
-      host_unreachable = 113,
-
-
-      identifier_removed = 43,
-
-
-      illegal_byte_sequence = 84,
-      inappropriate_io_control_operation = 25,
-      interrupted = 4,
-      invalid_argument = 22,
-      invalid_seek = 29,
-      io_error = 5,
-      is_a_directory = 21,
-      message_size = 90,
-      network_down = 100,
-      network_reset = 102,
-      network_unreachable = 101,
-      no_buffer_space = 105,
-      no_child_process = 10,
-
-
-      no_link = 67,
-
-
-      no_lock_available = 37,
-
-
-      no_message_available = 61,
-
-
-      no_message = 42,
-      no_protocol_option = 92,
-      no_space_on_device = 28,
-
-
-      no_stream_resources = 63,
-
-
-      no_such_device_or_address = 6,
-      no_such_device = 19,
-      no_such_file_or_directory = 2,
-      no_such_process = 3,
-      not_a_directory = 20,
-      not_a_socket = 88,
-
-
-      not_a_stream = 60,
-
-
-      not_connected = 107,
-      not_enough_memory = 12,
-
-
-      not_supported = 95,
-
-
-
-      operation_canceled = 125,
-
-
-      operation_in_progress = 115,
-      operation_not_permitted = 1,
-      operation_not_supported = 95,
-      operation_would_block = 11,
-
-
-      owner_dead = 130,
-
-
-      permission_denied = 13,
-
-
-      protocol_error = 71,
-
-
-      protocol_not_supported = 93,
-      read_only_file_system = 30,
-      resource_deadlock_would_occur = 35,
-      resource_unavailable_try_again = 11,
-      result_out_of_range = 34,
-
-
-      state_not_recoverable = 131,
-
-
-
-      stream_timeout = 62,
-
-
-
-      text_file_busy = 26,
-
-
-      timed_out = 110,
-      too_many_files_open_in_system = 23,
-      too_many_files_open = 24,
-      too_many_links = 31,
-      too_many_symbolic_link_levels = 40,
-
-
-      value_too_large = 75,
-
-
-
-
-      wrong_protocol_type = 91
-    };
-
-
-}
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/stdexcept" 1 3
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/stdexcept" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-  struct __cow_string
-  {
-    union {
-      const char* _M_p;
-      char _M_bytes[sizeof(const char*)];
-    };
-
-    __cow_string();
-    __cow_string(const std::string&);
-    __cow_string(const char*, size_t);
-    __cow_string(const __cow_string&) noexcept;
-    __cow_string& operator=(const __cow_string&) noexcept;
-    ~__cow_string();
-
-    __cow_string(__cow_string&&) noexcept;
-    __cow_string& operator=(__cow_string&&) noexcept;
-
-  };
-
-  typedef basic_string<char> __sso_string;
-# 115 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/stdexcept" 3
-  class logic_error : public exception
-  {
-    __cow_string _M_msg;
-
-  public:
-
-    explicit
-    logic_error(const string& __arg) ;
-
-
-    explicit
-    logic_error(const char*) ;
-
-    logic_error(logic_error&&) noexcept;
-    logic_error& operator=(logic_error&&) noexcept;
-
-
-
-    logic_error(const logic_error&) noexcept;
-    logic_error& operator=(const logic_error&) noexcept;
-
-
-
-
-
-    virtual ~logic_error() noexcept;
-
-
-
-    virtual const char*
-    what() const noexcept;
-
-
-
-
-
-  };
-
-
-
-  class domain_error : public logic_error
-  {
-  public:
-    explicit domain_error(const string& __arg) ;
-
-    explicit domain_error(const char*) ;
-    domain_error(const domain_error&) = default;
-    domain_error& operator=(const domain_error&) = default;
-    domain_error(domain_error&&) = default;
-    domain_error& operator=(domain_error&&) = default;
-
-    virtual ~domain_error() noexcept;
-  };
-
-
-  class invalid_argument : public logic_error
-  {
-  public:
-    explicit invalid_argument(const string& __arg) ;
-
-    explicit invalid_argument(const char*) ;
-    invalid_argument(const invalid_argument&) = default;
-    invalid_argument& operator=(const invalid_argument&) = default;
-    invalid_argument(invalid_argument&&) = default;
-    invalid_argument& operator=(invalid_argument&&) = default;
-
-    virtual ~invalid_argument() noexcept;
-  };
-
-
-
-  class length_error : public logic_error
-  {
-  public:
-    explicit length_error(const string& __arg) ;
-
-    explicit length_error(const char*) ;
-    length_error(const length_error&) = default;
-    length_error& operator=(const length_error&) = default;
-    length_error(length_error&&) = default;
-    length_error& operator=(length_error&&) = default;
-
-    virtual ~length_error() noexcept;
-  };
-
-
-
-  class out_of_range : public logic_error
-  {
-  public:
-    explicit out_of_range(const string& __arg) ;
-
-    explicit out_of_range(const char*) ;
-    out_of_range(const out_of_range&) = default;
-    out_of_range& operator=(const out_of_range&) = default;
-    out_of_range(out_of_range&&) = default;
-    out_of_range& operator=(out_of_range&&) = default;
-
-    virtual ~out_of_range() noexcept;
-  };
-
-
-
-
-
-
-  class runtime_error : public exception
-  {
-    __cow_string _M_msg;
-
-  public:
-
-    explicit
-    runtime_error(const string& __arg) ;
-
-
-    explicit
-    runtime_error(const char*) ;
-
-    runtime_error(runtime_error&&) noexcept;
-    runtime_error& operator=(runtime_error&&) noexcept;
-
-
-
-    runtime_error(const runtime_error&) noexcept;
-    runtime_error& operator=(const runtime_error&) noexcept;
-
-
-
-
-
-    virtual ~runtime_error() noexcept;
-
-
-
-    virtual const char*
-    what() const noexcept;
-
-
-
-
-
-  };
-
-
-  class range_error : public runtime_error
-  {
-  public:
-    explicit range_error(const string& __arg) ;
-
-    explicit range_error(const char*) ;
-    range_error(const range_error&) = default;
-    range_error& operator=(const range_error&) = default;
-    range_error(range_error&&) = default;
-    range_error& operator=(range_error&&) = default;
-
-    virtual ~range_error() noexcept;
-  };
-
-
-  class overflow_error : public runtime_error
-  {
-  public:
-    explicit overflow_error(const string& __arg) ;
-
-    explicit overflow_error(const char*) ;
-    overflow_error(const overflow_error&) = default;
-    overflow_error& operator=(const overflow_error&) = default;
-    overflow_error(overflow_error&&) = default;
-    overflow_error& operator=(overflow_error&&) = default;
-
-    virtual ~overflow_error() noexcept;
-  };
-
-
-  class underflow_error : public runtime_error
-  {
-  public:
-    explicit underflow_error(const string& __arg) ;
-
-    explicit underflow_error(const char*) ;
-    underflow_error(const underflow_error&) = default;
-    underflow_error& operator=(const underflow_error&) = default;
-    underflow_error(underflow_error&&) = default;
-    underflow_error& operator=(underflow_error&&) = default;
-
-    virtual ~underflow_error() noexcept;
-  };
-
-
-
-
-}
-# 46 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 2 3
-
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-  class error_code;
-  class error_condition;
-  class system_error;
-
-
-  template<typename _Tp>
-    struct is_error_code_enum : public false_type { };
-
-
-  template<typename _Tp>
-    struct is_error_condition_enum : public false_type { };
-
-  template<>
-    struct is_error_condition_enum<errc>
-    : public true_type { };
-
-
-  template <typename _Tp>
-    inline constexpr bool is_error_code_enum_v =
-      is_error_code_enum<_Tp>::value;
-  template <typename _Tp>
-    inline constexpr bool is_error_condition_enum_v =
-      is_error_condition_enum<_Tp>::value;
-
-
-
-inline namespace _V2 {
-# 108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  class error_category
-  {
-  public:
-    constexpr error_category() noexcept = default;
-
-    virtual ~error_category();
-
-    error_category(const error_category&) = delete;
-    error_category& operator=(const error_category&) = delete;
-
-
-    virtual const char*
-    name() const noexcept = 0;
-
-
-
-
-
-
-  private:
-    __attribute ((__abi_tag__ ("cxx11")))
-    virtual __cow_string
-    _M_message(int) const;
-
-  public:
-
-    __attribute ((__abi_tag__ ("cxx11")))
-    virtual string
-    message(int) const = 0;
-# 146 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  public:
-
-    virtual error_condition
-    default_error_condition(int __i) const noexcept;
-
-
-    virtual bool
-    equivalent(int __i, const error_condition& __cond) const noexcept;
-
-
-    virtual bool
-    equivalent(const error_code& __code, int __i) const noexcept;
-
-
-    [[__nodiscard__]]
-    bool
-    operator==(const error_category& __other) const noexcept
-    { return this == &__other; }
-# 172 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-    bool
-    operator<(const error_category& __other) const noexcept
-    { return less<const error_category*>()(this, &__other); }
-
-    bool
-    operator!=(const error_category& __other) const noexcept
-    { return this != &__other; }
-
-  };
-
-
-
-
-  [[__nodiscard__, __gnu__::__const__]]
-  const error_category&
-  generic_category() noexcept;
-
-
-  [[__nodiscard__, __gnu__::__const__]]
-  const error_category&
-  system_category() noexcept;
-
-
-
-}
-
-
-
-
-
-namespace __adl_only
-{
-  void make_error_code() = delete;
-  void make_error_condition() = delete;
-}
-# 225 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  class error_code
-  {
-    template<typename _ErrorCodeEnum>
-      using _Check
- = __enable_if_t<is_error_code_enum<_ErrorCodeEnum>::value>;
-
-  public:
-    error_code() noexcept
-    : _M_value(0), _M_cat(&system_category()) { }
-
-    error_code(int __v, const error_category& __cat) noexcept
-    : _M_value(__v), _M_cat(&__cat) { }
-
-
-    template<typename _ErrorCodeEnum,
-      typename = _Check<_ErrorCodeEnum>>
-      error_code(_ErrorCodeEnum __e) noexcept
-      {
- using __adl_only::make_error_code;
- *this = make_error_code(__e);
-      }
-
-    error_code(const error_code&) = default;
-    error_code& operator=(const error_code&) = default;
-
-    void
-    assign(int __v, const error_category& __cat) noexcept
-    {
-      _M_value = __v;
-      _M_cat = &__cat;
-    }
-
-    void
-    clear() noexcept
-    { assign(0, system_category()); }
-
-
-    [[__nodiscard__]]
-    int
-    value() const noexcept { return _M_value; }
-
-
-    [[__nodiscard__]]
-    const error_category&
-    category() const noexcept { return *_M_cat; }
-
-
-    error_condition
-    default_error_condition() const noexcept;
-
-
-    __attribute ((__abi_tag__ ("cxx11")))
-    string
-    message() const
-    { return category().message(value()); }
-
-
-    [[__nodiscard__]]
-    explicit operator bool() const noexcept
-    { return _M_value != 0; }
-
-
-  private:
-    int _M_value;
-    const error_category* _M_cat;
-  };
-# 302 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  [[__nodiscard__]]
-  inline error_code
-  make_error_code(errc __e) noexcept
-  { return error_code(static_cast<int>(__e), generic_category()); }
-# 325 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  inline bool
-  operator<(const error_code& __lhs, const error_code& __rhs) noexcept
-  {
-    return (__lhs.category() < __rhs.category()
-     || (__lhs.category() == __rhs.category()
-  && __lhs.value() < __rhs.value()));
-  }
-
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
-    { return (__os << __e.category().name() << ':' << __e.value()); }
-# 356 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  class error_condition
-  {
-    template<typename _ErrorConditionEnum>
-      using _Check
- = __enable_if_t<is_error_condition_enum<_ErrorConditionEnum>::value>;
-
-  public:
-
-    error_condition() noexcept
-    : _M_value(0), _M_cat(&generic_category()) { }
-
-
-    error_condition(int __v, const error_category& __cat) noexcept
-    : _M_value(__v), _M_cat(&__cat) { }
-
-
-    template<typename _ErrorConditionEnum,
-      typename = _Check<_ErrorConditionEnum>>
-      error_condition(_ErrorConditionEnum __e) noexcept
-      {
- using __adl_only::make_error_condition;
- *this = make_error_condition(__e);
-      }
-
-    error_condition(const error_condition&) = default;
-    error_condition& operator=(const error_condition&) = default;
-
-
-    void
-    assign(int __v, const error_category& __cat) noexcept
-    {
-      _M_value = __v;
-      _M_cat = &__cat;
-    }
-
-
-    void
-    clear() noexcept
-    { assign(0, generic_category()); }
-
-
-
-
-    [[__nodiscard__]]
-    int
-    value() const noexcept { return _M_value; }
-
-
-    [[__nodiscard__]]
-    const error_category&
-    category() const noexcept { return *_M_cat; }
-
-
-    __attribute ((__abi_tag__ ("cxx11")))
-    string
-    message() const
-    { return category().message(value()); }
-
-
-    [[__nodiscard__]]
-    explicit operator bool() const noexcept
-    { return _M_value != 0; }
-
-
-  private:
-    int _M_value;
-    const error_category* _M_cat;
-  };
-# 435 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  [[__nodiscard__]]
-  inline error_condition
-  make_error_condition(errc __e) noexcept
-  { return error_condition(static_cast<int>(__e), generic_category()); }
-# 449 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  [[__nodiscard__]]
-  inline bool
-  operator==(const error_code& __lhs, const error_code& __rhs) noexcept
-  {
-    return __lhs.category() == __rhs.category()
-      && __lhs.value() == __rhs.value();
-  }
-# 465 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  [[__nodiscard__]]
-  inline bool
-  operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
-  {
-    return __lhs.category().equivalent(__lhs.value(), __rhs)
-      || __rhs.category().equivalent(__lhs, __rhs.value());
-  }
-# 480 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  [[__nodiscard__]]
-  inline bool
-  operator==(const error_condition& __lhs,
-      const error_condition& __rhs) noexcept
-  {
-    return __lhs.category() == __rhs.category()
-      && __lhs.value() == __rhs.value();
-  }
-# 508 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  inline bool
-  operator<(const error_condition& __lhs,
-     const error_condition& __rhs) noexcept
-  {
-    return (__lhs.category() < __rhs.category()
-     || (__lhs.category() == __rhs.category()
-  && __lhs.value() < __rhs.value()));
-  }
-
-
-  inline bool
-  operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
-  {
-    return (__rhs.category().equivalent(__rhs.value(), __lhs)
-     || __lhs.category().equivalent(__rhs, __lhs.value()));
-  }
-
-
-  inline bool
-  operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
-  { return !(__lhs == __rhs); }
-
-
-  inline bool
-  operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
-  { return !(__lhs == __rhs); }
-
-
-  inline bool
-  operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
-  { return !(__lhs == __rhs); }
-
-
-  inline bool
-  operator!=(const error_condition& __lhs,
-      const error_condition& __rhs) noexcept
-  { return !(__lhs == __rhs); }
-# 558 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/system_error" 3
-  class system_error : public std::runtime_error
-  {
-  private:
-    error_code _M_code;
-
-  public:
-    system_error(error_code __ec = error_code())
-    : runtime_error(__ec.message()), _M_code(__ec) { }
-
-    system_error(error_code __ec, const string& __what)
-    : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
-
-    system_error(error_code __ec, const char* __what)
-    : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
-
-    system_error(int __v, const error_category& __ecat, const char* __what)
-    : system_error(error_code(__v, __ecat), __what) { }
-
-    system_error(int __v, const error_category& __ecat)
-    : runtime_error(error_code(__v, __ecat).message()),
-      _M_code(__v, __ecat) { }
-
-    system_error(int __v, const error_category& __ecat, const string& __what)
-    : runtime_error(__what + (": " + error_code(__v, __ecat).message())),
-      _M_code(__v, __ecat) { }
-
-
-    system_error (const system_error &) = default;
-    system_error &operator= (const system_error &) = default;
-
-
-    virtual ~system_error() noexcept;
-
-    const error_code&
-    code() const noexcept { return _M_code; }
-  };
-
-
-}
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-  template<>
-    struct hash<error_code>
-    : public __hash_base<size_t, error_code>
-    {
-      size_t
-      operator()(const error_code& __e) const noexcept
-      {
- const size_t __tmp = std::_Hash_impl::hash(__e.value());
- return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
-      }
-    };
-
-
-
-
-
-
-  template<>
-    struct hash<error_condition>
-    : public __hash_base<size_t, error_condition>
-    {
-      size_t
-      operator()(const error_condition& __e) const noexcept
-      {
- const size_t __tmp = std::_Hash_impl::hash(__e.value());
- return std::_Hash_impl::__hash_combine(&__e.category(), __tmp);
-      }
-    };
-
-
-
-}
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 2 3
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-  enum _Ios_Fmtflags
-    {
-      _S_boolalpha = 1L << 0,
-      _S_dec = 1L << 1,
-      _S_fixed = 1L << 2,
-      _S_hex = 1L << 3,
-      _S_internal = 1L << 4,
-      _S_left = 1L << 5,
-      _S_oct = 1L << 6,
-      _S_right = 1L << 7,
-      _S_scientific = 1L << 8,
-      _S_showbase = 1L << 9,
-      _S_showpoint = 1L << 10,
-      _S_showpos = 1L << 11,
-      _S_skipws = 1L << 12,
-      _S_unitbuf = 1L << 13,
-      _S_uppercase = 1L << 14,
-      _S_adjustfield = _S_left | _S_right | _S_internal,
-      _S_basefield = _S_dec | _S_oct | _S_hex,
-      _S_floatfield = _S_scientific | _S_fixed,
-      _S_ios_fmtflags_end = 1L << 16,
-      _S_ios_fmtflags_max = 2147483647,
-      _S_ios_fmtflags_min = ~2147483647
-    };
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Fmtflags
-  operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept
-  { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Fmtflags
-  operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept
-  { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Fmtflags
-  operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) noexcept
-  { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Fmtflags
-  operator~(_Ios_Fmtflags __a) noexcept
-  { return _Ios_Fmtflags(~static_cast<int>(__a)); }
-
-  constexpr
-  inline const _Ios_Fmtflags&
-  operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept
-  { return __a = __a | __b; }
-
-  constexpr
-  inline const _Ios_Fmtflags&
-  operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept
-  { return __a = __a & __b; }
-
-  constexpr
-  inline const _Ios_Fmtflags&
-  operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b) noexcept
-  { return __a = __a ^ __b; }
-# 127 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-  enum __attribute__((__flag_enum__)) _Ios_Openmode
-    {
-      _S_app = 1L << 0,
-      _S_ate = 1L << 1,
-      _S_bin = 1L << 2,
-      _S_in = 1L << 3,
-      _S_out = 1L << 4,
-      _S_trunc = 1L << 5,
-      _S_noreplace __attribute__((__unused__)) = 1L << 6,
-      _S_ios_openmode_end __attribute__((__unused__)) = 1L << 16,
-      _S_ios_openmode_max __attribute__((__unused__)) = 2147483647,
-      _S_ios_openmode_min __attribute__((__unused__)) = ~2147483647
-    };
-
-
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Openmode
-  operator&(_Ios_Openmode __a, _Ios_Openmode __b) noexcept
-  { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Openmode
-  operator|(_Ios_Openmode __a, _Ios_Openmode __b) noexcept
-  { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Openmode
-  operator^(_Ios_Openmode __a, _Ios_Openmode __b) noexcept
-  { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Openmode
-  operator~(_Ios_Openmode __a) noexcept
-  { return _Ios_Openmode(~static_cast<int>(__a)); }
-
-  constexpr
-  inline const _Ios_Openmode&
-  operator|=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept
-  { return __a = __a | __b; }
-
-  constexpr
-  inline const _Ios_Openmode&
-  operator&=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept
-  { return __a = __a & __b; }
-
-  constexpr
-  inline const _Ios_Openmode&
-  operator^=(_Ios_Openmode& __a, _Ios_Openmode __b) noexcept
-  { return __a = __a ^ __b; }
-
-
-  enum _Ios_Iostate
-    {
-      _S_goodbit = 0,
-      _S_badbit = 1L << 0,
-      _S_eofbit = 1L << 1,
-      _S_failbit = 1L << 2,
-      _S_ios_iostate_end = 1L << 16,
-      _S_ios_iostate_max = 2147483647,
-      _S_ios_iostate_min = ~2147483647
-    };
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Iostate
-  operator&(_Ios_Iostate __a, _Ios_Iostate __b) noexcept
-  { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Iostate
-  operator|(_Ios_Iostate __a, _Ios_Iostate __b) noexcept
-  { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Iostate
-  operator^(_Ios_Iostate __a, _Ios_Iostate __b) noexcept
-  { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
-
-  [[__nodiscard__]] constexpr
-  inline _Ios_Iostate
-  operator~(_Ios_Iostate __a) noexcept
-  { return _Ios_Iostate(~static_cast<int>(__a)); }
-
-  constexpr
-  inline const _Ios_Iostate&
-  operator|=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept
-  { return __a = __a | __b; }
-
-  constexpr
-  inline const _Ios_Iostate&
-  operator&=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept
-  { return __a = __a & __b; }
-
-  constexpr
-  inline const _Ios_Iostate&
-  operator^=(_Ios_Iostate& __a, _Ios_Iostate __b) noexcept
-  { return __a = __a ^ __b; }
-
-
-  enum _Ios_Seekdir
-    {
-      _S_beg = 0,
-      _S_cur = 1,
-      _S_end = 2,
-      _S_ios_seekdir_end = 1L << 16
-    };
-
-
-
-  enum class io_errc { stream = 1 };
-
-  template <> struct is_error_code_enum<io_errc> : public true_type { };
-
-  [[__nodiscard__, __gnu__::__const__]]
-  const error_category&
-  iostream_category() noexcept;
-
-  [[__nodiscard__]]
-  inline error_code
-  make_error_code(io_errc __e) noexcept
-  { return error_code(static_cast<int>(__e), iostream_category()); }
-
-  [[__nodiscard__]]
-  inline error_condition
-  make_error_condition(io_errc __e) noexcept
-  { return error_condition(static_cast<int>(__e), iostream_category()); }
-# 265 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-  class ios_base
-  {
-# 283 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-  public:
-# 292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
-    {
-    public:
-      explicit
-      failure(const string& __str);
-
-
-      explicit
-      failure(const string&, const error_code&);
-
-      explicit
-      failure(const char*, const error_code& = io_errc::stream);
-
-
-      virtual
-      ~failure() throw();
-
-      virtual const char*
-      what() const throw();
-    };
-# 378 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    typedef _Ios_Fmtflags fmtflags;
-
-
-    static const fmtflags boolalpha = _S_boolalpha;
-
-
-    static const fmtflags dec = _S_dec;
-
-
-    static const fmtflags fixed = _S_fixed;
-
-
-    static const fmtflags hex = _S_hex;
-
-
-
-
-    static const fmtflags internal = _S_internal;
-
-
-
-    static const fmtflags left = _S_left;
-
-
-    static const fmtflags oct = _S_oct;
-
-
-
-    static const fmtflags right = _S_right;
-
-
-    static const fmtflags scientific = _S_scientific;
-
-
-
-    static const fmtflags showbase = _S_showbase;
-
-
-
-    static const fmtflags showpoint = _S_showpoint;
-
-
-    static const fmtflags showpos = _S_showpos;
-
-
-    static const fmtflags skipws = _S_skipws;
-
-
-    static const fmtflags unitbuf = _S_unitbuf;
-
-
-
-    static const fmtflags uppercase = _S_uppercase;
-
-
-    static const fmtflags adjustfield = _S_adjustfield;
-
-
-    static const fmtflags basefield = _S_basefield;
-
-
-    static const fmtflags floatfield = _S_floatfield;
-# 453 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    typedef _Ios_Iostate iostate;
-
-
-
-    static const iostate badbit = _S_badbit;
-
-
-    static const iostate eofbit = _S_eofbit;
-
-
-
-
-    static const iostate failbit = _S_failbit;
-
-
-    static const iostate goodbit = _S_goodbit;
-# 484 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    typedef _Ios_Openmode openmode;
-
-
-    static const openmode app = _S_app;
-
-
-    static const openmode ate = _S_ate;
-
-
-
-
-    static const openmode binary = _S_bin;
-
-
-    static const openmode in = _S_in;
-
-
-    static const openmode out = _S_out;
-
-
-    static const openmode trunc = _S_trunc;
-
-    static const openmode __noreplace = _S_noreplace;
-# 523 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    typedef _Ios_Seekdir seekdir;
-
-
-    static const seekdir beg = _S_beg;
-
-
-    static const seekdir cur = _S_cur;
-
-
-    static const seekdir end = _S_end;
-# 556 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    enum event
-    {
-      erase_event,
-      imbue_event,
-      copyfmt_event
-    };
-# 573 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    typedef void (*event_callback) (event __e, ios_base& __b, int __i);
-# 585 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    void
-    register_callback(event_callback __fn, int __index);
-
-  protected:
-    streamsize _M_precision;
-    streamsize _M_width;
-    fmtflags _M_flags;
-    iostate _M_exception;
-    iostate _M_streambuf_state;
-
-
-
-    struct _Callback_list
-    {
-
-      _Callback_list* _M_next;
-      ios_base::event_callback _M_fn;
-      int _M_index;
-      _Atomic_word _M_refcount;
-
-      _Callback_list(ios_base::event_callback __fn, int __index,
-       _Callback_list* __cb)
-      : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
-
-      void
-      _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
-
-
-      int
-      _M_remove_reference()
-      {
-
-                                                             ;
-        int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
-        if (__res == 0)
-          {
-                                                                ;
-          }
-        return __res;
-      }
-    };
-
-     _Callback_list* _M_callbacks;
-
-    void
-    _M_call_callbacks(event __ev) throw();
-
-    void
-    _M_dispose_callbacks(void) throw();
-
-
-    struct _Words
-    {
-      void* _M_pword;
-      long _M_iword;
-      _Words() : _M_pword(0), _M_iword(0) { }
-    };
-
-
-    _Words _M_word_zero;
-
-
-
-    enum { _S_local_word_size = 8 };
-    _Words _M_local_word[_S_local_word_size];
-
-
-    int _M_word_size;
-    _Words* _M_word;
-
-    _Words&
-    _M_grow_words(int __index, bool __iword);
-
-
-    locale _M_ios_locale;
-
-    void
-    _M_init() throw();
-
-  public:
-
-
-
-
-
-    class Init
-    {
-      friend class ios_base;
-    public:
-      Init();
-      ~Init();
-
-
-      Init(const Init&) = default;
-      Init& operator=(const Init&) = default;
-
-
-    private:
-      static _Atomic_word _S_refcount;
-      static bool _S_synced_with_stdio;
-    };
-
-
-
-
-
-
-    [[__nodiscard__]]
-    fmtflags
-    flags() const
-    { return _M_flags; }
-# 704 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    fmtflags
-    flags(fmtflags __fmtfl)
-    {
-      fmtflags __old = _M_flags;
-      _M_flags = __fmtfl;
-      return __old;
-    }
-# 720 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    fmtflags
-    setf(fmtflags __fmtfl)
-    {
-      fmtflags __old = _M_flags;
-      _M_flags |= __fmtfl;
-      return __old;
-    }
-# 737 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    fmtflags
-    setf(fmtflags __fmtfl, fmtflags __mask)
-    {
-      fmtflags __old = _M_flags;
-      _M_flags &= ~__mask;
-      _M_flags |= (__fmtfl & __mask);
-      return __old;
-    }
-
-
-
-
-
-
-
-    void
-    unsetf(fmtflags __mask)
-    { _M_flags &= ~__mask; }
-# 763 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    [[__nodiscard__]]
-    streamsize
-    precision() const
-    { return _M_precision; }
-
-
-
-
-
-
-    streamsize
-    precision(streamsize __prec)
-    {
-      streamsize __old = _M_precision;
-      _M_precision = __prec;
-      return __old;
-    }
-
-
-
-
-
-
-
-    [[__nodiscard__]]
-    streamsize
-    width() const
-    { return _M_width; }
-
-
-
-
-
-
-    streamsize
-    width(streamsize __wide)
-    {
-      streamsize __old = _M_width;
-      _M_width = __wide;
-      return __old;
-    }
-# 816 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    static bool
-    sync_with_stdio(bool __sync = true);
-# 828 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    locale
-    imbue(const locale& __loc) throw();
-# 839 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    [[__nodiscard__]]
-    locale
-    getloc() const
-    { return _M_ios_locale; }
-# 851 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    const locale&
-    _M_getloc() const
-    { return _M_ios_locale; }
-# 870 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    static int
-    xalloc() throw();
-# 886 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    long&
-    iword(int __ix)
-    {
-      _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
-   ? _M_word[__ix] : _M_grow_words(__ix, true);
-      return __word._M_iword;
-    }
-# 907 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    void*&
-    pword(int __ix)
-    {
-      _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
-   ? _M_word[__ix] : _M_grow_words(__ix, false);
-      return __word._M_pword;
-    }
-# 924 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-    virtual ~ios_base();
-
-  protected:
-    ios_base() throw ();
-# 938 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ios_base.h" 3
-  public:
-    ios_base(const ios_base&) = delete;
-
-    ios_base&
-    operator=(const ios_base&) = delete;
-
-  protected:
-    void
-    _M_move(ios_base&) noexcept;
-
-    void
-    _M_swap(ios_base& __rhs) noexcept;
-
-  };
-
-
-
-  inline ios_base&
-  boolalpha(ios_base& __base)
-  {
-    __base.setf(ios_base::boolalpha);
-    return __base;
-  }
-
-
-  inline ios_base&
-  noboolalpha(ios_base& __base)
-  {
-    __base.unsetf(ios_base::boolalpha);
-    return __base;
-  }
-
-
-  inline ios_base&
-  showbase(ios_base& __base)
-  {
-    __base.setf(ios_base::showbase);
-    return __base;
-  }
-
-
-  inline ios_base&
-  noshowbase(ios_base& __base)
-  {
-    __base.unsetf(ios_base::showbase);
-    return __base;
-  }
-
-
-  inline ios_base&
-  showpoint(ios_base& __base)
-  {
-    __base.setf(ios_base::showpoint);
-    return __base;
-  }
-
-
-  inline ios_base&
-  noshowpoint(ios_base& __base)
-  {
-    __base.unsetf(ios_base::showpoint);
-    return __base;
-  }
-
-
-  inline ios_base&
-  showpos(ios_base& __base)
-  {
-    __base.setf(ios_base::showpos);
-    return __base;
-  }
-
-
-  inline ios_base&
-  noshowpos(ios_base& __base)
-  {
-    __base.unsetf(ios_base::showpos);
-    return __base;
-  }
-
-
-  inline ios_base&
-  skipws(ios_base& __base)
-  {
-    __base.setf(ios_base::skipws);
-    return __base;
-  }
-
-
-  inline ios_base&
-  noskipws(ios_base& __base)
-  {
-    __base.unsetf(ios_base::skipws);
-    return __base;
-  }
-
-
-  inline ios_base&
-  uppercase(ios_base& __base)
-  {
-    __base.setf(ios_base::uppercase);
-    return __base;
-  }
-
-
-  inline ios_base&
-  nouppercase(ios_base& __base)
-  {
-    __base.unsetf(ios_base::uppercase);
-    return __base;
-  }
-
-
-  inline ios_base&
-  unitbuf(ios_base& __base)
-  {
-     __base.setf(ios_base::unitbuf);
-     return __base;
-  }
-
-
-  inline ios_base&
-  nounitbuf(ios_base& __base)
-  {
-     __base.unsetf(ios_base::unitbuf);
-     return __base;
-  }
-
-
-
-  inline ios_base&
-  internal(ios_base& __base)
-  {
-     __base.setf(ios_base::internal, ios_base::adjustfield);
-     return __base;
-  }
-
-
-  inline ios_base&
-  left(ios_base& __base)
-  {
-    __base.setf(ios_base::left, ios_base::adjustfield);
-    return __base;
-  }
-
-
-  inline ios_base&
-  right(ios_base& __base)
-  {
-    __base.setf(ios_base::right, ios_base::adjustfield);
-    return __base;
-  }
-
-
-
-  inline ios_base&
-  dec(ios_base& __base)
-  {
-    __base.setf(ios_base::dec, ios_base::basefield);
-    return __base;
-  }
-
-
-  inline ios_base&
-  hex(ios_base& __base)
-  {
-    __base.setf(ios_base::hex, ios_base::basefield);
-    return __base;
-  }
-
-
-  inline ios_base&
-  oct(ios_base& __base)
-  {
-    __base.setf(ios_base::oct, ios_base::basefield);
-    return __base;
-  }
-
-
-
-  inline ios_base&
-  fixed(ios_base& __base)
-  {
-    __base.setf(ios_base::fixed, ios_base::floatfield);
-    return __base;
-  }
-
-
-  inline ios_base&
-  scientific(ios_base& __base)
-  {
-    __base.setf(ios_base::scientific, ios_base::floatfield);
-    return __base;
-  }
-
-
-
-
-
-
-  inline ios_base&
-  hexfloat(ios_base& __base)
-  {
-    __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
-    return __base;
-  }
-
-
-  inline ios_base&
-  defaultfloat(ios_base& __base)
-  {
-    __base.unsetf(ios_base::floatfield);
-    return __base;
-  }
-
-
-
-}
-# 47 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 1 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    streamsize
-    __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
-     basic_streambuf<_CharT, _Traits>*, bool&);
-# 125 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-  template<typename _CharT, typename _Traits>
-    class basic_streambuf
-    {
-    public:
-
-
-
-
-
-
-      typedef _CharT char_type;
-      typedef _Traits traits_type;
-      typedef typename traits_type::int_type int_type;
-      typedef typename traits_type::pos_type pos_type;
-      typedef typename traits_type::off_type off_type;
-
-
-
-
-      typedef basic_streambuf<char_type, traits_type> __streambuf_type;
-
-
-      friend class basic_ios<char_type, traits_type>;
-      friend class basic_istream<char_type, traits_type>;
-      friend class basic_ostream<char_type, traits_type>;
-      friend class istreambuf_iterator<char_type, traits_type>;
-      friend class ostreambuf_iterator<char_type, traits_type>;
-
-      friend streamsize
-      __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
-
-      template<bool _IsMove, typename _CharT2>
-        friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-            _CharT2*>::__type
-        __copy_move_a2(istreambuf_iterator<_CharT2>,
-         istreambuf_iterator<_CharT2>, _CharT2*);
-
-      template<typename _CharT2>
-        friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-      istreambuf_iterator<_CharT2> >::__type
-        find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
-      const _CharT2&);
-
-      template<typename _CharT2, typename _Distance>
-        friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-            void>::__type
-        advance(istreambuf_iterator<_CharT2>&, _Distance);
-
-      friend void __istream_extract(istream&, char*, streamsize);
-
-      template<typename _CharT2, typename _Traits2, typename _Alloc>
-        friend basic_istream<_CharT2, _Traits2>&
-        operator>>(basic_istream<_CharT2, _Traits2>&,
-     basic_string<_CharT2, _Traits2, _Alloc>&);
-
-      template<typename _CharT2, typename _Traits2, typename _Alloc>
-        friend basic_istream<_CharT2, _Traits2>&
-        getline(basic_istream<_CharT2, _Traits2>&,
-  basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
-
-    protected:
-
-
-
-
-
-
-
-      char_type* _M_in_beg;
-      char_type* _M_in_cur;
-      char_type* _M_in_end;
-      char_type* _M_out_beg;
-      char_type* _M_out_cur;
-      char_type* _M_out_end;
-
-
-      locale _M_buf_locale;
-
-  public:
-
-      virtual
-      ~basic_streambuf()
-      { }
-# 217 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      locale
-      pubimbue(const locale& __loc)
-      {
- locale __tmp(this->getloc());
- this->imbue(__loc);
- _M_buf_locale = __loc;
- return __tmp;
-      }
-# 234 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      locale
-      getloc() const
-      { return _M_buf_locale; }
-# 247 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      basic_streambuf*
-      pubsetbuf(char_type* __s, streamsize __n)
-      { return this->setbuf(__s, __n); }
-# 259 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      pos_type
-      pubseekoff(off_type __off, ios_base::seekdir __way,
-   ios_base::openmode __mode = ios_base::in | ios_base::out)
-      { return this->seekoff(__off, __way, __mode); }
-# 271 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      pos_type
-      pubseekpos(pos_type __sp,
-   ios_base::openmode __mode = ios_base::in | ios_base::out)
-      { return this->seekpos(__sp, __mode); }
-
-
-
-
-      int
-      pubsync() { return this->sync(); }
-# 292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      streamsize
-      in_avail()
-      {
- const streamsize __ret = this->egptr() - this->gptr();
- return __ret ? __ret : this->showmanyc();
-      }
-# 306 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      int_type
-      snextc()
-      {
- int_type __ret = traits_type::eof();
- if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
-             __ret), true))
-   __ret = this->sgetc();
- return __ret;
-      }
-# 324 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      int_type
-      sbumpc()
-      {
- int_type __ret;
- if (__builtin_expect(this->gptr() < this->egptr(), true))
-   {
-     __ret = traits_type::to_int_type(*this->gptr());
-     this->gbump(1);
-   }
- else
-   __ret = this->uflow();
- return __ret;
-      }
-# 346 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      int_type
-      sgetc()
-      {
- int_type __ret;
- if (__builtin_expect(this->gptr() < this->egptr(), true))
-   __ret = traits_type::to_int_type(*this->gptr());
- else
-   __ret = this->underflow();
- return __ret;
-      }
-# 365 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      streamsize
-      sgetn(char_type* __s, streamsize __n)
-      { return this->xsgetn(__s, __n); }
-# 380 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      int_type
-      sputbackc(char_type __c)
-      {
- int_type __ret;
- const bool __testpos = this->eback() < this->gptr();
- if (__builtin_expect(!__testpos ||
-        !traits_type::eq(__c, this->gptr()[-1]), false))
-   __ret = this->pbackfail(traits_type::to_int_type(__c));
- else
-   {
-     this->gbump(-1);
-     __ret = traits_type::to_int_type(*this->gptr());
-   }
- return __ret;
-      }
-# 405 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      int_type
-      sungetc()
-      {
- int_type __ret;
- if (__builtin_expect(this->eback() < this->gptr(), true))
-   {
-     this->gbump(-1);
-     __ret = traits_type::to_int_type(*this->gptr());
-   }
- else
-   __ret = this->pbackfail();
- return __ret;
-      }
-# 432 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      int_type
-      sputc(char_type __c)
-      {
- int_type __ret;
- if (__builtin_expect(this->pptr() < this->epptr(), true))
-   {
-     *this->pptr() = __c;
-     this->pbump(1);
-     __ret = traits_type::to_int_type(__c);
-   }
- else
-   __ret = this->overflow(traits_type::to_int_type(__c));
- return __ret;
-      }
-# 458 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      streamsize
-      sputn(const char_type* __s, streamsize __n)
-      { return this->xsputn(__s, __n); }
-
-    protected:
-# 472 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      basic_streambuf()
-      : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
-      _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
-      _M_buf_locale(locale())
-      { }
-# 490 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      char_type*
-      eback() const { return _M_in_beg; }
-
-      char_type*
-      gptr() const { return _M_in_cur; }
-
-      char_type*
-      egptr() const { return _M_in_end; }
-# 506 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      void
-      gbump(int __n) { _M_in_cur += __n; }
-# 517 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      void
-      setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
-      {
- _M_in_beg = __gbeg;
- _M_in_cur = __gnext;
- _M_in_end = __gend;
-      }
-# 537 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      char_type*
-      pbase() const { return _M_out_beg; }
-
-      char_type*
-      pptr() const { return _M_out_cur; }
-
-      char_type*
-      epptr() const { return _M_out_end; }
-# 553 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      void
-      pbump(int __n) { _M_out_cur += __n; }
-# 563 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      void
-      setp(char_type* __pbeg, char_type* __pend)
-      {
- _M_out_beg = _M_out_cur = __pbeg;
- _M_out_end = __pend;
-      }
-# 584 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual void
-      imbue(const locale& __loc __attribute__ ((__unused__)))
-      { }
-# 599 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual basic_streambuf<char_type,_Traits>*
-      setbuf(char_type*, streamsize)
-      { return this; }
-# 610 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual pos_type
-      seekoff(off_type, ios_base::seekdir,
-       ios_base::openmode = ios_base::in | ios_base::out)
-      { return pos_type(off_type(-1)); }
-# 622 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual pos_type
-      seekpos(pos_type,
-       ios_base::openmode = ios_base::in | ios_base::out)
-      { return pos_type(off_type(-1)); }
-# 635 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual int
-      sync() { return 0; }
-# 657 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual streamsize
-      showmanyc() { return 0; }
-# 673 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual streamsize
-      xsgetn(char_type* __s, streamsize __n);
-# 695 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual int_type
-      underflow()
-      { return traits_type::eof(); }
-# 708 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual int_type
-      uflow()
-      {
- int_type __ret = traits_type::eof();
- const bool __testeof = traits_type::eq_int_type(this->underflow(),
-       __ret);
- if (!__testeof)
-   {
-     __ret = traits_type::to_int_type(*this->gptr());
-     this->gbump(1);
-   }
- return __ret;
-      }
-# 732 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual int_type
-      pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
-      { return traits_type::eof(); }
-# 750 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual streamsize
-      xsputn(const char_type* __s, streamsize __n);
-# 776 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      virtual int_type
-      overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
-      { return traits_type::eof(); }
-# 803 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 3
-      void
-      __safe_gbump(streamsize __n) { _M_in_cur += __n; }
-
-      void
-      __safe_pbump(streamsize __n) { _M_out_cur += __n; }
-
-
-
-
-    protected:
-
-      basic_streambuf(const basic_streambuf&);
-
-      basic_streambuf&
-      operator=(const basic_streambuf&);
-
-
-      void
-      swap(basic_streambuf& __sb)
-      {
- std::swap(_M_in_beg, __sb._M_in_beg);
- std::swap(_M_in_cur, __sb._M_in_cur);
- std::swap(_M_in_end, __sb._M_in_end);
- std::swap(_M_out_beg, __sb._M_out_beg);
- std::swap(_M_out_cur, __sb._M_out_cur);
- std::swap(_M_out_end, __sb._M_out_end);
- std::swap(_M_buf_locale, __sb._M_buf_locale);
-      }
-
-    };
-
-
-  template<typename _CharT, typename _Traits>
-    std::basic_streambuf<_CharT, _Traits>::
-    basic_streambuf(const basic_streambuf&) = default;
-
-  template<typename _CharT, typename _Traits>
-    std::basic_streambuf<_CharT, _Traits>&
-    std::basic_streambuf<_CharT, _Traits>::
-    operator=(const basic_streambuf&) = default;
-
-
-
-  template<>
-    streamsize
-    __copy_streambufs_eof(basic_streambuf<char>* __sbin,
-     basic_streambuf<char>* __sbout, bool& __ineof);
-
-  template<>
-    streamsize
-    __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
-     basic_streambuf<wchar_t>* __sbout, bool& __ineof);
-
-
-
-
-
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf.tcc" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _CharT, typename _Traits>
-    streamsize
-    basic_streambuf<_CharT, _Traits>::
-    xsgetn(char_type* __s, streamsize __n)
-    {
-      streamsize __ret = 0;
-      while (__ret < __n)
- {
-   const streamsize __buf_len = this->egptr() - this->gptr();
-   if (__buf_len)
-     {
-       const streamsize __remaining = __n - __ret;
-       const streamsize __len = std::min(__buf_len, __remaining);
-       traits_type::copy(__s, this->gptr(), __len);
-       __ret += __len;
-       __s += __len;
-       this->__safe_gbump(__len);
-     }
-
-   if (__ret < __n)
-     {
-       const int_type __c = this->uflow();
-       if (!traits_type::eq_int_type(__c, traits_type::eof()))
-  {
-    traits_type::assign(*__s++, traits_type::to_char_type(__c));
-    ++__ret;
-  }
-       else
-  break;
-     }
- }
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits>
-    streamsize
-    basic_streambuf<_CharT, _Traits>::
-    xsputn(const char_type* __s, streamsize __n)
-    {
-      streamsize __ret = 0;
-      while (__ret < __n)
- {
-   const streamsize __buf_len = this->epptr() - this->pptr();
-   if (__buf_len)
-     {
-       const streamsize __remaining = __n - __ret;
-       const streamsize __len = std::min(__buf_len, __remaining);
-       traits_type::copy(this->pptr(), __s, __len);
-       __ret += __len;
-       __s += __len;
-       this->__safe_pbump(__len);
-     }
-
-   if (__ret < __n)
-     {
-       int_type __c = this->overflow(traits_type::to_int_type(*__s));
-       if (!traits_type::eq_int_type(__c, traits_type::eof()))
-  {
-    ++__ret;
-    ++__s;
-  }
-       else
-  break;
-     }
- }
-      return __ret;
-    }
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    streamsize
-    __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
-     basic_streambuf<_CharT, _Traits>* __sbout,
-     bool& __ineof)
-    {
-      streamsize __ret = 0;
-      __ineof = true;
-      typename _Traits::int_type __c = __sbin->sgetc();
-      while (!_Traits::eq_int_type(__c, _Traits::eof()))
- {
-   __c = __sbout->sputc(_Traits::to_char_type(__c));
-   if (_Traits::eq_int_type(__c, _Traits::eof()))
-     {
-       __ineof = false;
-       break;
-     }
-   ++__ret;
-   __c = __sbin->snextc();
- }
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits>
-    inline streamsize
-    __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
-        basic_streambuf<_CharT, _Traits>* __sbout)
-    {
-      bool __ineof;
-      return __copy_streambufs_eof(__sbin, __sbout, __ineof);
-    }
-
-
-
-
-  extern template class basic_streambuf<char>;
-
-  extern template
-    streamsize
-    __copy_streambufs(basic_streambuf<char>*,
-        basic_streambuf<char>*);
-
-
-  extern template class basic_streambuf<wchar_t>;
-
-  extern template
-    streamsize
-    __copy_streambufs(basic_streambuf<wchar_t>*,
-        basic_streambuf<wchar_t>*);
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 863 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/streambuf" 2 3
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 1 3
-# 39 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 1 3
-# 55 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 3
-# 1 "/usr/include/wctype.h" 1 3 4
-# 38 "/usr/include/wctype.h" 3 4
-# 1 "/usr/include/bits/wctype-wchar.h" 1 3 4
-# 38 "/usr/include/bits/wctype-wchar.h" 3 4
-typedef unsigned long int wctype_t;
-# 56 "/usr/include/bits/wctype-wchar.h" 3 4
-enum
-{
-  __ISwupper = 0,
-  __ISwlower = 1,
-  __ISwalpha = 2,
-  __ISwdigit = 3,
-  __ISwxdigit = 4,
-  __ISwspace = 5,
-  __ISwprint = 6,
-  __ISwgraph = 7,
-  __ISwblank = 8,
-  __ISwcntrl = 9,
-  __ISwpunct = 10,
-  __ISwalnum = 11,
-
-  _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
-  _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
-  _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
-  _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
-  _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
-  _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
-  _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
-  _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
-  _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
-  _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
-  _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
-  _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
-};
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-extern int iswalnum (wint_t __wc) noexcept (true);
-
-
-
-
-
-extern int iswalpha (wint_t __wc) noexcept (true);
-
-
-extern int iswcntrl (wint_t __wc) noexcept (true);
-
-
-
-extern int iswdigit (wint_t __wc) noexcept (true);
-
-
-
-extern int iswgraph (wint_t __wc) noexcept (true);
-
-
-
-
-extern int iswlower (wint_t __wc) noexcept (true);
-
-
-extern int iswprint (wint_t __wc) noexcept (true);
-
-
-
-
-extern int iswpunct (wint_t __wc) noexcept (true);
-
-
-
-
-extern int iswspace (wint_t __wc) noexcept (true);
-
-
-
-
-extern int iswupper (wint_t __wc) noexcept (true);
-
-
-
-
-extern int iswxdigit (wint_t __wc) noexcept (true);
-
-
-
-
-
-extern int iswblank (wint_t __wc) noexcept (true);
-# 155 "/usr/include/bits/wctype-wchar.h" 3 4
-extern wctype_t wctype (const char *__property) noexcept (true);
-
-
-
-extern int iswctype (wint_t __wc, wctype_t __desc) noexcept (true);
-
-
-
-
-
-
-extern wint_t towlower (wint_t __wc) noexcept (true);
-
-
-extern wint_t towupper (wint_t __wc) noexcept (true);
-
-}
-# 39 "/usr/include/wctype.h" 2 3 4
-
-
-
-
-
-extern "C" {
-
-
-
-typedef const __int32_t *wctrans_t;
-
-
-
-extern wctrans_t wctrans (const char *__property) noexcept (true);
-
-
-extern wint_t towctrans (wint_t __wc, wctrans_t __desc) noexcept (true);
-
-
-
-
-
-
-
-extern int iswalnum_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-
-extern int iswalpha_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-extern int iswcntrl_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-extern int iswdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-extern int iswgraph_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-extern int iswlower_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-extern int iswprint_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-extern int iswpunct_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-extern int iswspace_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-extern int iswupper_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-extern int iswxdigit_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-
-extern int iswblank_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-extern wctype_t wctype_l (const char *__property, locale_t __locale)
-     noexcept (true);
-
-
-
-extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
-     noexcept (true);
-
-
-
-
-
-
-extern wint_t towlower_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-extern wint_t towupper_l (wint_t __wc, locale_t __locale) noexcept (true);
-
-
-
-extern wctrans_t wctrans_l (const char *__property, locale_t __locale)
-     noexcept (true);
-
-
-extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
-      locale_t __locale) noexcept (true);
-
-
-
-}
-# 56 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 2 3
-# 82 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/cwctype" 3
-namespace std
-{
-  using ::wctrans_t;
-  using ::wctype_t;
-  using ::wint_t;
-
-  using ::iswalnum;
-  using ::iswalpha;
-
-  using ::iswblank;
-
-  using ::iswcntrl;
-  using ::iswctype;
-  using ::iswdigit;
-  using ::iswgraph;
-  using ::iswlower;
-  using ::iswprint;
-  using ::iswpunct;
-  using ::iswspace;
-  using ::iswupper;
-  using ::iswxdigit;
-  using ::towctrans;
-  using ::towlower;
-  using ::towupper;
-  using ::wctrans;
-  using ::wctype;
-}
-# 42 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_base.h" 1 3
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_base.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  struct ctype_base
-  {
-
-    typedef const int* __to_type;
-
-
-
-    typedef unsigned short mask;
-    static const mask upper = _ISupper;
-    static const mask lower = _ISlower;
-    static const mask alpha = _ISalpha;
-    static const mask digit = _ISdigit;
-    static const mask xdigit = _ISxdigit;
-    static const mask space = _ISspace;
-    static const mask print = _ISprint;
-    static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-    static const mask cntrl = _IScntrl;
-    static const mask punct = _ISpunct;
-    static const mask alnum = _ISalpha | _ISdigit;
-
-    static const mask blank = _ISblank;
-
-  };
-
-
-}
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
-
-
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-  template<typename _CharT, typename _Traits>
-    class istreambuf_iterator
-    : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
-        _CharT*, _CharT>
-    {
-    public:
-# 72 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
-      typedef _CharT char_type;
-      typedef _Traits traits_type;
-      typedef typename _Traits::int_type int_type;
-      typedef basic_streambuf<_CharT, _Traits> streambuf_type;
-      typedef basic_istream<_CharT, _Traits> istream_type;
-
-
-      template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-        ostreambuf_iterator<_CharT2> >::__type
- copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
-      ostreambuf_iterator<_CharT2>);
-
-      template<bool _IsMove, typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-            _CharT2*>::__type
- __copy_move_a2(istreambuf_iterator<_CharT2>,
-         istreambuf_iterator<_CharT2>, _CharT2*);
-
-      template<typename _CharT2, typename _Size>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-            _CharT2*>::__type
- __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool);
-
-      template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-        istreambuf_iterator<_CharT2> >::__type
- find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
-      const _CharT2&);
-
-      template<typename _CharT2, typename _Distance>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-            void>::__type
- advance(istreambuf_iterator<_CharT2>&, _Distance);
-
-    private:
-
-
-
-
-
-
-
-      mutable streambuf_type* _M_sbuf;
-      int_type _M_c;
-
-    public:
-
-      constexpr istreambuf_iterator() noexcept
-      : _M_sbuf(0), _M_c(traits_type::eof()) { }
-
-
-
-
-
-
-
-      istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
-
-      ~istreambuf_iterator() = default;
-
-
-
-      istreambuf_iterator(istream_type& __s) noexcept
-      : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
-
-
-      istreambuf_iterator(streambuf_type* __s) noexcept
-      : _M_sbuf(__s), _M_c(traits_type::eof()) { }
-
-
-      istreambuf_iterator&
-      operator=(const istreambuf_iterator&) noexcept = default;
-
-
-
-
-
-      [[__nodiscard__]]
-      char_type
-      operator*() const
-      {
- int_type __c = _M_get();
-# 163 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
- return traits_type::to_char_type(__c);
-      }
-
-
-      istreambuf_iterator&
-      operator++()
-      {
-
-
-
-                        ;
-
- _M_sbuf->sbumpc();
- _M_c = traits_type::eof();
- return *this;
-      }
-
-
-      istreambuf_iterator
-      operator++(int)
-      {
-
-
-
-                        ;
-
- istreambuf_iterator __old = *this;
- __old._M_c = _M_sbuf->sbumpc();
- _M_c = traits_type::eof();
- return __old;
-      }
-
-
-
-
-
-      [[__nodiscard__]]
-      bool
-      equal(const istreambuf_iterator& __b) const
-      { return _M_at_eof() == __b._M_at_eof(); }
-
-    private:
-      int_type
-      _M_get() const
-      {
- int_type __ret = _M_c;
- if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
-   _M_sbuf = 0;
- return __ret;
-      }
-
-      bool
-      _M_at_eof() const
-      { return _S_is_eof(_M_get()); }
-
-      static bool
-      _S_is_eof(int_type __c)
-      {
- const int_type __eof = traits_type::eof();
- return traits_type::eq_int_type(__c, __eof);
-      }
-
-
-
-
-
-
-
-    };
-
-  template<typename _CharT, typename _Traits>
-    [[__nodiscard__]]
-    inline bool
-    operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
-        const istreambuf_iterator<_CharT, _Traits>& __b)
-    { return __a.equal(__b); }
-
-
-  template<typename _CharT, typename _Traits>
-    [[__nodiscard__]]
-    inline bool
-    operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
-        const istreambuf_iterator<_CharT, _Traits>& __b)
-    { return !__a.equal(__b); }
-
-
-
-  template<typename _CharT, typename _Traits>
-    class ostreambuf_iterator
-    : public iterator<output_iterator_tag, void, void, void, void>
-    {
-    public:
-
-
-
-
-
-
-      typedef _CharT char_type;
-      typedef _Traits traits_type;
-      typedef basic_streambuf<_CharT, _Traits> streambuf_type;
-      typedef basic_ostream<_CharT, _Traits> ostream_type;
-
-
-      template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
-        ostreambuf_iterator<_CharT2> >::__type
- copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
-      ostreambuf_iterator<_CharT2>);
-
-    private:
-      streambuf_type* _M_sbuf;
-      bool _M_failed;
-
-    public:
-# 286 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h" 3
-      ostreambuf_iterator(ostream_type& __s) noexcept
-      : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
-
-
-      ostreambuf_iterator(streambuf_type* __s) noexcept
-      : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
-
-
-      ostreambuf_iterator&
-      operator=(_CharT __c)
-      {
- if (!_M_failed &&
-     _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
-   _M_failed = true;
- return *this;
-      }
-
-
-      [[__nodiscard__]]
-      ostreambuf_iterator&
-      operator*()
-      { return *this; }
-
-
-      ostreambuf_iterator&
-      operator++(int)
-      { return *this; }
-
-
-      ostreambuf_iterator&
-      operator++()
-      { return *this; }
-
-
-      [[__nodiscard__]]
-      bool
-      failed() const noexcept
-      { return _M_failed; }
-
-      ostreambuf_iterator&
-      _M_put(const _CharT* __ws, streamsize __len)
-      {
- if (__builtin_expect(!_M_failed, true)
-     && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
-    false))
-   _M_failed = true;
- return *this;
-      }
-    };
-#pragma GCC diagnostic pop
-
-
-  template<typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        ostreambuf_iterator<_CharT> >::__type
-    copy(istreambuf_iterator<_CharT> __first,
-  istreambuf_iterator<_CharT> __last,
-  ostreambuf_iterator<_CharT> __result)
-    {
-      if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
- {
-   bool __ineof;
-   __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
-   if (!__ineof)
-     __result._M_failed = true;
- }
-      return __result;
-    }
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        ostreambuf_iterator<_CharT> >::__type
-    __copy_move_a2(_CharT* __first, _CharT* __last,
-     ostreambuf_iterator<_CharT> __result)
-    {
-      const streamsize __num = __last - __first;
-      if (__num > 0)
- __result._M_put(__first, __num);
-      return __result;
-    }
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        ostreambuf_iterator<_CharT> >::__type
-    __copy_move_a2(const _CharT* __first, const _CharT* __last,
-     ostreambuf_iterator<_CharT> __result)
-    {
-      const streamsize __num = __last - __first;
-      if (__num > 0)
- __result._M_put(__first, __num);
-      return __result;
-    }
-
-  template<bool _IsMove, typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        _CharT*>::__type
-    __copy_move_a2(istreambuf_iterator<_CharT> __first,
-     istreambuf_iterator<_CharT> __last, _CharT* __result)
-    {
-      typedef istreambuf_iterator<_CharT> __is_iterator_type;
-      typedef typename __is_iterator_type::traits_type traits_type;
-      typedef typename __is_iterator_type::streambuf_type streambuf_type;
-      typedef typename traits_type::int_type int_type;
-
-      if (__first._M_sbuf && !__last._M_sbuf)
- {
-   streambuf_type* __sb = __first._M_sbuf;
-   int_type __c = __sb->sgetc();
-   while (!traits_type::eq_int_type(__c, traits_type::eof()))
-     {
-       const streamsize __n = __sb->egptr() - __sb->gptr();
-       if (__n > 1)
-  {
-    traits_type::copy(__result, __sb->gptr(), __n);
-    __sb->__safe_gbump(__n);
-    __result += __n;
-    __c = __sb->underflow();
-  }
-       else
-  {
-    *__result++ = traits_type::to_char_type(__c);
-    __c = __sb->snextc();
-  }
-     }
- }
-      return __result;
-    }
-
-  template<typename _CharT, typename _Size>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        _CharT*>::__type
-    __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result,
-        bool __strict __attribute__((__unused__)))
-    {
-      if (__n == 0)
- return __result;
-
-
-
-                            ;
-      _CharT* __beg = __result;
-      __result += __it._M_sbuf->sgetn(__beg, __n);
-
-
-                            ;
-      return __result;
-    }
-
-  template<typename _CharT>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-          istreambuf_iterator<_CharT> >::__type
-    find(istreambuf_iterator<_CharT> __first,
-  istreambuf_iterator<_CharT> __last, const _CharT& __val)
-    {
-      typedef istreambuf_iterator<_CharT> __is_iterator_type;
-      typedef typename __is_iterator_type::traits_type traits_type;
-      typedef typename __is_iterator_type::streambuf_type streambuf_type;
-      typedef typename traits_type::int_type int_type;
-      const int_type __eof = traits_type::eof();
-
-      if (__first._M_sbuf && !__last._M_sbuf)
- {
-   const int_type __ival = traits_type::to_int_type(__val);
-   streambuf_type* __sb = __first._M_sbuf;
-   int_type __c = __sb->sgetc();
-   while (!traits_type::eq_int_type(__c, __eof)
-   && !traits_type::eq_int_type(__c, __ival))
-     {
-       streamsize __n = __sb->egptr() - __sb->gptr();
-       if (__n > 1)
-  {
-    const _CharT* __p = traits_type::find(__sb->gptr(),
-       __n, __val);
-    if (__p)
-      __n = __p - __sb->gptr();
-    __sb->__safe_gbump(__n);
-    __c = __sb->sgetc();
-  }
-       else
-  __c = __sb->snextc();
-     }
-
-   __first._M_c = __eof;
- }
-
-      return __first;
-    }
-
-  template<typename _CharT, typename _Distance>
-    typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
-        void>::__type
-    advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
-    {
-      if (__n == 0)
- return;
-
-      do { if (__builtin_expect(!bool(__n > 0), false)) std::__glibcxx_assert_fail("/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/streambuf_iterator.h", 482, __PRETTY_FUNCTION__, "__n > 0"); } while (false);
-
-
-                           ;
-
-      typedef istreambuf_iterator<_CharT> __is_iterator_type;
-      typedef typename __is_iterator_type::traits_type traits_type;
-      typedef typename __is_iterator_type::streambuf_type streambuf_type;
-      typedef typename traits_type::int_type int_type;
-      const int_type __eof = traits_type::eof();
-
-      streambuf_type* __sb = __i._M_sbuf;
-      while (__n > 0)
- {
-   streamsize __size = __sb->egptr() - __sb->gptr();
-   if (__size > __n)
-     {
-       __sb->__safe_gbump(__n);
-       break;
-     }
-
-   __sb->__safe_gbump(__size);
-   __n -= __size;
-   if (traits_type::eq_int_type(__sb->underflow(), __eof))
-     {
-
-
-                      ;
-       break;
-     }
- }
-
-      __i._M_c = __eof;
-    }
-
-
-
-
-}
-# 51 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _Tp>
-    void
-    __convert_to_v(const char*, _Tp&, ios_base::iostate&,
-     const __c_locale&) throw();
-
-
-  template<>
-    void
-    __convert_to_v(const char*, float&, ios_base::iostate&,
-     const __c_locale&) throw();
-
-  template<>
-    void
-    __convert_to_v(const char*, double&, ios_base::iostate&,
-     const __c_locale&) throw();
-
-  template<>
-    void
-    __convert_to_v(const char*, long double&, ios_base::iostate&,
-     const __c_locale&) throw();
-
-
-
-  template<typename _CharT, typename _Traits>
-    struct __pad
-    {
-      static void
-      _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
-      const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
-    };
-
-
-
-
-
-
-  template<typename _CharT>
-    _CharT*
-    __add_grouping(_CharT* __s, _CharT __sep,
-     const char* __gbeg, size_t __gsize,
-     const _CharT* __first, const _CharT* __last);
-
-
-
-
-  template<typename _CharT>
-    inline
-    ostreambuf_iterator<_CharT>
-    __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
-    {
-      __s._M_put(__ws, __len);
-      return __s;
-    }
-
-
-  template<typename _CharT, typename _OutIter>
-    inline
-    _OutIter
-    __write(_OutIter __s, const _CharT* __ws, int __len)
-    {
-      for (int __j = 0; __j < __len; __j++, ++__s)
- *__s = __ws[__j];
-      return __s;
-    }
-# 154 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _CharT>
-    class __ctype_abstract_base : public locale::facet, public ctype_base
-    {
-    public:
-
-
-      typedef _CharT char_type;
-# 173 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      bool
-      is(mask __m, char_type __c) const
-      { return this->do_is(__m, __c); }
-# 190 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      is(const char_type *__lo, const char_type *__hi, mask *__vec) const
-      { return this->do_is(__lo, __hi, __vec); }
-# 206 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
-      { return this->do_scan_is(__m, __lo, __hi); }
-# 222 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-      { return this->do_scan_not(__m, __lo, __hi); }
-# 236 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      toupper(char_type __c) const
-      { return this->do_toupper(__c); }
-# 251 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      toupper(char_type *__lo, const char_type* __hi) const
-      { return this->do_toupper(__lo, __hi); }
-# 265 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      tolower(char_type __c) const
-      { return this->do_tolower(__c); }
-# 280 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      tolower(char_type* __lo, const char_type* __hi) const
-      { return this->do_tolower(__lo, __hi); }
-# 297 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      widen(char __c) const
-      { return this->do_widen(__c); }
-# 316 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char*
-      widen(const char* __lo, const char* __hi, char_type* __to) const
-      { return this->do_widen(__lo, __hi, __to); }
-# 335 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char
-      narrow(char_type __c, char __dfault) const
-      { return this->do_narrow(__c, __dfault); }
-# 357 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      narrow(const char_type* __lo, const char_type* __hi,
-       char __dfault, char* __to) const
-      { return this->do_narrow(__lo, __hi, __dfault, __to); }
-
-    protected:
-      explicit
-      __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
-
-      virtual
-      ~__ctype_abstract_base() { }
-# 382 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual bool
-      do_is(mask __m, char_type __c) const = 0;
-# 401 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_is(const char_type* __lo, const char_type* __hi,
-     mask* __vec) const = 0;
-# 420 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_scan_is(mask __m, const char_type* __lo,
-   const char_type* __hi) const = 0;
-# 439 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_scan_not(mask __m, const char_type* __lo,
-    const char_type* __hi) const = 0;
-# 457 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_toupper(char_type __c) const = 0;
-# 474 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_toupper(char_type* __lo, const char_type* __hi) const = 0;
-# 490 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_tolower(char_type __c) const = 0;
-# 507 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_tolower(char_type* __lo, const char_type* __hi) const = 0;
-# 526 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_widen(char __c) const = 0;
-# 547 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char*
-      do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
-# 568 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char
-      do_narrow(char_type __c, char __dfault) const = 0;
-# 593 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_narrow(const char_type* __lo, const char_type* __hi,
-  char __dfault, char* __to) const = 0;
-    };
-# 616 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _CharT>
-    class ctype : public __ctype_abstract_base<_CharT>
-    {
-    public:
-
-      typedef _CharT char_type;
-      typedef typename __ctype_abstract_base<_CharT>::mask mask;
-
-
-      static locale::id id;
-
-      explicit
-      ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
-
-   protected:
-      virtual
-      ~ctype();
-
-      virtual bool
-      do_is(mask __m, char_type __c) const;
-
-      virtual const char_type*
-      do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
-
-      virtual const char_type*
-      do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
-
-      virtual const char_type*
-      do_scan_not(mask __m, const char_type* __lo,
-    const char_type* __hi) const;
-
-      virtual char_type
-      do_toupper(char_type __c) const;
-
-      virtual const char_type*
-      do_toupper(char_type* __lo, const char_type* __hi) const;
-
-      virtual char_type
-      do_tolower(char_type __c) const;
-
-      virtual const char_type*
-      do_tolower(char_type* __lo, const char_type* __hi) const;
-
-      virtual char_type
-      do_widen(char __c) const;
-
-      virtual const char*
-      do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
-
-      virtual char
-      do_narrow(char_type, char __dfault) const;
-
-      virtual const char_type*
-      do_narrow(const char_type* __lo, const char_type* __hi,
-  char __dfault, char* __to) const;
-    };
-
-  template<typename _CharT>
-    locale::id ctype<_CharT>::id;
-
-
-
-  template<typename _CharT, typename _Traits, typename _Alloc>
-    class ctype<basic_string<_CharT, _Traits, _Alloc> >;
-# 690 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<>
-    class ctype<char> : public locale::facet, public ctype_base
-    {
-    public:
-
-
-      typedef char char_type;
-
-    protected:
-
-      __c_locale _M_c_locale_ctype;
-      bool _M_del;
-      __to_type _M_toupper;
-      __to_type _M_tolower;
-      const mask* _M_table;
-      mutable char _M_widen_ok;
-      mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
-      mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
-      mutable char _M_narrow_ok;
-
-
-    public:
-
-      static locale::id id;
-
-      static const size_t table_size = 1 + static_cast<unsigned char>(-1);
-# 727 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
-# 740 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
-     size_t __refs = 0);
-# 753 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      inline bool
-      is(mask __m, char __c) const;
-# 768 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      inline const char*
-      is(const char* __lo, const char* __hi, mask* __vec) const;
-# 782 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      inline const char*
-      scan_is(mask __m, const char* __lo, const char* __hi) const;
-# 796 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      inline const char*
-      scan_not(mask __m, const char* __lo, const char* __hi) const;
-# 811 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      toupper(char_type __c) const
-      { return this->do_toupper(__c); }
-# 828 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      toupper(char_type *__lo, const char_type* __hi) const
-      { return this->do_toupper(__lo, __hi); }
-# 844 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      tolower(char_type __c) const
-      { return this->do_tolower(__c); }
-# 861 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      tolower(char_type* __lo, const char_type* __hi) const
-      { return this->do_tolower(__lo, __hi); }
-# 881 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      widen(char __c) const
-      {
- if (_M_widen_ok)
-   return _M_widen[static_cast<unsigned char>(__c)];
- this->_M_widen_init();
- return this->do_widen(__c);
-      }
-# 908 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char*
-      widen(const char* __lo, const char* __hi, char_type* __to) const
-      {
- if (_M_widen_ok == 1)
-   {
-     if (__builtin_expect(__hi != __lo, true))
-       __builtin_memcpy(__to, __lo, __hi - __lo);
-     return __hi;
-   }
- if (!_M_widen_ok)
-   _M_widen_init();
- return this->do_widen(__lo, __hi, __to);
-      }
-# 940 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char
-      narrow(char_type __c, char __dfault) const
-      {
- if (_M_narrow[static_cast<unsigned char>(__c)])
-   return _M_narrow[static_cast<unsigned char>(__c)];
- const char __t = do_narrow(__c, __dfault);
- if (__t != __dfault)
-   _M_narrow[static_cast<unsigned char>(__c)] = __t;
- return __t;
-      }
-# 973 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      const char_type*
-      narrow(const char_type* __lo, const char_type* __hi,
-      char __dfault, char* __to) const
-      {
- if (__builtin_expect(_M_narrow_ok == 1, true))
-   {
-     if (__builtin_expect(__hi != __lo, true))
-       __builtin_memcpy(__to, __lo, __hi - __lo);
-     return __hi;
-   }
- if (!_M_narrow_ok)
-   _M_narrow_init();
- return this->do_narrow(__lo, __hi, __dfault, __to);
-      }
-
-
-
-
-
-      const mask*
-      table() const throw()
-      { return _M_table; }
-
-
-      static const mask*
-      classic_table() throw();
-    protected:
-
-
-
-
-
-
-
-      virtual
-      ~ctype();
-# 1023 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_toupper(char_type __c) const;
-# 1040 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_toupper(char_type* __lo, const char_type* __hi) const;
-# 1056 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_tolower(char_type __c) const;
-# 1073 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_tolower(char_type* __lo, const char_type* __hi) const;
-# 1093 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_widen(char __c) const
-      { return __c; }
-# 1116 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char*
-      do_widen(const char* __lo, const char* __hi, char_type* __to) const
-      {
- if (__builtin_expect(__hi != __lo, true))
-   __builtin_memcpy(__to, __lo, __hi - __lo);
- return __hi;
-      }
-# 1143 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char
-      do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
-      { return __c; }
-# 1169 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_narrow(const char_type* __lo, const char_type* __hi,
-  char __dfault __attribute__((__unused__)), char* __to) const
-      {
- if (__builtin_expect(__hi != __lo, true))
-   __builtin_memcpy(__to, __lo, __hi - __lo);
- return __hi;
-      }
-
-    private:
-      void _M_narrow_init() const;
-      void _M_widen_init() const;
-    };
-# 1195 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<>
-    class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
-    {
-    public:
-
-
-      typedef wchar_t char_type;
-      typedef wctype_t __wmask_type;
-
-    protected:
-      __c_locale _M_c_locale_ctype;
-
-
-      bool _M_narrow_ok;
-      char _M_narrow[128];
-      wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
-
-
-      mask _M_bit[16];
-      __wmask_type _M_wmask[16];
-
-    public:
-
-
-      static locale::id id;
-# 1228 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      ctype(size_t __refs = 0);
-# 1239 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      ctype(__c_locale __cloc, size_t __refs = 0);
-
-    protected:
-      __wmask_type
-      _M_convert_to_wmask(const mask __m) const throw();
-
-
-      virtual
-      ~ctype();
-# 1263 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual bool
-      do_is(mask __m, char_type __c) const;
-# 1282 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
-# 1300 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
-# 1318 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_scan_not(mask __m, const char_type* __lo,
-    const char_type* __hi) const;
-# 1335 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_toupper(char_type __c) const;
-# 1352 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_toupper(char_type* __lo, const char_type* __hi) const;
-# 1368 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_tolower(char_type __c) const;
-# 1385 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_tolower(char_type* __lo, const char_type* __hi) const;
-# 1405 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_widen(char __c) const;
-# 1427 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char*
-      do_widen(const char* __lo, const char* __hi, char_type* __to) const;
-# 1450 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char
-      do_narrow(char_type __c, char __dfault) const;
-# 1476 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual const char_type*
-      do_narrow(const char_type* __lo, const char_type* __hi,
-  char __dfault, char* __to) const;
-
-
-      void
-      _M_initialize_ctype() throw();
-    };
-
-
-
-  template<typename _CharT>
-    class ctype_byname : public ctype<_CharT>
-    {
-    public:
-      typedef typename ctype<_CharT>::mask mask;
-
-      explicit
-      ctype_byname(const char* __s, size_t __refs = 0);
-
-
-      explicit
-      ctype_byname(const string& __s, size_t __refs = 0)
-      : ctype_byname(__s.c_str(), __refs) { }
-
-
-    protected:
-      virtual
-      ~ctype_byname() { }
-    };
-
-
-  template<>
-    class ctype_byname<char> : public ctype<char>
-    {
-    public:
-      explicit
-      ctype_byname(const char* __s, size_t __refs = 0);
-
-
-      explicit
-      ctype_byname(const string& __s, size_t __refs = 0);
-
-
-    protected:
-      virtual
-      ~ctype_byname();
-    };
-
-
-  template<>
-    class ctype_byname<wchar_t> : public ctype<wchar_t>
-    {
-    public:
-      explicit
-      ctype_byname(const char* __s, size_t __refs = 0);
-
-
-      explicit
-      ctype_byname(const string& __s, size_t __refs = 0);
-
-
-    protected:
-      virtual
-      ~ctype_byname();
-    };
-
-
-
-}
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_inline.h" 1 3
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/x86_64-slackware-linux/bits/ctype_inline.h" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  bool
-  ctype<char>::
-  is(mask __m, char __c) const
-  { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
-  const char*
-  ctype<char>::
-  is(const char* __low, const char* __high, mask* __vec) const
-  {
-    while (__low < __high)
-      *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-    return __high;
-  }
-
-  const char*
-  ctype<char>::
-  scan_is(mask __m, const char* __low, const char* __high) const
-  {
-    while (__low < __high
-    && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-      ++__low;
-    return __low;
-  }
-
-  const char*
-  ctype<char>::
-  scan_not(mask __m, const char* __low, const char* __high) const
-  {
-    while (__low < __high
-    && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-      ++__low;
-    return __low;
-  }
-
-
-}
-# 1549 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-  class __num_base
-  {
-  public:
-
-
-    enum
-      {
- _S_ominus,
- _S_oplus,
- _S_ox,
- _S_oX,
- _S_odigits,
- _S_odigits_end = _S_odigits + 16,
- _S_oudigits = _S_odigits_end,
- _S_oudigits_end = _S_oudigits + 16,
- _S_oe = _S_odigits + 14,
- _S_oE = _S_oudigits + 14,
- _S_oend = _S_oudigits_end
-      };
-
-
-
-
-
-
-    static const char* _S_atoms_out;
-
-
-
-    static const char* _S_atoms_in;
-
-    enum
-    {
-      _S_iminus,
-      _S_iplus,
-      _S_ix,
-      _S_iX,
-      _S_izero,
-      _S_ie = _S_izero + 14,
-      _S_iE = _S_izero + 20,
-      _S_iend = 26
-    };
-
-
-
-    static void
-    _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
-  };
-
-  template<typename _CharT>
-    struct __numpunct_cache : public locale::facet
-    {
-      const char* _M_grouping;
-      size_t _M_grouping_size;
-      bool _M_use_grouping;
-      const _CharT* _M_truename;
-      size_t _M_truename_size;
-      const _CharT* _M_falsename;
-      size_t _M_falsename_size;
-      _CharT _M_decimal_point;
-      _CharT _M_thousands_sep;
-
-
-
-
-
-      _CharT _M_atoms_out[__num_base::_S_oend];
-
-
-
-
-
-      _CharT _M_atoms_in[__num_base::_S_iend];
-
-      bool _M_allocated;
-
-      __numpunct_cache(size_t __refs = 0)
-      : facet(__refs), _M_grouping(0), _M_grouping_size(0),
- _M_use_grouping(false),
- _M_truename(0), _M_truename_size(0), _M_falsename(0),
- _M_falsename_size(0), _M_decimal_point(_CharT()),
- _M_thousands_sep(_CharT()), _M_allocated(false)
- { }
-
-      ~__numpunct_cache();
-
-      void
-      _M_cache(const locale& __loc);
-
-    private:
-      __numpunct_cache&
-      operator=(const __numpunct_cache&);
-
-      explicit
-      __numpunct_cache(const __numpunct_cache&);
-    };
-
-  template<typename _CharT>
-    __numpunct_cache<_CharT>::~__numpunct_cache()
-    {
-      if (_M_allocated)
- {
-   delete [] _M_grouping;
-   delete [] _M_truename;
-   delete [] _M_falsename;
- }
-    }
-
-namespace __cxx11 {
-# 1679 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _CharT>
-    class numpunct : public locale::facet
-    {
-    public:
-
-
-
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
-
-      typedef __numpunct_cache<_CharT> __cache_type;
-
-    protected:
-      __cache_type* _M_data;
-
-    public:
-
-      static locale::id id;
-
-
-
-
-
-
-      explicit
-      numpunct(size_t __refs = 0)
-      : facet(__refs), _M_data(0)
-      { _M_initialize_numpunct(); }
-# 1717 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      numpunct(__cache_type* __cache, size_t __refs = 0)
-      : facet(__refs), _M_data(__cache)
-      { _M_initialize_numpunct(); }
-# 1731 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      numpunct(__c_locale __cloc, size_t __refs = 0)
-      : facet(__refs), _M_data(0)
-      { _M_initialize_numpunct(__cloc); }
-# 1745 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      decimal_point() const
-      { return this->do_decimal_point(); }
-# 1758 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      char_type
-      thousands_sep() const
-      { return this->do_thousands_sep(); }
-# 1789 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      string
-      grouping() const
-      { return this->do_grouping(); }
-# 1802 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      string_type
-      truename() const
-      { return this->do_truename(); }
-# 1815 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      string_type
-      falsename() const
-      { return this->do_falsename(); }
-
-    protected:
-
-      virtual
-      ~numpunct();
-# 1832 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_decimal_point() const
-      { return _M_data->_M_decimal_point; }
-# 1844 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual char_type
-      do_thousands_sep() const
-      { return _M_data->_M_thousands_sep; }
-# 1857 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual string
-      do_grouping() const
-      { return _M_data->_M_grouping; }
-# 1870 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual string_type
-      do_truename() const
-      { return _M_data->_M_truename; }
-# 1883 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual string_type
-      do_falsename() const
-      { return _M_data->_M_falsename; }
-
-
-      void
-      _M_initialize_numpunct(__c_locale __cloc = 0);
-    };
-
-  template<typename _CharT>
-    locale::id numpunct<_CharT>::id;
-
-  template<>
-    numpunct<char>::~numpunct();
-
-  template<>
-    void
-    numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
-
-
-  template<>
-    numpunct<wchar_t>::~numpunct();
-
-  template<>
-    void
-    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
-
-
-
-  template<typename _CharT>
-    class numpunct_byname : public numpunct<_CharT>
-    {
-    public:
-      typedef _CharT char_type;
-      typedef basic_string<_CharT> string_type;
-
-      explicit
-      numpunct_byname(const char* __s, size_t __refs = 0)
-      : numpunct<_CharT>(__refs)
-      {
- if (__builtin_strcmp(__s, "C") != 0
-     && __builtin_strcmp(__s, "POSIX") != 0)
-   {
-     __c_locale __tmp;
-     this->_S_create_c_locale(__tmp, __s);
-     this->_M_initialize_numpunct(__tmp);
-     this->_S_destroy_c_locale(__tmp);
-   }
-      }
-
-
-      explicit
-      numpunct_byname(const string& __s, size_t __refs = 0)
-      : numpunct_byname(__s.c_str(), __refs) { }
-
-
-    protected:
-      virtual
-      ~numpunct_byname() { }
-    };
-
-}
-# 1961 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _CharT, typename _InIter>
-    class num_get : public locale::facet
-    {
-    public:
-
-
-
-      typedef _CharT char_type;
-      typedef _InIter iter_type;
-
-
-
-      static locale::id id;
-# 1982 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      num_get(size_t __refs = 0) : facet(__refs) { }
-# 2008 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, bool& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-# 2045 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, long& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, unsigned short& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, unsigned int& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, unsigned long& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, long long& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, unsigned long long& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-#pragma GCC diagnostic pop
-# 2108 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, float& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, double& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, long double& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-# 2151 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      get(iter_type __in, iter_type __end, ios_base& __io,
-   ios_base::iostate& __err, void*& __v) const
-      { return this->do_get(__in, __end, __io, __err, __v); }
-
-    protected:
-
-      virtual ~num_get() { }
-
-      __attribute ((__abi_tag__ ("cxx11")))
-      iter_type
-      _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
-         string&) const;
-
-      template<typename _ValueT>
- __attribute ((__abi_tag__ ("cxx11")))
- iter_type
- _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
-         _ValueT&) const;
-
-      template<typename _CharT2>
-      typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
- _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
- {
-   int __ret = -1;
-   if (__len <= 10)
-     {
-       if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
-  __ret = __c - _CharT2('0');
-     }
-   else
-     {
-       if (__c >= _CharT2('0') && __c <= _CharT2('9'))
-  __ret = __c - _CharT2('0');
-       else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
-  __ret = 10 + (__c - _CharT2('a'));
-       else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
-  __ret = 10 + (__c - _CharT2('A'));
-     }
-   return __ret;
- }
-
-      template<typename _CharT2>
-      typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
-          int>::__type
- _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
- {
-   int __ret = -1;
-   const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
-   if (__q)
-     {
-       __ret = __q - __zero;
-       if (__ret > 15)
-  __ret -= 6;
-     }
-   return __ret;
- }
-# 2224 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual iter_type
-      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
-
-      virtual iter_type
-      do_get(iter_type __beg, iter_type __end, ios_base& __io,
-      ios_base::iostate& __err, long& __v) const
-      { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
-      virtual iter_type
-      do_get(iter_type __beg, iter_type __end, ios_base& __io,
-      ios_base::iostate& __err, unsigned short& __v) const
-      { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
-      virtual iter_type
-      do_get(iter_type __beg, iter_type __end, ios_base& __io,
-      ios_base::iostate& __err, unsigned int& __v) const
-      { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
-      virtual iter_type
-      do_get(iter_type __beg, iter_type __end, ios_base& __io,
-      ios_base::iostate& __err, unsigned long& __v) const
-      { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      virtual iter_type
-      do_get(iter_type __beg, iter_type __end, ios_base& __io,
-      ios_base::iostate& __err, long long& __v) const
-      { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
-      virtual iter_type
-      do_get(iter_type __beg, iter_type __end, ios_base& __io,
-      ios_base::iostate& __err, unsigned long long& __v) const
-      { return _M_extract_int(__beg, __end, __io, __err, __v); }
-#pragma GCC diagnostic pop
-
-
-      virtual iter_type
-      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
-
-      virtual iter_type
-      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
-      double&) const;
-# 2279 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual iter_type
-      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
-      long double&) const;
-
-
-      virtual iter_type
-      do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const;
-# 2307 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-    };
-
-  template<typename _CharT, typename _InIter>
-    locale::id num_get<_CharT, _InIter>::id;
-# 2325 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _CharT, typename _OutIter>
-    class num_put : public locale::facet
-    {
-    public:
-
-
-
-      typedef _CharT char_type;
-      typedef _OutIter iter_type;
-
-
-
-      static locale::id id;
-# 2346 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      explicit
-      num_put(size_t __refs = 0) : facet(__refs) { }
-# 2364 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-# 2406 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill,
-   unsigned long __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill,
-   unsigned long long __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-#pragma GCC diagnostic pop
-# 2472 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill,
-   long double __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-# 2497 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      iter_type
-      put(iter_type __s, ios_base& __io, char_type __fill,
-   const void* __v) const
-      { return this->do_put(__s, __io, __fill, __v); }
-
-    protected:
-      template<typename _ValueT>
- iter_type
- _M_insert_float(iter_type, ios_base& __io, char_type __fill,
-   char __mod, _ValueT __v) const;
-
-      void
-      _M_group_float(const char* __grouping, size_t __grouping_size,
-       char_type __sep, const char_type* __p, char_type* __new,
-       char_type* __cs, int& __len) const;
-
-      template<typename _ValueT>
- iter_type
- _M_insert_int(iter_type, ios_base& __io, char_type __fill,
-        _ValueT __v) const;
-
-      void
-      _M_group_int(const char* __grouping, size_t __grouping_size,
-     char_type __sep, ios_base& __io, char_type* __new,
-     char_type* __cs, int& __len) const;
-
-      void
-      _M_pad(char_type __fill, streamsize __w, ios_base& __io,
-      char_type* __new, const char_type* __cs, int& __len) const;
-
-
-      virtual
-      ~num_put() { }
-# 2545 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-      virtual iter_type
-      do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
-
-      virtual iter_type
-      do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
-      { return _M_insert_int(__s, __io, __fill, __v); }
-
-      virtual iter_type
-      do_put(iter_type __s, ios_base& __io, char_type __fill,
-      unsigned long __v) const
-      { return _M_insert_int(__s, __io, __fill, __v); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      virtual iter_type
-      do_put(iter_type __s, ios_base& __io, char_type __fill,
-      long long __v) const
-      { return _M_insert_int(__s, __io, __fill, __v); }
-
-      virtual iter_type
-      do_put(iter_type __s, ios_base& __io, char_type __fill,
-      unsigned long long __v) const
-      { return _M_insert_int(__s, __io, __fill, __v); }
-#pragma GCC diagnostic pop
-
-
-      virtual iter_type
-      do_put(iter_type, ios_base&, char_type, double) const;
-
-
-
-
-
-
-      virtual iter_type
-      do_put(iter_type, ios_base&, char_type, long double) const;
-
-
-      virtual iter_type
-      do_put(iter_type, ios_base&, char_type, const void*) const;
-# 2600 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-    };
-
-  template <typename _CharT, typename _OutIter>
-    locale::id num_put<_CharT, _OutIter>::id;
-# 2613 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 3
-  template<typename _CharT>
-    inline bool
-    isspace(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isprint(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    iscntrl(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isupper(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    islower(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isalpha(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isdigit(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    ispunct(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isxdigit(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isalnum(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
-
-
-  template<typename _CharT>
-    inline bool
-    isgraph(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
-
-
-
-  template<typename _CharT>
-    inline bool
-    isblank(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
-
-
-
-  template<typename _CharT>
-    inline _CharT
-    toupper(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
-
-
-  template<typename _CharT>
-    inline _CharT
-    tolower(_CharT __c, const locale& __loc)
-    { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
-
-
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 1 3
-# 36 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-
-
-  template<typename _Facet>
-    struct __use_cache
-    {
-      const _Facet*
-      operator() (const locale& __loc) const;
-    };
-
-
-  template<typename _CharT>
-    struct __use_cache<__numpunct_cache<_CharT> >
-    {
-      const __numpunct_cache<_CharT>*
-      operator() (const locale& __loc) const
-      {
- const size_t __i = numpunct<_CharT>::id._M_id();
- const locale::facet** __caches = __loc._M_impl->_M_caches;
- if (!__caches[__i])
-   {
-     __numpunct_cache<_CharT>* __tmp = 0;
-     try
-       {
-  __tmp = new __numpunct_cache<_CharT>;
-  __tmp->_M_cache(__loc);
-       }
-     catch(...)
-       {
-  delete __tmp;
-  throw;
-       }
-     __loc._M_impl->_M_install_cache(__tmp, __i);
-   }
- return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
-      }
-    };
-
-  template<typename _CharT>
-    void
-    __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
-    {
-      const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
-
-      char* __grouping = 0;
-      _CharT* __truename = 0;
-      _CharT* __falsename = 0;
-      try
- {
-   const string& __g = __np.grouping();
-   _M_grouping_size = __g.size();
-   __grouping = new char[_M_grouping_size];
-   __g.copy(__grouping, _M_grouping_size);
-   _M_use_grouping = (_M_grouping_size
-        && static_cast<signed char>(__grouping[0]) > 0
-        && (__grouping[0]
-     != __gnu_cxx::__numeric_traits<char>::__max));
-
-   const basic_string<_CharT>& __tn = __np.truename();
-   _M_truename_size = __tn.size();
-   __truename = new _CharT[_M_truename_size];
-   __tn.copy(__truename, _M_truename_size);
-
-   const basic_string<_CharT>& __fn = __np.falsename();
-   _M_falsename_size = __fn.size();
-   __falsename = new _CharT[_M_falsename_size];
-   __fn.copy(__falsename, _M_falsename_size);
-
-   _M_decimal_point = __np.decimal_point();
-   _M_thousands_sep = __np.thousands_sep();
-
-   const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
-   __ct.widen(__num_base::_S_atoms_out,
-       __num_base::_S_atoms_out
-       + __num_base::_S_oend, _M_atoms_out);
-   __ct.widen(__num_base::_S_atoms_in,
-       __num_base::_S_atoms_in
-       + __num_base::_S_iend, _M_atoms_in);
-
-   _M_grouping = __grouping;
-   _M_truename = __truename;
-   _M_falsename = __falsename;
-   _M_allocated = true;
- }
-      catch(...)
- {
-   delete [] __grouping;
-   delete [] __truename;
-   delete [] __falsename;
-   throw;
- }
-    }
-# 143 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-  __attribute__ ((__pure__)) bool
-  __verify_grouping(const char* __grouping, size_t __grouping_size,
-      const string& __grouping_tmp) throw ();
-
-
-
-  template<typename _CharT, typename _InIter>
-    __attribute ((__abi_tag__ ("cxx11")))
-    _InIter
-    num_get<_CharT, _InIter>::
-    _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
-       ios_base::iostate& __err, string& __xtrc) const
-    {
-      typedef char_traits<_CharT> __traits_type;
-      typedef __numpunct_cache<_CharT> __cache_type;
-      __use_cache<__cache_type> __uc;
-      const locale& __loc = __io._M_getloc();
-      const __cache_type* __lc = __uc(__loc);
-      const _CharT* __lit = __lc->_M_atoms_in;
-      char_type __c = char_type();
-
-
-      bool __testeof = __beg == __end;
-
-
-      if (!__testeof)
- {
-   __c = *__beg;
-   const bool __plus = __c == __lit[__num_base::_S_iplus];
-   if ((__plus || __c == __lit[__num_base::_S_iminus])
-       && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
-       && !(__c == __lc->_M_decimal_point))
-     {
-       __xtrc += __plus ? '+' : '-';
-       if (++__beg != __end)
-  __c = *__beg;
-       else
-  __testeof = true;
-     }
- }
-
-
-      bool __found_mantissa = false;
-      int __sep_pos = 0;
-      while (!__testeof)
- {
-   if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
-       || __c == __lc->_M_decimal_point)
-     break;
-   else if (__c == __lit[__num_base::_S_izero])
-     {
-       if (!__found_mantissa)
-  {
-    __xtrc += '0';
-    __found_mantissa = true;
-  }
-       ++__sep_pos;
-
-       if (++__beg != __end)
-  __c = *__beg;
-       else
-  __testeof = true;
-     }
-   else
-     break;
- }
-
-
-      bool __found_dec = false;
-      bool __found_sci = false;
-      string __found_grouping;
-      if (__lc->_M_use_grouping)
- __found_grouping.reserve(32);
-      const char_type* __lit_zero = __lit + __num_base::_S_izero;
-
-      if (!__lc->_M_allocated)
-
- while (!__testeof)
-   {
-     const int __digit = _M_find(__lit_zero, 10, __c);
-     if (__digit != -1)
-       {
-  __xtrc += '0' + __digit;
-  __found_mantissa = true;
-       }
-     else if (__c == __lc->_M_decimal_point
-       && !__found_dec && !__found_sci)
-       {
-  __xtrc += '.';
-  __found_dec = true;
-       }
-     else if ((__c == __lit[__num_base::_S_ie]
-        || __c == __lit[__num_base::_S_iE])
-       && !__found_sci && __found_mantissa)
-       {
-
-  __xtrc += 'e';
-  __found_sci = true;
-
-
-  if (++__beg != __end)
-    {
-      __c = *__beg;
-      const bool __plus = __c == __lit[__num_base::_S_iplus];
-      if (__plus || __c == __lit[__num_base::_S_iminus])
-        __xtrc += __plus ? '+' : '-';
-      else
-        continue;
-    }
-  else
-    {
-      __testeof = true;
-      break;
-    }
-       }
-     else
-       break;
-
-     if (++__beg != __end)
-       __c = *__beg;
-     else
-       __testeof = true;
-   }
-      else
- while (!__testeof)
-   {
-
-
-     if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
-       {
-  if (!__found_dec && !__found_sci)
-    {
-
-
-      if (__sep_pos)
-        {
-   __found_grouping += static_cast<char>(__sep_pos);
-   __sep_pos = 0;
-        }
-      else
-        {
-
-
-   __xtrc.clear();
-   break;
-        }
-    }
-  else
-    break;
-       }
-     else if (__c == __lc->_M_decimal_point)
-       {
-  if (!__found_dec && !__found_sci)
-    {
-
-
-
-      if (__found_grouping.size())
-        __found_grouping += static_cast<char>(__sep_pos);
-      __xtrc += '.';
-      __found_dec = true;
-    }
-  else
-    break;
-       }
-     else
-       {
-  const char_type* __q =
-    __traits_type::find(__lit_zero, 10, __c);
-  if (__q)
-    {
-      __xtrc += '0' + (__q - __lit_zero);
-      __found_mantissa = true;
-      ++__sep_pos;
-    }
-  else if ((__c == __lit[__num_base::_S_ie]
-     || __c == __lit[__num_base::_S_iE])
-    && !__found_sci && __found_mantissa)
-    {
-
-      if (__found_grouping.size() && !__found_dec)
-        __found_grouping += static_cast<char>(__sep_pos);
-      __xtrc += 'e';
-      __found_sci = true;
-
-
-      if (++__beg != __end)
-        {
-   __c = *__beg;
-   const bool __plus = __c == __lit[__num_base::_S_iplus];
-   if ((__plus || __c == __lit[__num_base::_S_iminus])
-       && !(__lc->_M_use_grouping
-     && __c == __lc->_M_thousands_sep)
-       && !(__c == __lc->_M_decimal_point))
-        __xtrc += __plus ? '+' : '-';
-   else
-     continue;
-        }
-      else
-        {
-   __testeof = true;
-   break;
-        }
-    }
-  else
-    break;
-       }
-
-     if (++__beg != __end)
-       __c = *__beg;
-     else
-       __testeof = true;
-   }
-
-
-
-      if (__found_grouping.size())
-        {
-
-   if (!__found_dec && !__found_sci)
-     __found_grouping += static_cast<char>(__sep_pos);
-
-          if (!std::__verify_grouping(__lc->_M_grouping,
-          __lc->_M_grouping_size,
-          __found_grouping))
-     __err = ios_base::failbit;
-        }
-
-      return __beg;
-    }
-
-  template<typename _CharT, typename _InIter>
-    template<typename _ValueT>
-      __attribute ((__abi_tag__ ("cxx11")))
-      _InIter
-      num_get<_CharT, _InIter>::
-      _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
-       ios_base::iostate& __err, _ValueT& __v) const
-      {
-        typedef char_traits<_CharT> __traits_type;
- using __gnu_cxx::__add_unsigned;
- typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
- const _CharT* __lit = __lc->_M_atoms_in;
- char_type __c = char_type();
-
-
- const ios_base::fmtflags __basefield = __io.flags()
-                                        & ios_base::basefield;
- const bool __oct = __basefield == ios_base::oct;
- int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
-
-
- bool __testeof = __beg == __end;
-
-
- bool __negative = false;
- if (!__testeof)
-   {
-     __c = *__beg;
-     __negative = __c == __lit[__num_base::_S_iminus];
-     if ((__negative || __c == __lit[__num_base::_S_iplus])
-  && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
-  && !(__c == __lc->_M_decimal_point))
-       {
-  if (++__beg != __end)
-    __c = *__beg;
-  else
-    __testeof = true;
-       }
-   }
-
-
-
- bool __found_zero = false;
- int __sep_pos = 0;
- while (!__testeof)
-   {
-     if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
-  || __c == __lc->_M_decimal_point)
-       break;
-     else if (__c == __lit[__num_base::_S_izero]
-       && (!__found_zero || __base == 10))
-       {
-  __found_zero = true;
-  ++__sep_pos;
-  if (__basefield == 0)
-    __base = 8;
-  if (__base == 8)
-    __sep_pos = 0;
-       }
-     else if (__found_zero
-       && (__c == __lit[__num_base::_S_ix]
-    || __c == __lit[__num_base::_S_iX]))
-       {
-  if (__basefield == 0)
-    __base = 16;
-  if (__base == 16)
-    {
-      __found_zero = false;
-      __sep_pos = 0;
-    }
-  else
-    break;
-       }
-     else
-       break;
-
-     if (++__beg != __end)
-       {
-  __c = *__beg;
-  if (!__found_zero)
-    break;
-       }
-     else
-       __testeof = true;
-   }
-
-
-
- const size_t __len = (__base == 16 ? __num_base::_S_iend
-         - __num_base::_S_izero : __base);
-
-
- typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
- string __found_grouping;
- if (__lc->_M_use_grouping)
-   __found_grouping.reserve(32);
- bool __testfail = false;
- bool __testoverflow = false;
- const __unsigned_type __max =
-   (__negative && __num_traits::__is_signed)
-   ? -static_cast<__unsigned_type>(__num_traits::__min)
-   : __num_traits::__max;
- const __unsigned_type __smax = __max / __base;
- __unsigned_type __result = 0;
- int __digit = 0;
- const char_type* __lit_zero = __lit + __num_base::_S_izero;
-
- if (!__lc->_M_allocated)
-
-   while (!__testeof)
-     {
-       __digit = _M_find(__lit_zero, __len, __c);
-       if (__digit == -1)
-  break;
-
-       if (__result > __smax)
-  __testoverflow = true;
-       else
-  {
-    __result *= __base;
-    __testoverflow |= __result > __max - __digit;
-    __result += __digit;
-    ++__sep_pos;
-  }
-
-       if (++__beg != __end)
-  __c = *__beg;
-       else
-  __testeof = true;
-     }
- else
-   while (!__testeof)
-     {
-
-
-       if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
-  {
-
-
-    if (__sep_pos)
-      {
-        __found_grouping += static_cast<char>(__sep_pos);
-        __sep_pos = 0;
-      }
-    else
-      {
-        __testfail = true;
-        break;
-      }
-  }
-       else if (__c == __lc->_M_decimal_point)
-  break;
-       else
-  {
-    const char_type* __q =
-      __traits_type::find(__lit_zero, __len, __c);
-    if (!__q)
-      break;
-
-    __digit = __q - __lit_zero;
-    if (__digit > 15)
-      __digit -= 6;
-    if (__result > __smax)
-      __testoverflow = true;
-    else
-      {
-        __result *= __base;
-        __testoverflow |= __result > __max - __digit;
-        __result += __digit;
-        ++__sep_pos;
-      }
-  }
-
-       if (++__beg != __end)
-  __c = *__beg;
-       else
-  __testeof = true;
-     }
-
-
-
- if (__found_grouping.size())
-   {
-
-     __found_grouping += static_cast<char>(__sep_pos);
-
-     if (!std::__verify_grouping(__lc->_M_grouping,
-     __lc->_M_grouping_size,
-     __found_grouping))
-       __err = ios_base::failbit;
-   }
-
-
-
- if ((!__sep_pos && !__found_zero && !__found_grouping.size())
-     || __testfail)
-   {
-     __v = 0;
-     __err = ios_base::failbit;
-   }
- else if (__testoverflow)
-   {
-     if (__negative && __num_traits::__is_signed)
-       __v = __num_traits::__min;
-     else
-       __v = __num_traits::__max;
-     __err = ios_base::failbit;
-   }
- else
-   __v = __negative ? -__result : __result;
-
- if (__testeof)
-   __err |= ios_base::eofbit;
- return __beg;
-      }
-
-
-
-  template<typename _CharT, typename _InIter>
-    _InIter
-    num_get<_CharT, _InIter>::
-    do_get(iter_type __beg, iter_type __end, ios_base& __io,
-           ios_base::iostate& __err, bool& __v) const
-    {
-      if (!(__io.flags() & ios_base::boolalpha))
-        {
-
-
-
-   long __l = -1;
-          __beg = _M_extract_int(__beg, __end, __io, __err, __l);
-   if (__l == 0 || __l == 1)
-     __v = bool(__l);
-   else
-     {
-
-
-       __v = true;
-       __err = ios_base::failbit;
-       if (__beg == __end)
-  __err |= ios_base::eofbit;
-     }
-        }
-      else
-        {
-
-   typedef __numpunct_cache<_CharT> __cache_type;
-   __use_cache<__cache_type> __uc;
-   const locale& __loc = __io._M_getloc();
-   const __cache_type* __lc = __uc(__loc);
-
-   bool __testf = true;
-   bool __testt = true;
-   bool __donef = __lc->_M_falsename_size == 0;
-   bool __donet = __lc->_M_truename_size == 0;
-   bool __testeof = false;
-   size_t __n = 0;
-   while (!__donef || !__donet)
-     {
-       if (__beg == __end)
-  {
-    __testeof = true;
-    break;
-  }
-
-       const char_type __c = *__beg;
-
-       if (!__donef)
-  __testf = __c == __lc->_M_falsename[__n];
-
-       if (!__testf && __donet)
-  break;
-
-       if (!__donet)
-  __testt = __c == __lc->_M_truename[__n];
-
-       if (!__testt && __donef)
-  break;
-
-       if (!__testt && !__testf)
-  break;
-
-       ++__n;
-       ++__beg;
-
-       __donef = !__testf || __n >= __lc->_M_falsename_size;
-       __donet = !__testt || __n >= __lc->_M_truename_size;
-     }
-   if (__testf && __n == __lc->_M_falsename_size && __n)
-     {
-       __v = false;
-       if (__testt && __n == __lc->_M_truename_size)
-  __err = ios_base::failbit;
-       else
-  __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
-     }
-   else if (__testt && __n == __lc->_M_truename_size && __n)
-     {
-       __v = true;
-       __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
-     }
-   else
-     {
-
-
-       __v = false;
-       __err = ios_base::failbit;
-       if (__testeof)
-  __err |= ios_base::eofbit;
-     }
- }
-      return __beg;
-    }
-
-  template<typename _CharT, typename _InIter>
-    _InIter
-    num_get<_CharT, _InIter>::
-    do_get(iter_type __beg, iter_type __end, ios_base& __io,
-    ios_base::iostate& __err, float& __v) const
-    {
-      string __xtrc;
-      __xtrc.reserve(32);
-      __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
-      std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
-      if (__beg == __end)
- __err |= ios_base::eofbit;
-      return __beg;
-    }
-
-  template<typename _CharT, typename _InIter>
-    _InIter
-    num_get<_CharT, _InIter>::
-    do_get(iter_type __beg, iter_type __end, ios_base& __io,
-           ios_base::iostate& __err, double& __v) const
-    {
-      string __xtrc;
-      __xtrc.reserve(32);
-      __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
-      std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
-      if (__beg == __end)
- __err |= ios_base::eofbit;
-      return __beg;
-    }
-# 739 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-  template<typename _CharT, typename _InIter>
-    _InIter
-    num_get<_CharT, _InIter>::
-    do_get(iter_type __beg, iter_type __end, ios_base& __io,
-           ios_base::iostate& __err, long double& __v) const
-    {
-      string __xtrc;
-      __xtrc.reserve(32);
-      __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
-      std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
-      if (__beg == __end)
- __err |= ios_base::eofbit;
-      return __beg;
-    }
-
-  template<typename _CharT, typename _InIter>
-    _InIter
-    num_get<_CharT, _InIter>::
-    do_get(iter_type __beg, iter_type __end, ios_base& __io,
-           ios_base::iostate& __err, void*& __v) const
-    {
-
-      typedef ios_base::fmtflags fmtflags;
-      const fmtflags __fmt = __io.flags();
-      __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      typedef __gnu_cxx::__conditional_type<(sizeof(void*)
-          <= sizeof(unsigned long)),
- unsigned long, unsigned long long>::__type _UIntPtrType;
-#pragma GCC diagnostic pop
-
-      _UIntPtrType __ul;
-      __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
-
-
-      __io.flags(__fmt);
-
-      __v = reinterpret_cast<void*>(__ul);
-      return __beg;
-    }
-# 802 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-  template<typename _CharT, typename _OutIter>
-    void
-    num_put<_CharT, _OutIter>::
-    _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
-    _CharT* __new, const _CharT* __cs, int& __len) const
-    {
-
-
-      __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
-        __cs, __w, __len);
-      __len = static_cast<int>(__w);
-    }
-
-
-
-  template<typename _CharT, typename _ValueT>
-    int
-    __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
-    ios_base::fmtflags __flags, bool __dec)
-    {
-      _CharT* __buf = __bufend;
-      if (__builtin_expect(__dec, true))
- {
-
-   do
-     {
-       *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
-       __v /= 10;
-     }
-   while (__v != 0);
- }
-      else if ((__flags & ios_base::basefield) == ios_base::oct)
- {
-
-   do
-     {
-       *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
-       __v >>= 3;
-     }
-   while (__v != 0);
- }
-      else
- {
-
-   const bool __uppercase = __flags & ios_base::uppercase;
-   const int __case_offset = __uppercase ? __num_base::_S_oudigits
-                                         : __num_base::_S_odigits;
-   do
-     {
-       *--__buf = __lit[(__v & 0xf) + __case_offset];
-       __v >>= 4;
-     }
-   while (__v != 0);
- }
-      return __bufend - __buf;
-    }
-
-
-
-  template<typename _CharT, typename _OutIter>
-    void
-    num_put<_CharT, _OutIter>::
-    _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
-   ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
-    {
-      _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
-     __grouping_size, __cs, __cs + __len);
-      __len = __p - __new;
-    }
-
-  template<typename _CharT, typename _OutIter>
-    template<typename _ValueT>
-      _OutIter
-      num_put<_CharT, _OutIter>::
-      _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
-      _ValueT __v) const
-      {
- using __gnu_cxx::__add_unsigned;
- typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
- const _CharT* __lit = __lc->_M_atoms_out;
- const ios_base::fmtflags __flags = __io.flags();
-
-
- const int __ilen = 5 * sizeof(_ValueT);
- _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-            * __ilen));
-
-
-
- const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
- const bool __dec = (__basefield != ios_base::oct
-       && __basefield != ios_base::hex);
- const __unsigned_type __u = ((__v > 0 || !__dec)
-         ? __unsigned_type(__v)
-         : -__unsigned_type(__v));
-  int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
- __cs += __ilen - __len;
-
-
- if (__lc->_M_use_grouping)
-   {
-
-
-     _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-          * (__len + 1)
-          * 2));
-     _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
-    __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
-     __cs = __cs2 + 2;
-   }
-
-
- if (__builtin_expect(__dec, true))
-   {
-
-     if (__v >= 0)
-       {
-  if (bool(__flags & ios_base::showpos)
-      && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
-    *--__cs = __lit[__num_base::_S_oplus], ++__len;
-       }
-     else
-       *--__cs = __lit[__num_base::_S_ominus], ++__len;
-   }
- else if (bool(__flags & ios_base::showbase) && __v)
-   {
-     if (__basefield == ios_base::oct)
-       *--__cs = __lit[__num_base::_S_odigits], ++__len;
-     else
-       {
-
-  const bool __uppercase = __flags & ios_base::uppercase;
-  *--__cs = __lit[__num_base::_S_ox + __uppercase];
-
-  *--__cs = __lit[__num_base::_S_odigits];
-  __len += 2;
-       }
-   }
-
-
- const streamsize __w = __io.width();
- if (__w > static_cast<streamsize>(__len))
-   {
-     _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-          * __w));
-     _M_pad(__fill, __w, __io, __cs3, __cs, __len);
-     __cs = __cs3;
-   }
- __io.width(0);
-
-
-
- return std::__write(__s, __cs, __len);
-      }
-
-  template<typename _CharT, typename _OutIter>
-    void
-    num_put<_CharT, _OutIter>::
-    _M_group_float(const char* __grouping, size_t __grouping_size,
-     _CharT __sep, const _CharT* __p, _CharT* __new,
-     _CharT* __cs, int& __len) const
-    {
-
-
-
-      const int __declen = __p ? __p - __cs : __len;
-      _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
-      __grouping_size,
-      __cs, __cs + __declen);
-
-
-      int __newlen = __p2 - __new;
-      if (__p)
- {
-   char_traits<_CharT>::copy(__p2, __p, __len - __declen);
-   __newlen += __len - __declen;
- }
-      __len = __newlen;
-    }
-# 996 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-  template<typename _CharT, typename _OutIter>
-    template<typename _ValueT>
-      _OutIter
-      num_put<_CharT, _OutIter>::
-      _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
-         _ValueT __v) const
-      {
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
-
-
- const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
-
- const int __max_digits =
-   __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
-
-
- int __len;
-
- char __fbuf[16];
- __num_base::_S_format_float(__io, __fbuf, __mod);
-
-
-
- const bool __use_prec =
-   (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
-
-
-
- int __cs_size = __max_digits * 3;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- if (__use_prec)
-   __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
-     __fbuf, __prec, __v);
- else
-   __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
-     __fbuf, __v);
-
-
- if (__len >= __cs_size)
-   {
-     __cs_size = __len + 1;
-     __cs = static_cast<char*>(__builtin_alloca(__cs_size));
-     if (__use_prec)
-       __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
-         __fbuf, __prec, __v);
-     else
-       __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
-         __fbuf, __v);
-   }
-# 1069 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-            * __len));
- __ctype.widen(__cs, __cs + __len, __ws);
-
-
- _CharT* __wp = 0;
- const char* __p = char_traits<char>::find(__cs, __len, '.');
- if (__p)
-   {
-     __wp = __ws + (__p - __cs);
-     *__wp = __lc->_M_decimal_point;
-   }
-
-
-
-
- if (__lc->_M_use_grouping
-     && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
-          && __cs[1] >= '0' && __cs[2] >= '0')))
-   {
-
-
-     _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-          * __len * 2));
-
-     streamsize __off = 0;
-     if (__cs[0] == '-' || __cs[0] == '+')
-       {
-  __off = 1;
-  __ws2[0] = __ws[0];
-  __len -= 1;
-       }
-
-     _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
-      __lc->_M_thousands_sep, __wp, __ws2 + __off,
-      __ws + __off, __len);
-     __len += __off;
-
-     __ws = __ws2;
-   }
-
-
- const streamsize __w = __io.width();
- if (__w > static_cast<streamsize>(__len))
-   {
-     _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-          * __w));
-     _M_pad(__fill, __w, __io, __ws3, __ws, __len);
-     __ws = __ws3;
-   }
- __io.width(0);
-
-
-
- return std::__write(__s, __ws, __len);
-      }
-
-  template<typename _CharT, typename _OutIter>
-    _OutIter
-    num_put<_CharT, _OutIter>::
-    do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
-    {
-      const ios_base::fmtflags __flags = __io.flags();
-      if ((__flags & ios_base::boolalpha) == 0)
-        {
-          const long __l = __v;
-          __s = _M_insert_int(__s, __io, __fill, __l);
-        }
-      else
-        {
-   typedef __numpunct_cache<_CharT> __cache_type;
-   __use_cache<__cache_type> __uc;
-   const locale& __loc = __io._M_getloc();
-   const __cache_type* __lc = __uc(__loc);
-
-   const _CharT* __name = __v ? __lc->_M_truename
-                              : __lc->_M_falsename;
-   int __len = __v ? __lc->_M_truename_size
-                   : __lc->_M_falsename_size;
-
-   const streamsize __w = __io.width();
-   if (__w > static_cast<streamsize>(__len))
-     {
-       const streamsize __plen = __w - __len;
-       _CharT* __ps
-  = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
-       * __plen));
-
-       char_traits<_CharT>::assign(__ps, __plen, __fill);
-       __io.width(0);
-
-       if ((__flags & ios_base::adjustfield) == ios_base::left)
-  {
-    __s = std::__write(__s, __name, __len);
-    __s = std::__write(__s, __ps, __plen);
-  }
-       else
-  {
-    __s = std::__write(__s, __ps, __plen);
-    __s = std::__write(__s, __name, __len);
-  }
-       return __s;
-     }
-   __io.width(0);
-   __s = std::__write(__s, __name, __len);
- }
-      return __s;
-    }
-
-  template<typename _CharT, typename _OutIter>
-    _OutIter
-    num_put<_CharT, _OutIter>::
-    do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
-    { return _M_insert_float(__s, __io, __fill, char(), __v); }
-# 1194 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-  template<typename _CharT, typename _OutIter>
-    _OutIter
-    num_put<_CharT, _OutIter>::
-    do_put(iter_type __s, ios_base& __io, char_type __fill,
-    long double __v) const
-    { return _M_insert_float(__s, __io, __fill, 'L', __v); }
-
-  template<typename _CharT, typename _OutIter>
-    _OutIter
-    num_put<_CharT, _OutIter>::
-    do_put(iter_type __s, ios_base& __io, char_type __fill,
-           const void* __v) const
-    {
-      const ios_base::fmtflags __flags = __io.flags();
-      const ios_base::fmtflags __fmt = ~(ios_base::basefield
-      | ios_base::uppercase);
-      __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
-          <= sizeof(unsigned long)),
- unsigned long, unsigned long long>::__type _UIntPtrType;
-#pragma GCC diagnostic pop
-
-      __s = _M_insert_int(__s, __io, __fill,
-     reinterpret_cast<_UIntPtrType>(__v));
-      __io.flags(__flags);
-      return __s;
-    }
-# 1243 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.tcc" 3
-  template<typename _CharT, typename _Traits>
-    void
-    __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
-       _CharT* __news, const _CharT* __olds,
-       streamsize __newlen, streamsize __oldlen)
-    {
-      const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
-      const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
-
-
-      if (__adjust == ios_base::left)
- {
-   _Traits::copy(__news, __olds, __oldlen);
-   _Traits::assign(__news + __oldlen, __plen, __fill);
-   return;
- }
-
-      size_t __mod = 0;
-      if (__adjust == ios_base::internal)
- {
-
-
-
-          const locale& __loc = __io._M_getloc();
-   const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
-   if (__ctype.widen('-') == __olds[0]
-       || __ctype.widen('+') == __olds[0])
-     {
-       __news[0] = __olds[0];
-       __mod = 1;
-       ++__news;
-     }
-   else if (__ctype.widen('0') == __olds[0]
-     && __oldlen > 1
-     && (__ctype.widen('x') == __olds[1]
-         || __ctype.widen('X') == __olds[1]))
-     {
-       __news[0] = __olds[0];
-       __news[1] = __olds[1];
-       __mod = 2;
-       __news += 2;
-     }
-
- }
-      _Traits::assign(__news, __plen, __fill);
-      _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
-    }
-
-  template<typename _CharT>
-    _CharT*
-    __add_grouping(_CharT* __s, _CharT __sep,
-     const char* __gbeg, size_t __gsize,
-     const _CharT* __first, const _CharT* __last)
-    {
-      size_t __idx = 0;
-      size_t __ctr = 0;
-
-      while (__last - __first > __gbeg[__idx]
-      && static_cast<signed char>(__gbeg[__idx]) > 0
-      && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
- {
-   __last -= __gbeg[__idx];
-   __idx < __gsize - 1 ? ++__idx : ++__ctr;
- }
-
-      while (__first != __last)
- *__s++ = *__first++;
-
-      while (__ctr--)
- {
-   *__s++ = __sep;
-   for (char __i = __gbeg[__idx]; __i > 0; --__i)
-     *__s++ = *__first++;
- }
-
-      while (__idx--)
- {
-   *__s++ = __sep;
-   for (char __i = __gbeg[__idx]; __i > 0; --__i)
-     *__s++ = *__first++;
- }
-
-      return __s;
-    }
-
-
-
-
-  extern template class __cxx11:: numpunct<char>;
-  extern template class __cxx11:: numpunct_byname<char>;
-  extern template class num_get<char>;
-  extern template class num_put<char>;
-  extern template class ctype_byname<char>;
-
-  extern template
-    const ctype<char>*
-    __try_use_facet<ctype<char> >(const locale&) noexcept;
-
-  extern template
-    const numpunct<char>*
-    __try_use_facet<numpunct<char> >(const locale&) noexcept;
-
-  extern template
-    const num_put<char>*
-    __try_use_facet<num_put<char> >(const locale&) noexcept;
-
-  extern template
-    const num_get<char>*
-    __try_use_facet<num_get<char> >(const locale&) noexcept;
-
-  extern template
-    const ctype<char>&
-    use_facet<ctype<char> >(const locale&);
-
-  extern template
-    const numpunct<char>&
-    use_facet<numpunct<char> >(const locale&);
-
-  extern template
-    const num_put<char>&
-    use_facet<num_put<char> >(const locale&);
-
-  extern template
-    const num_get<char>&
-    use_facet<num_get<char> >(const locale&);
-
-  extern template
-    bool
-    has_facet<ctype<char> >(const locale&);
-
-  extern template
-    bool
-    has_facet<numpunct<char> >(const locale&);
-
-  extern template
-    bool
-    has_facet<num_put<char> >(const locale&);
-
-  extern template
-    bool
-    has_facet<num_get<char> >(const locale&);
-
-
-  extern template class __cxx11:: numpunct<wchar_t>;
-  extern template class __cxx11:: numpunct_byname<wchar_t>;
-  extern template class num_get<wchar_t>;
-  extern template class num_put<wchar_t>;
-  extern template class ctype_byname<wchar_t>;
-
-  extern template
-    const ctype<wchar_t>*
-    __try_use_facet<ctype<wchar_t> >(const locale&) noexcept;
-
-  extern template
-    const numpunct<wchar_t>*
-    __try_use_facet<numpunct<wchar_t> >(const locale&) noexcept;
-
-  extern template
-    const num_put<wchar_t>*
-    __try_use_facet<num_put<wchar_t> >(const locale&) noexcept;
-
-  extern template
-    const num_get<wchar_t>*
-    __try_use_facet<num_get<wchar_t> >(const locale&) noexcept;
-
-  extern template
-    const ctype<wchar_t>&
-    use_facet<ctype<wchar_t> >(const locale&);
-
-  extern template
-    const numpunct<wchar_t>&
-    use_facet<numpunct<wchar_t> >(const locale&);
-
-  extern template
-    const num_put<wchar_t>&
-    use_facet<num_put<wchar_t> >(const locale&);
-
-  extern template
-    const num_get<wchar_t>&
-    use_facet<num_get<wchar_t> >(const locale&);
-
-  extern template
-    bool
-    has_facet<ctype<wchar_t> >(const locale&);
-
-  extern template
-    bool
-    has_facet<numpunct<wchar_t> >(const locale&);
-
-  extern template
-    bool
-    has_facet<num_put<wchar_t> >(const locale&);
-
-  extern template
-    bool
-    has_facet<num_get<wchar_t> >(const locale&);
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 2702 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/locale_facets.h" 2 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 2 3
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _Facet>
-    inline const _Facet&
-    __check_facet(const _Facet* __f)
-    {
-      if (!__f)
- __throw_bad_cast();
-      return *__f;
-    }
-# 68 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-  template<typename _CharT, typename _Traits>
-    class basic_ios : public ios_base
-    {
-
-
-
-
-    public:
-
-
-
-
-
-
-      typedef _CharT char_type;
-      typedef typename _Traits::int_type int_type;
-      typedef typename _Traits::pos_type pos_type;
-      typedef typename _Traits::off_type off_type;
-      typedef _Traits traits_type;
-
-
-
-
-
-
-      typedef ctype<_CharT> __ctype_type;
-      typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
-           __num_put_type;
-      typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
-           __num_get_type;
-
-
-
-    protected:
-      basic_ostream<_CharT, _Traits>* _M_tie;
-      mutable char_type _M_fill;
-      mutable bool _M_fill_init;
-      basic_streambuf<_CharT, _Traits>* _M_streambuf;
-
-
-      const __ctype_type* _M_ctype;
-
-      const __num_put_type* _M_num_put;
-
-      const __num_get_type* _M_num_get;
-
-    public:
-# 123 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      [[__nodiscard__]]
-      explicit operator bool() const
-      { return !this->fail(); }
-
-
-
-
-
-      [[__nodiscard__]]
-      bool
-      operator!() const
-      { return this->fail(); }
-# 144 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      [[__nodiscard__]]
-      iostate
-      rdstate() const
-      { return _M_streambuf_state; }
-# 156 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      void
-      clear(iostate __state = goodbit);
-
-
-
-
-
-
-
-      void
-      setstate(iostate __state)
-      { this->clear(this->rdstate() | __state); }
-
-
-
-
-      void
-      _M_setstate(iostate __state)
-      {
-
-
- _M_streambuf_state |= __state;
- if (this->exceptions() & __state)
-   { throw; }
-      }
-
-
-
-
-
-
-
-      [[__nodiscard__]]
-      bool
-      good() const
-      { return this->rdstate() == 0; }
-
-
-
-
-
-
-
-      [[__nodiscard__]]
-      bool
-      eof() const
-      { return (this->rdstate() & eofbit) != 0; }
-# 211 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      [[__nodiscard__]]
-      bool
-      fail() const
-      { return (this->rdstate() & (badbit | failbit)) != 0; }
-
-
-
-
-
-
-
-      [[__nodiscard__]]
-      bool
-      bad() const
-      { return (this->rdstate() & badbit) != 0; }
-# 234 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      [[__nodiscard__]]
-      iostate
-      exceptions() const
-      { return _M_exception; }
-# 270 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      void
-      exceptions(iostate __except)
-      {
-        _M_exception = __except;
-        this->clear(_M_streambuf_state);
-      }
-
-
-
-
-
-
-
-      explicit
-      basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
-      : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
- _M_ctype(0), _M_num_put(0), _M_num_get(0)
-      { this->init(__sb); }
-
-
-
-
-
-
-
-      virtual
-      ~basic_ios() { }
-# 308 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      [[__nodiscard__]]
-      basic_ostream<_CharT, _Traits>*
-      tie() const
-      { return _M_tie; }
-# 321 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      basic_ostream<_CharT, _Traits>*
-      tie(basic_ostream<_CharT, _Traits>* __tiestr)
-      {
-        basic_ostream<_CharT, _Traits>* __old = _M_tie;
-        _M_tie = __tiestr;
-        return __old;
-      }
-
-
-
-
-
-
-
-      [[__nodiscard__]]
-      basic_streambuf<_CharT, _Traits>*
-      rdbuf() const
-      { return _M_streambuf; }
-# 362 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      basic_streambuf<_CharT, _Traits>*
-      rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
-# 376 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      basic_ios&
-      copyfmt(const basic_ios& __rhs);
-
-
-
-
-
-
-
-      [[__nodiscard__]]
-      char_type
-      fill() const
-      {
- if (__builtin_expect(!_M_fill_init, false))
-   return this->widen(' ');
- return _M_fill;
-      }
-# 403 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      char_type
-      fill(char_type __ch)
-      {
- char_type __old = _M_fill;
- _M_fill = __ch;
- _M_fill_init = true;
- return __old;
-      }
-# 424 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      locale
-      imbue(const locale& __loc);
-# 444 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      char
-      narrow(char_type __c, char __dfault) const
-      { return __check_facet(_M_ctype).narrow(__c, __dfault); }
-# 463 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 3
-      char_type
-      widen(char __c) const
-      { return __check_facet(_M_ctype).widen(__c); }
-
-    protected:
-
-
-
-
-
-
-
-      basic_ios()
-      : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
- _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
-      { }
-
-
-
-
-
-
-
-      void
-      init(basic_streambuf<_CharT, _Traits>* __sb);
-
-
-      basic_ios(const basic_ios&) = delete;
-      basic_ios& operator=(const basic_ios&) = delete;
-
-      void
-      move(basic_ios& __rhs)
-      {
- ios_base::_M_move(__rhs);
- _M_cache_locale(_M_ios_locale);
- this->tie(__rhs.tie(nullptr));
- _M_fill = __rhs._M_fill;
- _M_fill_init = __rhs._M_fill_init;
- _M_streambuf = nullptr;
-      }
-
-      void
-      move(basic_ios&& __rhs)
-      { this->move(__rhs); }
-
-      void
-      swap(basic_ios& __rhs) noexcept
-      {
- ios_base::_M_swap(__rhs);
- _M_cache_locale(_M_ios_locale);
- __rhs._M_cache_locale(__rhs._M_ios_locale);
- std::swap(_M_tie, __rhs._M_tie);
- std::swap(_M_fill, __rhs._M_fill);
- std::swap(_M_fill_init, __rhs._M_fill_init);
-      }
-
-      void
-      set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
-      { _M_streambuf = __sb; }
-
-
-      void
-      _M_cache_locale(const locale& __loc);
-    };
-
-
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.tcc" 1 3
-# 37 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _CharT, typename _Traits>
-    void
-    basic_ios<_CharT, _Traits>::clear(iostate __state)
-    {
-      if (this->rdbuf())
- _M_streambuf_state = __state;
-      else
- _M_streambuf_state = __state | badbit;
-      if (this->exceptions() & this->rdstate())
- __throw_ios_failure(("basic_ios::clear"));
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_streambuf<_CharT, _Traits>*
-    basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
-    {
-      basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
-      _M_streambuf = __sb;
-      this->clear();
-      return __old;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ios<_CharT, _Traits>&
-    basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
-    {
-
-
-      if (this != std::__addressof(__rhs))
- {
-
-
-
-
-   _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
-                      _M_local_word : new _Words[__rhs._M_word_size];
-
-
-   _Callback_list* __cb = __rhs._M_callbacks;
-   if (__cb)
-     __cb->_M_add_reference();
-   _M_call_callbacks(erase_event);
-   if (_M_word != _M_local_word)
-     {
-       delete [] _M_word;
-       _M_word = 0;
-     }
-   _M_dispose_callbacks();
-
-
-   _M_callbacks = __cb;
-   for (int __i = 0; __i < __rhs._M_word_size; ++__i)
-     __words[__i] = __rhs._M_word[__i];
-   _M_word = __words;
-   _M_word_size = __rhs._M_word_size;
-
-   this->flags(__rhs.flags());
-   this->width(__rhs.width());
-   this->precision(__rhs.precision());
-   this->tie(__rhs.tie());
-   this->fill(__rhs.fill());
-   _M_ios_locale = __rhs.getloc();
-   _M_cache_locale(_M_ios_locale);
-
-   _M_call_callbacks(copyfmt_event);
-
-
-   this->exceptions(__rhs.exceptions());
- }
-      return *this;
-    }
-
-
-  template<typename _CharT, typename _Traits>
-    locale
-    basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
-    {
-      locale __old(this->getloc());
-      ios_base::imbue(__loc);
-      _M_cache_locale(__loc);
-      if (this->rdbuf() != 0)
- this->rdbuf()->pubimbue(__loc);
-      return __old;
-    }
-
-  template<typename _CharT, typename _Traits>
-    void
-    basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
-    {
-
-      ios_base::_M_init();
-
-
-      _M_cache_locale(_M_ios_locale);
-# 153 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.tcc" 3
-      if (_M_ctype)
- {
-   _M_fill = _M_ctype->widen(' ');
-   _M_fill_init = true;
- }
-      else
- _M_fill_init = false;
-
-      _M_tie = 0;
-      _M_exception = goodbit;
-      _M_streambuf = __sb;
-      _M_streambuf_state = __sb ? goodbit : badbit;
-    }
-
-  template<typename _CharT, typename _Traits>
-    void
-    basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
-    {
-      _M_ctype = std::__try_use_facet<__ctype_type>(__loc);
-      _M_num_put = std::__try_use_facet<__num_put_type>(__loc);
-      _M_num_get = std::__try_use_facet<__num_get_type>(__loc);
-    }
-
-
-
-
-  extern template class basic_ios<char>;
-
-
-  extern template class basic_ios<wchar_t>;
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 532 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/basic_ios.h" 2 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 52 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ios" 2 3
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 2 3
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 48 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 65 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-  template<typename _CharT, typename _Traits>
-    class basic_ostream : virtual public basic_ios<_CharT, _Traits>
-    {
-    public:
-
-      typedef _CharT char_type;
-      typedef typename _Traits::int_type int_type;
-      typedef typename _Traits::pos_type pos_type;
-      typedef typename _Traits::off_type off_type;
-      typedef _Traits traits_type;
-
-
-      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
-      typedef basic_ios<_CharT, _Traits> __ios_type;
-      typedef basic_ostream<_CharT, _Traits> __ostream_type;
-      typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
-       __num_put_type;
-      typedef ctype<_CharT> __ctype_type;
-# 91 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      explicit
-      basic_ostream(__streambuf_type* __sb)
-      { this->init(__sb); }
-
-
-
-
-
-
-      virtual
-      ~basic_ostream() { }
-
-
-      class sentry;
-      friend class sentry;
-# 115 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      operator<<(__ostream_type& (*__pf)(__ostream_type&))
-      {
-
-
-
- return __pf(*this);
-      }
-
-      __ostream_type&
-      operator<<(__ios_type& (*__pf)(__ios_type&))
-      {
-
-
-
- __pf(*this);
- return *this;
-      }
-
-      __ostream_type&
-      operator<<(ios_base& (*__pf) (ios_base&))
-      {
-
-
-
- __pf(*this);
- return *this;
-      }
-# 173 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      operator<<(long __n)
-      { return _M_insert(__n); }
-
-      __ostream_type&
-      operator<<(unsigned long __n)
-      { return _M_insert(__n); }
-
-      __ostream_type&
-      operator<<(bool __n)
-      { return _M_insert(__n); }
-
-      __ostream_type&
-      operator<<(short __n);
-
-      __ostream_type&
-      operator<<(unsigned short __n)
-      {
-
-
- return _M_insert(static_cast<unsigned long>(__n));
-      }
-
-      __ostream_type&
-      operator<<(int __n);
-
-      __ostream_type&
-      operator<<(unsigned int __n)
-      {
-
-
- return _M_insert(static_cast<unsigned long>(__n));
-      }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      __ostream_type&
-      operator<<(long long __n)
-      { return _M_insert(__n); }
-
-      __ostream_type&
-      operator<<(unsigned long long __n)
-      { return _M_insert(__n); }
-#pragma GCC diagnostic pop
-# 230 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      operator<<(double __f)
-      { return _M_insert(__f); }
-
-      __ostream_type&
-      operator<<(float __f)
-      {
-
-
- return _M_insert(_S_cast_flt<double>(__f));
-      }
-
-      __ostream_type&
-      operator<<(long double __f)
-      { return _M_insert(__f); }
-# 300 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      operator<<(const void* __p)
-      { return _M_insert(__p); }
-
-
-      __ostream_type&
-      operator<<(nullptr_t)
-      { return *this << "nullptr"; }
-# 338 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      operator<<(__streambuf_type* __sb);
-# 371 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      put(char_type __c);
-# 390 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      write(const char_type* __s, streamsize __n);
-# 403 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      flush();
-# 413 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      pos_type
-      tellp();
-# 424 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      __ostream_type&
-      seekp(pos_type);
-# 436 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-       __ostream_type&
-      seekp(off_type, ios_base::seekdir);
-
-    protected:
-      basic_ostream()
-      { this->init(0); }
-
-
-
-      basic_ostream(basic_iostream<_CharT, _Traits>&) { }
-
-      basic_ostream(const basic_ostream&) = delete;
-
-      basic_ostream(basic_ostream&& __rhs)
-      : __ios_type()
-      { __ios_type::move(__rhs); }
-
-
-
-      basic_ostream& operator=(const basic_ostream&) = delete;
-
-      basic_ostream&
-      operator=(basic_ostream&& __rhs)
-      {
- swap(__rhs);
- return *this;
-      }
-
-      void
-      swap(basic_ostream& __rhs)
-      { __ios_type::swap(__rhs); }
-
-
-      template<typename _ValueT>
- __ostream_type&
- _M_insert(_ValueT __v);
-
-    private:
-
-      void
-      _M_write(const char_type* __s, streamsize __n)
-      { std::__ostream_insert(*this, __s, __n); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++17-extensions"
-      template<typename _To, typename _From>
- static _To
- _S_cast_flt(_From __f)
- {
-   _To __d = static_cast<_To>(__f);
-# 507 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-   return __d;
- }
-#pragma GCC diagnostic pop
-
-
-      struct _Disable_exceptions
-      {
- _Disable_exceptions(basic_ostream& __os)
- : _M_os(__os), _M_exception(_M_os._M_exception)
- { _M_os._M_exception = ios_base::goodbit; }
-
- ~_Disable_exceptions()
- { _M_os._M_exception = _M_exception; }
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
- _Disable_exceptions(const _Disable_exceptions&) = delete;
- _Disable_exceptions& operator=(const _Disable_exceptions&) = delete;
-#pragma GCC diagnostic pop
-
-      private:
- basic_ostream& _M_os;
- const ios_base::iostate _M_exception;
-      };
-    };
-# 540 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-  template <typename _CharT, typename _Traits>
-    class basic_ostream<_CharT, _Traits>::sentry
-    {
-
-      bool _M_ok;
-      basic_ostream<_CharT, _Traits>& _M_os;
-
-    public:
-# 559 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      explicit
-      sentry(basic_ostream<_CharT, _Traits>& __os);
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
-
-
-
-
-
-
-      ~sentry()
-      {
-
-
-
-
- if (bool(_M_os.flags() & ios_base::unitbuf) && _M_os.good()
-       && !uncaught_exception())
-   {
-     _Disable_exceptions __noex(_M_os);
-     try
-       {
-
-
-  if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
-    _M_os.setstate(ios_base::badbit);
-       }
-     catch(...)
-       { _M_os.setstate(ios_base::badbit); }
-   }
-      }
-#pragma GCC diagnostic pop
-# 602 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-      explicit
-
-      operator bool() const
-      { return _M_ok; }
-    };
-# 624 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
-    {
-      if (__out.width() != 0)
- return __ostream_insert(__out, &__c, 1);
-      __out.put(__c);
-      return __out;
-    }
-
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
-    { return (__out << __out.widen(__c)); }
-
-
-  template<typename _Traits>
-    inline basic_ostream<char, _Traits>&
-    operator<<(basic_ostream<char, _Traits>& __out, char __c)
-    {
-      if (__out.width() != 0)
- return __ostream_insert(__out, &__c, 1);
-      __out.put(__c);
-      return __out;
-    }
-
-
-  template<typename _Traits>
-    inline basic_ostream<char, _Traits>&
-    operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
-    { return (__out << static_cast<char>(__c)); }
-
-  template<typename _Traits>
-    inline basic_ostream<char, _Traits>&
-    operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
-    { return (__out << static_cast<char>(__c)); }
-# 715 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
-    {
-      if (!__s)
- __out.setstate(ios_base::badbit);
-      else
- __ostream_insert(__out, __s,
-    static_cast<streamsize>(_Traits::length(__s)));
-      return __out;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits> &
-    operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
-
-
-  template<typename _Traits>
-    inline basic_ostream<char, _Traits>&
-    operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
-    {
-      if (!__s)
- __out.setstate(ios_base::badbit);
-      else
- __ostream_insert(__out, __s,
-    static_cast<streamsize>(_Traits::length(__s)));
-      return __out;
-    }
-
-
-  template<typename _Traits>
-    inline basic_ostream<char, _Traits>&
-    operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
-    { return (__out << reinterpret_cast<const char*>(__s)); }
-
-  template<typename _Traits>
-    inline basic_ostream<char, _Traits> &
-    operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
-    { return (__out << reinterpret_cast<const char*>(__s)); }
-# 812 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-  template<typename _Tp>
-    using _Require_derived_from_ios_base
-      = _Require<is_class<_Tp>, __not_<is_same<_Tp, ios_base>>,
-   is_convertible<typename add_pointer<_Tp>::type, ios_base*>>;
-
-  template<typename _Os, typename _Tp,
-    typename = _Require_derived_from_ios_base<_Os>,
-    typename
-      = decltype(std::declval<_Os&>() << std::declval<const _Tp&>())>
-    using __rvalue_stream_insertion_t = _Os&&;
-# 834 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.h" 3
-  template<typename _Ostream, typename _Tp>
-    inline __rvalue_stream_insertion_t<_Ostream, _Tp>
-    operator<<(_Ostream&& __os, const _Tp& __x)
-    {
-      __os << __x;
-      return std::move(__os);
-    }
-
-
-
-}
-# 43 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 2 3
-
-
-
-
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/version.h" 1 3
-# 49 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    endl(basic_ostream<_CharT, _Traits>& __os)
-    { return flush(__os.put(__os.widen('\n'))); }
-# 76 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    ends(basic_ostream<_CharT, _Traits>& __os)
-    { return __os.put(_CharT()); }
-
-
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    inline basic_ostream<_CharT, _Traits>&
-    flush(basic_ostream<_CharT, _Traits>& __os)
-    { return __os.flush(); }
-# 292 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 3
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.tcc" 1 3
-# 40 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/ostream.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>::sentry::
-    sentry(basic_ostream<_CharT, _Traits>& __os)
-    : _M_ok(false), _M_os(__os)
-    {
-
-      if (__os.tie() && __os.good())
- __os.tie()->flush();
-
-      if (__os.good())
- _M_ok = true;
-      else if (__os.bad())
- __os.setstate(ios_base::failbit);
-    }
-
-  template<typename _CharT, typename _Traits>
-    template<typename _ValueT>
-      basic_ostream<_CharT, _Traits>&
-      basic_ostream<_CharT, _Traits>::
-      _M_insert(_ValueT __v)
-      {
- sentry __cerb(*this);
- if (__cerb)
-   {
-     ios_base::iostate __err = ios_base::goodbit;
-     try
-       {
-
-  const __num_put_type& __np = __check_facet(this->_M_num_put);
-
-
-
-
-  if (__np.put(*this, *this, this->fill(), __v).failed())
-    __err |= ios_base::badbit;
-       }
-     catch(__cxxabiv1::__forced_unwind&)
-       {
-  this->_M_setstate(ios_base::badbit);
-  throw;
-       }
-     catch(...)
-       { this->_M_setstate(ios_base::badbit); }
-     if (__err)
-       this->setstate(__err);
-   }
- return *this;
-      }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    operator<<(short __n)
-    {
-
-
-      const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
-      if (__fmt == ios_base::oct || __fmt == ios_base::hex)
- return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
-      else
- return _M_insert(static_cast<long>(__n));
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    operator<<(int __n)
-    {
-
-
-      const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
-      if (__fmt == ios_base::oct || __fmt == ios_base::hex)
- return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
-      else
- return _M_insert(static_cast<long>(__n));
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    operator<<(__streambuf_type* __sbin)
-    {
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this);
-      if (__cerb && __sbin)
- {
-   try
-     {
-       if (!__copy_streambufs(__sbin, this->rdbuf()))
-  __err |= ios_base::failbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::failbit); }
- }
-      else if (!__sbin)
- __err |= ios_base::badbit;
-      if (__err)
- this->setstate(__err);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    put(char_type __c)
-    {
-
-
-
-
-
-
-      sentry __cerb(*this);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       const int_type __put = this->rdbuf()->sputc(__c);
-       if (traits_type::eq_int_type(__put, traits_type::eof()))
-  __err |= ios_base::badbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    write(const _CharT* __s, streamsize __n)
-    {
-
-
-
-
-
-
-
-      sentry __cerb(*this);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       if (this->rdbuf()->sputn(__s, __n) != __n)
-  __err = ios_base::badbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(ios_base::badbit);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    flush()
-    {
-
-
-
-
-
-      if (__streambuf_type* __buf = this->rdbuf())
- {
-   sentry __cerb(*this);
-   if (__cerb)
-     {
-       ios_base::iostate __err = ios_base::goodbit;
-       try
-  {
-    if (this->rdbuf()->pubsync() == -1)
-      __err |= ios_base::badbit;
-  }
-       catch(__cxxabiv1::__forced_unwind&)
-  {
-    this->_M_setstate(ios_base::badbit);
-    throw;
-  }
-       catch(...)
-  { this->_M_setstate(ios_base::badbit); }
-       if (__err)
-  this->setstate(__err);
-     }
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    typename basic_ostream<_CharT, _Traits>::pos_type
-    basic_ostream<_CharT, _Traits>::
-    tellp()
-    {
-      sentry __cerb(*this);
-      pos_type __ret = pos_type(-1);
-      if (!this->fail())
- __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    seekp(pos_type __pos)
-    {
-      sentry __cerb(*this);
-      if (!this->fail())
- {
-
-
-   const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out);
-
-
-   if (__p == pos_type(off_type(-1)))
-     this->setstate(ios_base::failbit);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    basic_ostream<_CharT, _Traits>::
-    seekp(off_type __off, ios_base::seekdir __dir)
-    {
-      sentry __cerb(*this);
-      if (!this->fail())
- {
-
-
-   const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
-        ios_base::out);
-
-
-   if (__p == pos_type(off_type(-1)))
-     this->setstate(ios_base::failbit);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_ostream<_CharT, _Traits>&
-    operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
-    {
-      if (!__s)
- __out.setstate(ios_base::badbit);
-      else
- {
-
-
-   const size_t __clen = char_traits<char>::length(__s);
-   try
-     {
-       struct __ptr_guard
-       {
-  _CharT *__p;
-  __ptr_guard (_CharT *__ip): __p(__ip) { }
-  ~__ptr_guard() { delete[] __p; }
-  _CharT* __get() { return __p; }
-       } __pg (new _CharT[__clen]);
-
-       _CharT *__ws = __pg.__get();
-       for (size_t __i = 0; __i < __clen; ++__i)
-  __ws[__i] = __out.widen(__s[__i]);
-       __ostream_insert(__out, __ws, __clen);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __out._M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { __out._M_setstate(ios_base::badbit); }
- }
-      return __out;
-    }
-
-
-
-
-  extern template class basic_ostream<char>;
-  extern template ostream& endl(ostream&);
-  extern template ostream& ends(ostream&);
-  extern template ostream& flush(ostream&);
-  extern template ostream& operator<<(ostream&, char);
-  extern template ostream& operator<<(ostream&, unsigned char);
-  extern template ostream& operator<<(ostream&, signed char);
-  extern template ostream& operator<<(ostream&, const char*);
-  extern template ostream& operator<<(ostream&, const unsigned char*);
-  extern template ostream& operator<<(ostream&, const signed char*);
-
-  extern template ostream& ostream::_M_insert(long);
-  extern template ostream& ostream::_M_insert(unsigned long);
-  extern template ostream& ostream::_M_insert(bool);
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-  extern template ostream& ostream::_M_insert(long long);
-  extern template ostream& ostream::_M_insert(unsigned long long);
-#pragma GCC diagnostic pop
-
-  extern template ostream& ostream::_M_insert(double);
-  extern template ostream& ostream::_M_insert(long double);
-  extern template ostream& ostream::_M_insert(const void*);
-
-
-  extern template class basic_ostream<wchar_t>;
-  extern template wostream& endl(wostream&);
-  extern template wostream& ends(wostream&);
-  extern template wostream& flush(wostream&);
-  extern template wostream& operator<<(wostream&, wchar_t);
-  extern template wostream& operator<<(wostream&, char);
-  extern template wostream& operator<<(wostream&, const wchar_t*);
-  extern template wostream& operator<<(wostream&, const char*);
-
-  extern template wostream& wostream::_M_insert(long);
-  extern template wostream& wostream::_M_insert(unsigned long);
-  extern template wostream& wostream::_M_insert(bool);
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-  extern template wostream& wostream::_M_insert(long long);
-  extern template wostream& wostream::_M_insert(unsigned long long);
-#pragma GCC diagnostic pop
-
-  extern template wostream& wostream::_M_insert(double);
-  extern template wostream& wostream::_M_insert(long double);
-  extern template wostream& wostream::_M_insert(const void*);
-
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 295 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/ostream" 2 3
-# 44 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 2 3
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 1 3
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 61 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _CharT, typename _Traits>
-    class basic_istream : virtual public basic_ios<_CharT, _Traits>
-    {
-    public:
-
-      typedef _CharT char_type;
-      typedef typename _Traits::int_type int_type;
-      typedef typename _Traits::pos_type pos_type;
-      typedef typename _Traits::off_type off_type;
-      typedef _Traits traits_type;
-
-
-      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
-      typedef basic_ios<_CharT, _Traits> __ios_type;
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
-        __num_get_type;
-      typedef ctype<_CharT> __ctype_type;
-
-    protected:
-
-
-
-
-
-      streamsize _M_gcount;
-
-    public:
-
-
-
-
-
-
-
-      explicit
-      basic_istream(__streambuf_type* __sb)
-      : _M_gcount(streamsize(0))
-      { this->init(__sb); }
-
-
-
-
-
-
-      virtual
-      ~basic_istream()
-      { _M_gcount = streamsize(0); }
-
-
-      class sentry;
-      friend class sentry;
-# 123 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      operator>>(__istream_type& (*__pf)(__istream_type&))
-      { return __pf(*this); }
-
-      __istream_type&
-      operator>>(__ios_type& (*__pf)(__ios_type&))
-      {
- __pf(*this);
- return *this;
-      }
-
-      __istream_type&
-      operator>>(ios_base& (*__pf)(ios_base&))
-      {
- __pf(*this);
- return *this;
-      }
-# 171 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      operator>>(bool& __n)
-      { return _M_extract(__n); }
-
-      __istream_type&
-      operator>>(short& __n);
-
-      __istream_type&
-      operator>>(unsigned short& __n)
-      { return _M_extract(__n); }
-
-      __istream_type&
-      operator>>(int& __n);
-
-      __istream_type&
-      operator>>(unsigned int& __n)
-      { return _M_extract(__n); }
-
-      __istream_type&
-      operator>>(long& __n)
-      { return _M_extract(__n); }
-
-      __istream_type&
-      operator>>(unsigned long& __n)
-      { return _M_extract(__n); }
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-      __istream_type&
-      operator>>(long long& __n)
-      { return _M_extract(__n); }
-
-      __istream_type&
-      operator>>(unsigned long long& __n)
-      { return _M_extract(__n); }
-#pragma GCC diagnostic pop
-# 220 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      operator>>(float& __f)
-      { return _M_extract(__f); }
-
-      __istream_type&
-      operator>>(double& __f)
-      { return _M_extract(__f); }
-
-      __istream_type&
-      operator>>(long double& __f)
-      { return _M_extract(__f); }
-# 329 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      operator>>(void*& __p)
-      { return _M_extract(__p); }
-# 353 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      operator>>(__streambuf_type* __sb);
-# 363 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      streamsize
-      gcount() const
-      { return _M_gcount; }
-# 396 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      int_type
-      get();
-# 410 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      get(char_type& __c);
-# 437 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      get(char_type* __s, streamsize __n, char_type __delim);
-# 448 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      get(char_type* __s, streamsize __n)
-      { return this->get(__s, __n, this->widen('\n')); }
-# 471 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      get(__streambuf_type& __sb, char_type __delim);
-# 481 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      get(__streambuf_type& __sb)
-      { return this->get(__sb, this->widen('\n')); }
-# 510 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      getline(char_type* __s, streamsize __n, char_type __delim);
-# 521 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      getline(char_type* __s, streamsize __n)
-      { return this->getline(__s, __n, this->widen('\n')); }
-# 545 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      ignore(streamsize __n, int_type __delim);
-
-      __istream_type&
-      ignore(streamsize __n);
-
-      __istream_type&
-      ignore();
-# 562 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      int_type
-      peek();
-# 580 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      read(char_type* __s, streamsize __n);
-# 599 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      streamsize
-      readsome(char_type* __s, streamsize __n);
-# 616 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      putback(char_type __c);
-# 632 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      unget();
-# 650 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      int
-      sync();
-# 665 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      pos_type
-      tellg();
-# 680 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      seekg(pos_type);
-# 696 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      __istream_type&
-      seekg(off_type, ios_base::seekdir);
-
-
-    protected:
-      basic_istream()
-      : _M_gcount(streamsize(0))
-      { this->init(0); }
-
-
-      basic_istream(const basic_istream&) = delete;
-
-      basic_istream(basic_istream&& __rhs)
-      : __ios_type(), _M_gcount(__rhs._M_gcount)
-      {
- __ios_type::move(__rhs);
- __rhs._M_gcount = 0;
-      }
-
-
-
-      basic_istream& operator=(const basic_istream&) = delete;
-
-      basic_istream&
-      operator=(basic_istream&& __rhs)
-      {
- swap(__rhs);
- return *this;
-      }
-
-      void
-      swap(basic_istream& __rhs)
-      {
- __ios_type::swap(__rhs);
- std::swap(_M_gcount, __rhs._M_gcount);
-      }
-
-
-      template<typename _ValueT>
- __istream_type&
- _M_extract(_ValueT& __v);
-    };
-
-
-  template<>
-    basic_istream<char>&
-    basic_istream<char>::
-    getline(char_type* __s, streamsize __n, char_type __delim);
-
-  template<>
-    basic_istream<char>&
-    basic_istream<char>::
-    ignore(streamsize __n);
-
-  template<>
-    basic_istream<char>&
-    basic_istream<char>::
-    ignore(streamsize __n, int_type __delim);
-
-
-  template<>
-    basic_istream<wchar_t>&
-    basic_istream<wchar_t>::
-    getline(char_type* __s, streamsize __n, char_type __delim);
-
-  template<>
-    basic_istream<wchar_t>&
-    basic_istream<wchar_t>::
-    ignore(streamsize __n);
-
-  template<>
-    basic_istream<wchar_t>&
-    basic_istream<wchar_t>::
-    ignore(streamsize __n, int_type __delim);
-# 780 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _CharT, typename _Traits>
-    class basic_istream<_CharT, _Traits>::sentry
-    {
-
-      bool _M_ok;
-
-    public:
-
-      typedef _Traits traits_type;
-      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef typename __istream_type::__ctype_type __ctype_type;
-      typedef typename _Traits::int_type __int_type;
-# 816 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      explicit
-      sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
-# 827 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-      explicit
-
-      operator bool() const
-      { return _M_ok; }
-    };
-# 845 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
-
-  template<class _Traits>
-    inline basic_istream<char, _Traits>&
-    operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
-    { return (__in >> reinterpret_cast<char&>(__c)); }
-
-  template<class _Traits>
-    inline basic_istream<char, _Traits>&
-    operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
-    { return (__in >> reinterpret_cast<char&>(__c)); }
-
-
-
-  template<typename _CharT, typename _Traits>
-    void
-    __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize);
-
-  void __istream_extract(istream&, char*, streamsize);
-# 895 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _CharT, typename _Traits>
-    __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
-    inline basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
-    {
-# 929 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
- {
-
-   streamsize __n = __gnu_cxx::__numeric_traits<streamsize>::__max;
-   __n /= sizeof(_CharT);
-   std::__istream_extract(__in, __s, __n);
- }
-      return __in;
-    }
-
-  template<class _Traits>
-    __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
-    inline basic_istream<char, _Traits>&
-    operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
-    { return __in >> reinterpret_cast<char*>(__s); }
-
-  template<class _Traits>
-    __attribute__((__nonnull__(2), __access__(__write_only__, 2)))
-    inline basic_istream<char, _Traits>&
-    operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
-    { return __in >> reinterpret_cast<char*>(__s); }
-# 984 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _CharT, typename _Traits>
-    class basic_iostream
-    : public basic_istream<_CharT, _Traits>,
-      public basic_ostream<_CharT, _Traits>
-    {
-    public:
-
-
-
-      typedef _CharT char_type;
-      typedef typename _Traits::int_type int_type;
-      typedef typename _Traits::pos_type pos_type;
-      typedef typename _Traits::off_type off_type;
-      typedef _Traits traits_type;
-
-
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef basic_ostream<_CharT, _Traits> __ostream_type;
-
-
-
-
-
-
-
-      explicit
-      basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
-      : __istream_type(__sb), __ostream_type(__sb) { }
-
-
-
-
-      virtual
-      ~basic_iostream() { }
-
-    protected:
-      basic_iostream()
-      : __istream_type(), __ostream_type() { }
-
-
-      basic_iostream(const basic_iostream&) = delete;
-
-      basic_iostream(basic_iostream&& __rhs)
-      : __istream_type(std::move(__rhs)), __ostream_type(*this)
-      { }
-
-
-
-      basic_iostream& operator=(const basic_iostream&) = delete;
-
-      basic_iostream&
-      operator=(basic_iostream&& __rhs)
-      {
- swap(__rhs);
- return *this;
-      }
-
-      void
-      swap(basic_iostream& __rhs)
-      { __istream_type::swap(__rhs); }
-
-    };
-# 1067 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    ws(basic_istream<_CharT, _Traits>& __is);
-# 1083 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _Is, typename _Tp,
-    typename = _Require_derived_from_ios_base<_Is>,
-    typename = decltype(std::declval<_Is&>() >> std::declval<_Tp>())>
-    using __rvalue_stream_extraction_t = _Is&&;
-# 1099 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 3
-  template<typename _Istream, typename _Tp>
-    inline __rvalue_stream_extraction_t<_Istream, _Tp>
-    operator>>(_Istream&& __is, _Tp&& __x)
-    {
-      __is >> std::forward<_Tp>(__x);
-      return std::move(__is);
-    }
-
-
-
-}
-
-# 1 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/istream.tcc" 1 3
-# 41 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/istream.tcc" 3
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-
-
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>::sentry::
-    sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
-    {
-      ios_base::iostate __err = ios_base::goodbit;
-      if (__in.good())
- {
-   try
-     {
-       if (__in.tie())
-  __in.tie()->flush();
-       if (!__noskip && bool(__in.flags() & ios_base::skipws))
-  {
-    const __int_type __eof = traits_type::eof();
-    __streambuf_type* __sb = __in.rdbuf();
-    __int_type __c = __sb->sgetc();
-
-    const __ctype_type& __ct = __check_facet(__in._M_ctype);
-    while (!traits_type::eq_int_type(__c, __eof)
-    && __ct.is(ctype_base::space,
-        traits_type::to_char_type(__c)))
-      __c = __sb->snextc();
-
-
-
-
-    if (traits_type::eq_int_type(__c, __eof))
-      __err |= ios_base::eofbit;
-  }
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __in._M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { __in._M_setstate(ios_base::badbit); }
- }
-
-      if (__in.good() && __err == ios_base::goodbit)
- _M_ok = true;
-      else
- {
-   __err |= ios_base::failbit;
-   __in.setstate(__err);
- }
-    }
-
-  template<typename _CharT, typename _Traits>
-    template<typename _ValueT>
-      basic_istream<_CharT, _Traits>&
-      basic_istream<_CharT, _Traits>::
-      _M_extract(_ValueT& __v)
-      {
- sentry __cerb(*this, false);
- if (__cerb)
-   {
-     ios_base::iostate __err = ios_base::goodbit;
-     try
-       {
-
-  const __num_get_type& __ng = __check_facet(this->_M_num_get);
-
-
-
-
-  __ng.get(*this, 0, *this, __err, __v);
-       }
-     catch(__cxxabiv1::__forced_unwind&)
-       {
-  this->_M_setstate(ios_base::badbit);
-  throw;
-       }
-     catch(...)
-       { this->_M_setstate(ios_base::badbit); }
-     if (__err)
-       this->setstate(__err);
-   }
- return *this;
-      }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    operator>>(short& __n)
-    {
-
-
-      sentry __cerb(*this, false);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       long __l;
-
-       const __num_get_type& __ng = __check_facet(this->_M_num_get);
-
-
-
-
-       __ng.get(*this, 0, *this, __err, __l);
-
-
-
-       if (__l < __gnu_cxx::__numeric_traits<short>::__min)
-  {
-    __err |= ios_base::failbit;
-    __n = __gnu_cxx::__numeric_traits<short>::__min;
-  }
-       else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
-  {
-    __err |= ios_base::failbit;
-    __n = __gnu_cxx::__numeric_traits<short>::__max;
-  }
-       else
-  __n = short(__l);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    operator>>(int& __n)
-    {
-
-
-      sentry __cerb(*this, false);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       long __l;
-
-       const __num_get_type& __ng = __check_facet(this->_M_num_get);
-
-
-
-
-       __ng.get(*this, 0, *this, __err, __l);
-
-
-
-       if (__l < __gnu_cxx::__numeric_traits<int>::__min)
-  {
-    __err |= ios_base::failbit;
-    __n = __gnu_cxx::__numeric_traits<int>::__min;
-  }
-       else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
-  {
-    __err |= ios_base::failbit;
-    __n = __gnu_cxx::__numeric_traits<int>::__max;
-  }
-       else
-  __n = int(__l);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    operator>>(__streambuf_type* __sbout)
-    {
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this, false);
-      if (__cerb && __sbout)
- {
-   try
-     {
-       bool __ineof;
-       if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
-  __err |= ios_base::failbit;
-       if (__ineof)
-  __err |= ios_base::eofbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::failbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::failbit); }
- }
-      else if (!__sbout)
- __err |= ios_base::failbit;
-      if (__err)
- this->setstate(__err);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    typename basic_istream<_CharT, _Traits>::int_type
-    basic_istream<_CharT, _Traits>::
-    get(void)
-    {
-      const int_type __eof = traits_type::eof();
-      int_type __c = __eof;
-      _M_gcount = 0;
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   try
-     {
-       __c = this->rdbuf()->sbumpc();
-
-       if (!traits_type::eq_int_type(__c, __eof))
-  _M_gcount = 1;
-       else
-  __err |= ios_base::eofbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
- }
-      if (!_M_gcount)
- __err |= ios_base::failbit;
-      if (__err)
- this->setstate(__err);
-      return __c;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    get(char_type& __c)
-    {
-      _M_gcount = 0;
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   try
-     {
-       const int_type __cb = this->rdbuf()->sbumpc();
-
-       if (!traits_type::eq_int_type(__cb, traits_type::eof()))
-  {
-    _M_gcount = 1;
-    __c = traits_type::to_char_type(__cb);
-  }
-       else
-  __err |= ios_base::eofbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
- }
-      if (!_M_gcount)
- __err |= ios_base::failbit;
-      if (__err)
- this->setstate(__err);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    get(char_type* __s, streamsize __n, char_type __delim)
-    {
-      _M_gcount = 0;
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   try
-     {
-       const int_type __idelim = traits_type::to_int_type(__delim);
-       const int_type __eof = traits_type::eof();
-       __streambuf_type* __sb = this->rdbuf();
-       int_type __c = __sb->sgetc();
-
-       while (_M_gcount + 1 < __n
-       && !traits_type::eq_int_type(__c, __eof)
-       && !traits_type::eq_int_type(__c, __idelim))
-  {
-    *__s++ = traits_type::to_char_type(__c);
-    ++_M_gcount;
-    __c = __sb->snextc();
-  }
-       if (traits_type::eq_int_type(__c, __eof))
-  __err |= ios_base::eofbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
- }
-
-
-      if (__n > 0)
- *__s = char_type();
-      if (!_M_gcount)
- __err |= ios_base::failbit;
-      if (__err)
- this->setstate(__err);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    get(__streambuf_type& __sb, char_type __delim)
-    {
-      _M_gcount = 0;
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   try
-     {
-       const int_type __idelim = traits_type::to_int_type(__delim);
-       const int_type __eof = traits_type::eof();
-       __streambuf_type* __this_sb = this->rdbuf();
-       int_type __c = __this_sb->sgetc();
-       char_type __c2 = traits_type::to_char_type(__c);
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-       unsigned long long __gcount = 0;
-#pragma GCC diagnostic pop
-
-       while (!traits_type::eq_int_type(__c, __eof)
-       && !traits_type::eq_int_type(__c, __idelim)
-       && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
-  {
-    ++__gcount;
-    __c = __this_sb->snextc();
-    __c2 = traits_type::to_char_type(__c);
-  }
-       if (traits_type::eq_int_type(__c, __eof))
-  __err |= ios_base::eofbit;
-
-
-       if (__gcount <= __gnu_cxx::__numeric_traits<streamsize>::__max)
-  _M_gcount = __gcount;
-       else
-  _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
- }
-      if (!_M_gcount)
- __err |= ios_base::failbit;
-      if (__err)
- this->setstate(__err);
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    getline(char_type* __s, streamsize __n, char_type __delim)
-    {
-      _M_gcount = 0;
-      ios_base::iostate __err = ios_base::goodbit;
-      sentry __cerb(*this, true);
-      if (__cerb)
-        {
-          try
-            {
-              const int_type __idelim = traits_type::to_int_type(__delim);
-              const int_type __eof = traits_type::eof();
-              __streambuf_type* __sb = this->rdbuf();
-              int_type __c = __sb->sgetc();
-
-              while (_M_gcount + 1 < __n
-                     && !traits_type::eq_int_type(__c, __eof)
-                     && !traits_type::eq_int_type(__c, __idelim))
-                {
-                  *__s++ = traits_type::to_char_type(__c);
-                  __c = __sb->snextc();
-                  ++_M_gcount;
-                }
-              if (traits_type::eq_int_type(__c, __eof))
-                __err |= ios_base::eofbit;
-              else
-                {
-                  if (traits_type::eq_int_type(__c, __idelim))
-                    {
-                      __sb->sbumpc();
-                      ++_M_gcount;
-                    }
-                  else
-                    __err |= ios_base::failbit;
-                }
-            }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-          catch(...)
-            { this->_M_setstate(ios_base::badbit); }
-        }
-
-
-      if (__n > 0)
- *__s = char_type();
-      if (!_M_gcount)
-        __err |= ios_base::failbit;
-      if (__err)
-        this->setstate(__err);
-      return *this;
-    }
-
-
-
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    ignore(void)
-    {
-      _M_gcount = 0;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       const int_type __eof = traits_type::eof();
-       __streambuf_type* __sb = this->rdbuf();
-
-       if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
-  __err |= ios_base::eofbit;
-       else
-  _M_gcount = 1;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    ignore(streamsize __n)
-    {
-      _M_gcount = 0;
-      sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
-        {
-          ios_base::iostate __err = ios_base::goodbit;
-          try
-            {
-              const int_type __eof = traits_type::eof();
-              __streambuf_type* __sb = this->rdbuf();
-              int_type __c = __sb->sgetc();
-# 553 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/bits/istream.tcc" 3
-       bool __large_ignore = false;
-       while (true)
-  {
-    while (_M_gcount < __n
-    && !traits_type::eq_int_type(__c, __eof))
-      {
-        ++_M_gcount;
-        __c = __sb->snextc();
-      }
-    if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
-        && !traits_type::eq_int_type(__c, __eof))
-      {
-        _M_gcount =
-   __gnu_cxx::__numeric_traits<streamsize>::__min;
-        __large_ignore = true;
-      }
-    else
-      break;
-  }
-
-       if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
-  {
-    if (__large_ignore)
-      _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
-
-    if (traits_type::eq_int_type(__c, __eof))
-      __err |= ios_base::eofbit;
-  }
-       else if (_M_gcount < __n)
-  {
-    if (traits_type::eq_int_type(__c, __eof))
-      __err |= ios_base::eofbit;
-  }
-            }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-          catch(...)
-            { this->_M_setstate(ios_base::badbit); }
-          if (__err)
-            this->setstate(__err);
-        }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    ignore(streamsize __n, int_type __delim)
-    {
-      _M_gcount = 0;
-      sentry __cerb(*this, true);
-      if (__cerb && __n > 0)
-        {
-          ios_base::iostate __err = ios_base::goodbit;
-          try
-            {
-              const int_type __eof = traits_type::eof();
-              __streambuf_type* __sb = this->rdbuf();
-              int_type __c = __sb->sgetc();
-
-
-       bool __large_ignore = false;
-       while (true)
-  {
-    while (_M_gcount < __n
-    && !traits_type::eq_int_type(__c, __eof)
-    && !traits_type::eq_int_type(__c, __delim))
-      {
-        ++_M_gcount;
-        __c = __sb->snextc();
-      }
-    if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
-        && !traits_type::eq_int_type(__c, __eof)
-        && !traits_type::eq_int_type(__c, __delim))
-      {
-        _M_gcount =
-   __gnu_cxx::__numeric_traits<streamsize>::__min;
-        __large_ignore = true;
-      }
-    else
-      break;
-  }
-
-       if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max)
-  {
-    if (__large_ignore)
-      _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
-
-    if (traits_type::eq_int_type(__c, __eof))
-      __err |= ios_base::eofbit;
-    else
-      {
-        if (_M_gcount != __n)
-   ++_M_gcount;
-        __sb->sbumpc();
-      }
-  }
-       else if (_M_gcount < __n)
-  {
-    if (traits_type::eq_int_type(__c, __eof))
-      __err |= ios_base::eofbit;
-    else
-      {
-        ++_M_gcount;
-        __sb->sbumpc();
-      }
-  }
-            }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-          catch(...)
-            { this->_M_setstate(ios_base::badbit); }
-          if (__err)
-            this->setstate(__err);
-        }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    typename basic_istream<_CharT, _Traits>::int_type
-    basic_istream<_CharT, _Traits>::
-    peek(void)
-    {
-      int_type __c = traits_type::eof();
-      _M_gcount = 0;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       __c = this->rdbuf()->sgetc();
-       if (traits_type::eq_int_type(__c, traits_type::eof()))
-  __err |= ios_base::eofbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return __c;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    read(char_type* __s, streamsize __n)
-    {
-      _M_gcount = 0;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       _M_gcount = this->rdbuf()->sgetn(__s, __n);
-       if (_M_gcount != __n)
-  __err |= (ios_base::eofbit | ios_base::failbit);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    streamsize
-    basic_istream<_CharT, _Traits>::
-    readsome(char_type* __s, streamsize __n)
-    {
-      _M_gcount = 0;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-
-       const streamsize __num = this->rdbuf()->in_avail();
-       if (__num > 0)
-  _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
-       else if (__num == -1)
-  __err |= ios_base::eofbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return _M_gcount;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    putback(char_type __c)
-    {
-
-
-      _M_gcount = 0;
-
-      this->clear(this->rdstate() & ~ios_base::eofbit);
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       const int_type __eof = traits_type::eof();
-       __streambuf_type* __sb = this->rdbuf();
-       if (!__sb
-    || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
-  __err |= ios_base::badbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    unget(void)
-    {
-
-
-      _M_gcount = 0;
-
-      this->clear(this->rdstate() & ~ios_base::eofbit);
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       const int_type __eof = traits_type::eof();
-       __streambuf_type* __sb = this->rdbuf();
-       if (!__sb
-    || traits_type::eq_int_type(__sb->sungetc(), __eof))
-  __err |= ios_base::badbit;
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    int
-    basic_istream<_CharT, _Traits>::
-    sync(void)
-    {
-
-
-      int __ret = -1;
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       __streambuf_type* __sb = this->rdbuf();
-       if (__sb)
-  {
-    if (__sb->pubsync() == -1)
-      __err |= ios_base::badbit;
-    else
-      __ret = 0;
-  }
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits>
-    typename basic_istream<_CharT, _Traits>::pos_type
-    basic_istream<_CharT, _Traits>::
-    tellg(void)
-    {
-
-
-      pos_type __ret = pos_type(-1);
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   try
-     {
-       if (!this->fail())
-  __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
-        ios_base::in);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
- }
-      return __ret;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    seekg(pos_type __pos)
-    {
-
-
-
-      this->clear(this->rdstate() & ~ios_base::eofbit);
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       if (!this->fail())
-  {
-
-    const pos_type __p = this->rdbuf()->pubseekpos(__pos,
-         ios_base::in);
-
-
-    if (__p == pos_type(off_type(-1)))
-      __err |= ios_base::failbit;
-  }
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    basic_istream<_CharT, _Traits>::
-    seekg(off_type __off, ios_base::seekdir __dir)
-    {
-
-
-
-      this->clear(this->rdstate() & ~ios_base::eofbit);
-      sentry __cerb(*this, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       if (!this->fail())
-  {
-
-    const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
-         ios_base::in);
-
-
-    if (__p == pos_type(off_type(-1)))
-      __err |= ios_base::failbit;
-  }
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       this->_M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { this->_M_setstate(ios_base::badbit); }
-   if (__err)
-     this->setstate(__err);
- }
-      return *this;
-    }
-
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
-    {
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef typename __istream_type::int_type __int_type;
-
-      typename __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       const __int_type __cb = __in.rdbuf()->sbumpc();
-       if (!_Traits::eq_int_type(__cb, _Traits::eof()))
-  __c = _Traits::to_char_type(__cb);
-       else
-  __err |= (ios_base::eofbit | ios_base::failbit);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __in._M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { __in._M_setstate(ios_base::badbit); }
-   if (__err)
-     __in.setstate(__err);
- }
-      return __in;
-    }
-
-  template<typename _CharT, typename _Traits>
-    void
-    __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s,
-        streamsize __num)
-    {
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
-      typedef typename _Traits::int_type int_type;
-      typedef _CharT char_type;
-      typedef ctype<_CharT> __ctype_type;
-
-      streamsize __extracted = 0;
-      ios_base::iostate __err = ios_base::goodbit;
-      typename __istream_type::sentry __cerb(__in, false);
-      if (__cerb)
- {
-   try
-     {
-
-       streamsize __width = __in.width();
-       if (0 < __width && __width < __num)
-  __num = __width;
-
-       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
-
-       const int_type __eof = _Traits::eof();
-       __streambuf_type* __sb = __in.rdbuf();
-       int_type __c = __sb->sgetc();
-
-       while (__extracted < __num - 1
-       && !_Traits::eq_int_type(__c, __eof)
-       && !__ct.is(ctype_base::space,
-     _Traits::to_char_type(__c)))
-  {
-    *__s++ = _Traits::to_char_type(__c);
-    ++__extracted;
-    __c = __sb->snextc();
-  }
-
-       if (__extracted < __num - 1
-    && _Traits::eq_int_type(__c, __eof))
-  __err |= ios_base::eofbit;
-
-
-
-       *__s = char_type();
-       __in.width(0);
-     }
-   catch(__cxxabiv1::__forced_unwind&)
-     {
-       __in._M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     { __in._M_setstate(ios_base::badbit); }
- }
-      if (!__extracted)
- __err |= ios_base::failbit;
-      if (__err)
- __in.setstate(__err);
-    }
-
-
-  template<typename _CharT, typename _Traits>
-    basic_istream<_CharT, _Traits>&
-    ws(basic_istream<_CharT, _Traits>& __in)
-    {
-      typedef basic_istream<_CharT, _Traits> __istream_type;
-      typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
-      typedef typename __istream_type::int_type __int_type;
-      typedef ctype<_CharT> __ctype_type;
-
-
-
-      typename __istream_type::sentry __cerb(__in, true);
-      if (__cerb)
- {
-   ios_base::iostate __err = ios_base::goodbit;
-   try
-     {
-       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
-       const __int_type __eof = _Traits::eof();
-       __streambuf_type* __sb = __in.rdbuf();
-       __int_type __c = __sb->sgetc();
-
-       while (true)
-  {
-    if (_Traits::eq_int_type(__c, __eof))
-      {
-        __err = ios_base::eofbit;
-        break;
-      }
-    if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
-      break;
-    __c = __sb->snextc();
-  }
-     }
-   catch(const __cxxabiv1::__forced_unwind&)
-     {
-       __in._M_setstate(ios_base::badbit);
-       throw;
-     }
-   catch(...)
-     {
-       __in._M_setstate(ios_base::badbit);
-     }
-   if (__err)
-     __in.setstate(__err);
- }
-      return __in;
-    }
-
-
-
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wc++11-extensions"
-#pragma GCC diagnostic ignored "-Wlong-long"
-  extern template class basic_istream<char>;
-  extern template istream& ws(istream&);
-  extern template istream& operator>>(istream&, char&);
-  extern template istream& operator>>(istream&, unsigned char&);
-  extern template istream& operator>>(istream&, signed char&);
-
-  extern template istream& istream::_M_extract(unsigned short&);
-  extern template istream& istream::_M_extract(unsigned int&);
-  extern template istream& istream::_M_extract(long&);
-  extern template istream& istream::_M_extract(unsigned long&);
-  extern template istream& istream::_M_extract(bool&);
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wlong-long"
-  extern template istream& istream::_M_extract(long long&);
-  extern template istream& istream::_M_extract(unsigned long long&);
-#pragma GCC diagnostic pop
-
-  extern template istream& istream::_M_extract(float&);
-  extern template istream& istream::_M_extract(double&);
-  extern template istream& istream::_M_extract(long double&);
-  extern template istream& istream::_M_extract(void*&);
-
-  extern template class basic_iostream<char>;
-
-
-  extern template class basic_istream<wchar_t>;
-  extern template wistream& ws(wistream&);
-  extern template wistream& operator>>(wistream&, wchar_t&);
-  extern template void __istream_extract(wistream&, wchar_t*, streamsize);
-
-  extern template wistream& wistream::_M_extract(unsigned short&);
-  extern template wistream& wistream::_M_extract(unsigned int&);
-  extern template wistream& wistream::_M_extract(long&);
-  extern template wistream& wistream::_M_extract(unsigned long&);
-  extern template wistream& wistream::_M_extract(bool&);
-
-  extern template wistream& wistream::_M_extract(long long&);
-  extern template wistream& wistream::_M_extract(unsigned long long&);
-
-  extern template wistream& wistream::_M_extract(float&);
-  extern template wistream& wistream::_M_extract(double&);
-  extern template wistream& wistream::_M_extract(long double&);
-  extern template wistream& wistream::_M_extract(void*&);
-
-  extern template class basic_iostream<wchar_t>;
-
-#pragma GCC diagnostic pop
-
-
-
-}
-
-#pragma GCC diagnostic pop
-# 1112 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/istream" 2 3
-# 45 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 2 3
-
-namespace std __attribute__ ((__visibility__ ("default")))
-{
-# 64 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 3
-  extern istream cin;
-  extern ostream cout;
-  extern ostream cerr;
-  extern ostream clog;
-
-
-  extern wistream wcin;
-  extern wostream wcout;
-  extern wostream wcerr;
-  extern wostream wclog;
-# 84 "/usr/lib64/gcc/x86_64-slackware-linux/15.1.0/../../../../include/c++/15.1.0/iostream" 3
-  __extension__ __asm (".globl _ZSt21ios_base_library_initv");
-
-
-
-}
-# 10 "bigscience.cc" 2
-
-# 1 "./HotScience.hh" 1
-
-
-
-
-
-
-# 1 "./Science.hh" 1
-
-
-
-
-
 
 class Science
 {
@@ -36873,7 +9,6 @@ class Science
 
    virtual void compute(double *x, int N) { };
 };
-# 8 "./HotScience.hh" 2
 
 class HotScience : public Science
 {
@@ -36882,9 +17,6 @@ class HotScience : public Science
     void compute(double *x, int N);
 
 };
-# 12 "bigscience.cc" 2
-
-using namespace std;
 
 #pragma omp requires unified_shared_memory
 
@@ -36900,8 +32,5 @@ int main(int argc, char *argv[]){
       myscienceclass.compute(&x[k], N);
    }
 
-   cout << "Array value is " << x[0] << endl;
-   cout << "Finished calculation" << endl;
-
    delete[] x;
 }



More information about the cfe-commits mailing list