public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Improvements for the XML Writer
@ 2021-12-03 11:46 Matthias Maennich
  2021-12-03 11:46 ` [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking Matthias Maennich
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Matthias Maennich @ 2021-12-03 11:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

We gave the issues we currently see with some larger (Android) userspace
libraries another try. Initially that was bug 28320 (infinite loops in the XML
writer). More recently, another Google team expressed an interest in ABI
monitoring and using libabigail for this purpose. A significant issue they
encountered was that large ABIs took a very long time to be extracted by abidw.
It turns out that a lot of abidw time is spent on writing out the XML.

We have been unable to merge upstream libabigail due to this affecting
userspace library monitoring. Both issues involved deep type equality tests
done by the XML writer. This series switches the XML writer to use bare type
pointers in all its containers.

Fixes: Bug 28320 - abidw - (non-deterministic) infinite loop in XML writer
Improves: Bug 26591 - detect pathologically redundant types in abixml

Performance improvements, all measurements are in CPU user seconds:
 - abidw for both test suite and typical kernel inputs is about 2% faster with this change
 - An AOSP framework library test case is sped up by >3 times, from 120 to 37.5
 - An internal Google library test case is sped up >20 times, from 3290 to 160

Impact on test cases:

 - tests/data/test-read-dwarf/PR22122-libftdc.so.abi is the only
   significantly-impacted test case. abidiff reports no change, but
   abidiff --harmless shows some things going on with empty, anonymous struct
   definitions. These empty structs are due to missing DW_AT_signature support
   / are correlated with DW_AT_signature attributes. The object file was
   compiled with Clang. Some more details have recently been discussed in bug
   26591.

 - All the other test object files are reported as having the same ABI by
   abidiff --harmless.

 - Our own test suite of small changes also has no differences found by
   abidiff --harmless.

 - One test kernel tree has an issue with one anonymous enum type being
   resolved incorrectly (having previously had conflicting duplicate
   definitions). The enumerators all have the same values so there is no ABI
   risk here. This deserves further investigation but should probably not hold
   up the series.

 - Spot checks with userspace libraries show no differences found by
   abidiff --harmless either.

Matthias Maennich (5):
  XML writer: use consistent type pointers for type ids and emission
    tracking
  XML writer: use exemplar types for tracking referenced types
  XML writer: track emitted types by bare pointer
  XML writer: map type ids by bare pointer
  XML writer: resolve declaration-only enum definitions

 src/abg-writer.cc                             |   80 +-
 .../data/test-annotate/test14-pr18893.so.abi  |    2 -
 .../data/test-annotate/test15-pr18892.so.abi  |   44 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |    4 -
 .../data/test-annotate/test21-pr19092.so.abi  |   26 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    | 6242 ++++++++---------
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |  514 +-
 .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi |    2 +-
 .../test-read-dwarf/test14-pr18893.so.abi     |    1 -
 .../test-read-dwarf/test15-pr18892.so.abi     |   28 +-
 .../test-read-dwarf/test16-pr18904.so.abi     |    2 -
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |    2 -
 .../test-read-dwarf/test21-pr19092.so.abi     |   16 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi |    1 -
 14 files changed, 3472 insertions(+), 3492 deletions(-)

-- 
2.34.1.400.ga245620fadb-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking
  2021-12-03 11:46 [PATCH 0/5] Improvements for the XML Writer Matthias Maennich
@ 2021-12-03 11:46 ` Matthias Maennich
  2021-12-09 17:57   ` Dodji Seketeli
  2021-12-03 11:46 ` [PATCH 2/5] XML writer: use exemplar types for tracking referenced types Matthias Maennich
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Matthias Maennich @ 2021-12-03 11:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Insertion resolves the canonical type, if available, but look-up did
not. Given that type id insertion and look-up also resolve canonical
types, it makes sense to adjust the remaining code accordingly.

Neither decl_only_type_is_emitted nor record_decl_only_type_as_emitted
do the check, but very few types end up being recorded this way.

The functions write_class_decl and write_union_decl (but not
write_class_decl_opening_tag and write_union_decl_opening_tag which
can be called in other contexts) resolve declaration-only types to a
definition where possible.

To ensure type ids consistently refer to the same resolved type we
should resolve canonical types and definitions-of-declarations more
consistently.

This change introduces get_preferred_type to return the exemplar type
that should be used for type id and emitted checks.

However, it does not also change all the write functions to write out
the exemplar types.

	* src/abg-writer.cc (get_preferred_type): new function.
	(type_has_existing_id): use get_preferred_type for resolution.
	(get_id_for_type): Likewise.
	(record_type_as_emitted): Likewise.
	(type_is_emitted): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-writer.cc | 36 ++++++++++++++++++++++--------------
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 21b79e888f31..9c3ae6f8d5b4 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -390,14 +390,25 @@ public:
   type_has_existing_id(type_base_sptr type) const
   {return type_has_existing_id(type.get());}
 
+  type_base*
+  get_preferred_type(const type_base* type) const
+  {
+    // declaration -> definition -> canonical is possible
+    if (decl_base* decl = look_through_decl_only(is_decl(type)))
+      {
+	type = is_type(decl);
+	ABG_ASSERT(type);
+      }
+    type_base* canonical = type->get_naked_canonical_type();
+    return canonical ? canonical : const_cast<type_base*>(type);
+  }
+
   /// @return true iff type has already been assigned an ID.
   bool
   type_has_existing_id(type_base* type) const
   {
-    type_base *c = type->get_naked_canonical_type();
-    if (c == 0)
-      c = const_cast<type_base*>(type);
-    return (m_type_id_map.find(c) != m_type_id_map.end());
+    type = get_preferred_type(type);
+    return m_type_id_map.find(type) != m_type_id_map.end();
   }
 
   /// Associate a unique id to a given type.  For that, put the type
@@ -413,11 +424,9 @@ public:
   /// associated to it, create a new one and return it.  Otherwise,
   /// return the existing id for that type.
   interned_string
-  get_id_for_type(const type_base* t) const
+  get_id_for_type(type_base* type) const
   {
-    type_base *c = t->get_naked_canonical_type();
-    if (c == 0)
-      c = const_cast<type_base*>(t);
+    type_base* c = get_preferred_type(type);
 
     type_ptr_map::const_iterator it = m_type_id_map.find(c);
     if (it != m_type_id_map.end())
@@ -715,11 +724,9 @@ public:
   ///
   /// @param t the type to flag.
   void
-  record_type_as_emitted(const type_base *t)
+  record_type_as_emitted(const type_base* t)
   {
-    type_base *c = t->get_naked_canonical_type();
-    if (c == 0)
-      c = const_cast<type_base*>(t);
+    type_base* c = get_preferred_type(t);
     m_emitted_type_set.insert(c);
   }
 
@@ -730,9 +737,10 @@ public:
   /// @return true if the type has already been emitted, false
   /// otherwise.
   bool
-  type_is_emitted(const type_base *t) const
+  type_is_emitted(const type_base* t) const
   {
-    return m_emitted_type_set.find(t) != m_emitted_type_set.end();
+    type_base* c = get_preferred_type(t);
+    return m_emitted_type_set.find(c) != m_emitted_type_set.end();
   }
 
   /// Test if a given type has been written out to the XML output.
-- 
2.34.1.400.ga245620fadb-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 2/5] XML writer: use exemplar types for tracking referenced types
  2021-12-03 11:46 [PATCH 0/5] Improvements for the XML Writer Matthias Maennich
  2021-12-03 11:46 ` [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking Matthias Maennich
@ 2021-12-03 11:46 ` Matthias Maennich
  2021-12-10 10:42   ` Dodji Seketeli
  2021-12-03 11:46 ` [PATCH 3/5] XML writer: track emitted types by bare pointer Matthias Maennich
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Matthias Maennich @ 2021-12-03 11:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

The emitted type sets are used with some referenced type sets (which use
bare type pointers). To keep consistency between what is being recorded
in each set, switch to storing exemplar type pointers in the referenced
type sets.

This change results in the omission of a small number of duplicate
types from various test cases. In each case the duplicates were
previously caused by a referenced type being emitted for one
translation unit and then the same type being emitted as a canonical
type for a later translation unit.

It also causes the movement of some function types in some test cases.
Some of those types are now considered referenced and appear earlier as
a result.

	* src/abg-writer.cc (record_type_as_referenced): Use preferred
	type with referenced type sets.
	(type_is_referenced): Likewise.
	(tests/data/test-annotate/test14-pr18893.so.abi): Duplicate
	type(s) removed, as described above.
	(tests/data/test-read-dwarf/test14-pr18893.so.abi): Likewise.
	(tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi):
	Likewise.
	(tests/data/test-read-dwarf/test16-pr18904.so.abi): Likewise.
	(tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi):
	Likewise.
	(tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi):
	Likewise.
	(tests/data/test-read-dwarf/PR25007-sdhci.ko.abi): Some
	function type(s) reordered, as described above.
	(tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi):
	Likewise.
	(tests/data/test-annotate/test15-pr18892.so.abi):: Duplicate
	type(s) removed and some function type(s) reordered, as
	described above.
	(tests/data/test-read-dwarf/test15-pr18892.so.abi): Likewise.
	(tests/data/test-annotate/test21-pr19092.so.abi): Likewise.
	(tests/data/test-read-dwarf/test21-pr19092.so.abi): Likewise

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-writer.cc                             |  19 +-
 .../data/test-annotate/test14-pr18893.so.abi  |   2 -
 .../data/test-annotate/test15-pr18892.so.abi  |  44 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   4 -
 .../data/test-annotate/test21-pr19092.so.abi  |  26 +-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi | 434 +++++++++---------
 .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi |   2 +-
 .../test-read-dwarf/test14-pr18893.so.abi     |   1 -
 .../test-read-dwarf/test15-pr18892.so.abi     |  28 +-
 .../test-read-dwarf/test16-pr18904.so.abi     |   2 -
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   2 -
 .../test-read-dwarf/test21-pr19092.so.abi     |  16 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi |   1 -
 13 files changed, 279 insertions(+), 302 deletions(-)

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 9c3ae6f8d5b4..4cf2a7fb16af 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -542,18 +542,19 @@ public:
   ///
   /// @param t a shared pointer to a type
   void
-  record_type_as_referenced(const type_base_sptr& t)
+  record_type_as_referenced(const type_base_sptr& type)
   {
+    type_base* t = get_preferred_type(type.get());
     // If the type is a function type, record it in a dedicated data
     // structure.
-    if (function_type* f = is_function_type(t.get()))
+    if (function_type* f = is_function_type(t))
       m_referenced_fn_types_set.insert(f);
     else if (!t->get_naked_canonical_type())
       // If the type doesn't have a canonical type, record it in a
       // dedicated data structure.
-      m_referenced_non_canonical_types_set.insert(t.get());
+      m_referenced_non_canonical_types_set.insert(t);
     else
-      m_referenced_types_set.insert(t.get());
+      m_referenced_types_set.insert(t);
   }
 
   /// Test if a given type has been referenced by a pointer, a
@@ -564,17 +565,17 @@ public:
   /// @return true if the type has been referenced, false
   /// otherwise.
   bool
-  type_is_referenced(const type_base_sptr& t)
+  type_is_referenced(const type_base_sptr& type)
   {
-    if (function_type *f = is_function_type(t.get()))
+    type_base* t = get_preferred_type(type.get());
+    if (function_type* f = is_function_type(t))
       return (m_referenced_fn_types_set.find(f)
 	      != m_referenced_fn_types_set.end());
     else if (!t->get_naked_canonical_type())
-      return (m_referenced_non_canonical_types_set.find(t.get())
+      return (m_referenced_non_canonical_types_set.find(t)
 	      != m_referenced_non_canonical_types_set.end());
     else
-      return m_referenced_types_set.find
-	(t.get()) != m_referenced_types_set.end();
+      return m_referenced_types_set.find(t) != m_referenced_types_set.end();
   }
 
   /// A comparison functor to compare pointers to @ref type_base.
diff --git a/tests/data/test-annotate/test14-pr18893.so.abi b/tests/data/test-annotate/test14-pr18893.so.abi
index a5c30fb5b37d..2bcb3c519e20 100644
--- a/tests/data/test-annotate/test14-pr18893.so.abi
+++ b/tests/data/test-annotate/test14-pr18893.so.abi
@@ -965,8 +965,6 @@
       <!-- void -->
       <return type-id='type-id-14'/>
     </function-type>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/interface/glinterface.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- struct GLUnurbs -->
diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi
index fbfa1da1a48a..582951a9f325 100644
--- a/tests/data/test-annotate/test15-pr18892.so.abi
+++ b/tests/data/test-annotate/test15-pr18892.so.abi
@@ -3302,42 +3302,38 @@
       <!-- void* -->
       <return type-id='type-id-1'/>
     </function-decl>
-    <!-- backtrace_state* -->
-    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-22'/>
-    <!-- int (backtrace_state*, uintptr_t, backtrace_full_callback, backtrace_error_callback, void*) -->
-    <function-type size-in-bits='64' id='type-id-20'>
+    <!-- void (backtrace_state*, uintptr_t, backtrace_syminfo_callback, backtrace_error_callback, void*) -->
+    <function-type size-in-bits='64' id='type-id-21'>
       <!-- parameter of type 'backtrace_state*' -->
       <parameter type-id='type-id-22'/>
       <!-- parameter of type 'typedef uintptr_t' -->
       <parameter type-id='type-id-23'/>
-      <!-- parameter of type 'typedef backtrace_full_callback' -->
+      <!-- parameter of type 'typedef backtrace_syminfo_callback' -->
       <parameter type-id='type-id-27'/>
       <!-- parameter of type 'typedef backtrace_error_callback' -->
       <parameter type-id='type-id-24'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
-      <!-- int -->
-      <return type-id='type-id-8'/>
+      <!-- void -->
+      <return type-id='type-id-25'/>
     </function-type>
-    <!-- void (backtrace_state*, uintptr_t, backtrace_syminfo_callback, backtrace_error_callback, void*) -->
-    <function-type size-in-bits='64' id='type-id-21'>
+    <!-- int (backtrace_state*, uintptr_t, backtrace_full_callback, backtrace_error_callback, void*) -->
+    <function-type size-in-bits='64' id='type-id-20'>
       <!-- parameter of type 'backtrace_state*' -->
       <parameter type-id='type-id-22'/>
       <!-- parameter of type 'typedef uintptr_t' -->
       <parameter type-id='type-id-23'/>
-      <!-- parameter of type 'typedef backtrace_syminfo_callback' -->
+      <!-- parameter of type 'typedef backtrace_full_callback' -->
       <parameter type-id='type-id-28'/>
       <!-- parameter of type 'typedef backtrace_error_callback' -->
       <parameter type-id='type-id-24'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
-      <!-- void -->
-      <return type-id='type-id-25'/>
+      <!-- int -->
+      <return type-id='type-id-8'/>
     </function-type>
-    <!-- int (void*, void*)* -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-12'/>
     <!-- int (void*, uintptr_t, const char*, int, const char*) -->
-    <function-type size-in-bits='64' id='type-id-30'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- parameter of type 'typedef uintptr_t' -->
@@ -3352,7 +3348,7 @@
       <return type-id='type-id-8'/>
     </function-type>
     <!-- int (void*, void*) -->
-    <function-type size-in-bits='64' id='type-id-29'>
+    <function-type size-in-bits='64' id='type-id-30'>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-1'/>
       <!-- parameter of type 'void*' -->
@@ -3417,7 +3413,7 @@
       <!-- parameter of type 'typedef uintptr_t' -->
       <parameter type-id='type-id-23' name='pc' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='166' column='1'/>
       <!-- parameter of type 'typedef backtrace_full_callback' -->
-      <parameter type-id='type-id-27' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='167' column='1'/>
+      <parameter type-id='type-id-28' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='167' column='1'/>
       <!-- parameter of type 'typedef backtrace_error_callback' -->
       <parameter type-id='type-id-24' name='error_callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='168' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -3432,7 +3428,7 @@
       <!-- parameter of type 'typedef uintptr_t' -->
       <parameter type-id='type-id-23' name='pc' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='182' column='1'/>
       <!-- parameter of type 'typedef backtrace_syminfo_callback' -->
-      <parameter type-id='type-id-28' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='183' column='1'/>
+      <parameter type-id='type-id-27' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='183' column='1'/>
       <!-- parameter of type 'typedef backtrace_error_callback' -->
       <parameter type-id='type-id-24' name='error_callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='184' column='1'/>
       <!-- parameter of type 'void*' -->
@@ -4802,8 +4798,6 @@
       <!-- bool -->
       <return type-id='type-id-121'/>
     </function-type>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-112'/>
   </abi-instr>
   <abi-instr address-size='64' path='../../.././libsanitizer/sanitizer_common/sanitizer_common_libcdep.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-ImG4Cf/gcc-4.9.2/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common' language='LANG_C_plus_plus'>
   </abi-instr>
@@ -5704,8 +5698,6 @@
       <!-- void -->
       <return type-id='type-id-25'/>
     </function-type>
-    <!-- unsigned short int -->
-    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-178'/>
     <!-- bool (const char*) -->
     <function-type size-in-bits='64' id='type-id-190'>
       <!-- parameter of type 'const char*' -->
@@ -7568,15 +7560,15 @@
     <!-- typedef void (void*, const char*, int)* backtrace_error_callback -->
     <typedef-decl name='backtrace_error_callback' type-id='type-id-258' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='82' column='1' id='type-id-24'/>
     <!-- typedef int (void*, typedef uintptr_t, const char*, int, const char*)* backtrace_full_callback -->
-    <typedef-decl name='backtrace_full_callback' type-id='type-id-259' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='110' column='1' id='type-id-27'/>
+    <typedef-decl name='backtrace_full_callback' type-id='type-id-259' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='110' column='1' id='type-id-28'/>
     <!-- typedef void (void*, typedef uintptr_t, const char*, typedef uintptr_t, typedef uintptr_t)* backtrace_syminfo_callback -->
-    <typedef-decl name='backtrace_syminfo_callback' type-id='type-id-260' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='175' column='1' id='type-id-28'/>
+    <typedef-decl name='backtrace_syminfo_callback' type-id='type-id-260' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='175' column='1' id='type-id-27'/>
     <!-- typedef unsigned long int uintptr_t -->
     <typedef-decl name='uintptr_t' type-id='type-id-112' filepath='/usr/include/stdint.h' line='123' column='1' id='type-id-23'/>
     <!-- backtrace_state* -->
     <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-22'/>
     <!-- int (void*, typedef uintptr_t, const char*, int, const char*)* -->
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-259'/>
     <!-- void (const char*, typedef size_t, void*)* -->
     <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-257'/>
     <!-- void (void*, const char*, int)* -->
@@ -10061,7 +10053,7 @@
     <!-- int (void*, void ()*)* -->
     <pointer-type-def type-id='type-id-1121' size-in-bits='64' id='type-id-783'/>
     <!-- int (void*, void*)* -->
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-12'/>
     <!-- int (void*, void**)* -->
     <pointer-type-def type-id='type-id-1122' size-in-bits='64' id='type-id-754'/>
     <!-- int (void*, void**, SIZE_T*)* -->
diff --git a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
index c756cca7a542..18a4964be69c 100644
--- a/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
+++ b/tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi
@@ -2160,10 +2160,6 @@
         </member-function>
       </class-decl>
     </namespace-decl>
-    <!-- unsigned long int -->
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
-    <!-- unsigned short int -->
-    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-22'/>
   </abi-instr>
   <abi-instr address-size='64' path='src/base/linuxthreads.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-kFgaKP/gperftools-2.4' language='LANG_C_plus_plus'>
     <!-- typedef int (void*, int, pid_t*, typedef __va_list_tag __va_list_tag*)* ListAllProcessThreadsCallBack -->
diff --git a/tests/data/test-annotate/test21-pr19092.so.abi b/tests/data/test-annotate/test21-pr19092.so.abi
index 5b17d83e7448..e009a191a42e 100644
--- a/tests/data/test-annotate/test21-pr19092.so.abi
+++ b/tests/data/test-annotate/test21-pr19092.so.abi
@@ -2537,11 +2537,6 @@
       <!-- int -->
       <return type-id='type-id-18'/>
     </function-type>
-    <!-- void () -->
-    <function-type size-in-bits='64' id='type-id-135'>
-      <!-- void -->
-      <return type-id='type-id-108'/>
-    </function-type>
     <!-- void (diagnostic_context*, const char*, va_list*) -->
     <function-type size-in-bits='64' id='type-id-137'>
       <!-- parameter of type 'diagnostic_context*' -->
@@ -2569,13 +2564,6 @@
       <!-- void -->
       <return type-id='type-id-108'/>
     </function-type>
-    <!-- void (void*) -->
-    <function-type size-in-bits='64' id='type-id-140'>
-      <!-- parameter of type 'void*' -->
-      <parameter type-id='type-id-14'/>
-      <!-- void -->
-      <return type-id='type-id-108'/>
-    </function-type>
     <!-- void (void*, _obstack_chunk*) -->
     <function-type size-in-bits='64' id='type-id-142'>
       <!-- parameter of type 'void*' -->
@@ -2594,6 +2582,18 @@
     </function-type>
     <!-- void -->
     <type-decl name='void' id='type-id-108'/>
+    <!-- void () -->
+    <function-type size-in-bits='64' id='type-id-135'>
+      <!-- void -->
+      <return type-id='type-id-108'/>
+    </function-type>
+    <!-- void (void*) -->
+    <function-type size-in-bits='64' id='type-id-140'>
+      <!-- parameter of type 'void*' -->
+      <parameter type-id='type-id-14'/>
+      <!-- void -->
+      <return type-id='type-id-108'/>
+    </function-type>
     <!-- void* (size_t) -->
     <function-type size-in-bits='64' id='type-id-148'>
       <!-- parameter of type 'typedef size_t' -->
@@ -10843,7 +10843,7 @@
     <!-- void (pex_obj*) -->
     <function-type size-in-bits='64' id='type-id-501'>
       <!-- parameter of type 'pex_obj*' -->
-      <parameter type-id='type-id-131'/>
+      <parameter type-id='type-id-131' name='obj'/>
       <!-- void -->
       <return type-id='type-id-108'/>
     </function-type>
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index b23715233e02..f3e2e259b803 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -10107,19 +10107,10 @@
       <parameter type-id='type-id-1183'/>
       <return type-id='type-id-165'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1112'>
-      <parameter type-id='type-id-614'/>
-      <parameter type-id='type-id-279'/>
-      <return type-id='type-id-165'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1114'>
       <parameter type-id='type-id-125'/>
       <return type-id='type-id-165'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1153'>
-      <parameter type-id='type-id-279'/>
-      <return type-id='type-id-282'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1184'>
       <parameter type-id='type-id-238'/>
       <parameter type-id='type-id-1138'/>
@@ -10147,10 +10138,6 @@
       <parameter type-id='type-id-51'/>
       <return type-id='type-id-1195'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1198'>
-      <parameter type-id='type-id-538'/>
-      <return type-id='type-id-530'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1199'>
       <parameter type-id='type-id-1357'/>
       <return type-id='type-id-635'/>
@@ -10177,9 +10164,6 @@
       <parameter type-id='type-id-241'/>
       <return type-id='type-id-51'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1220'>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1221'>
       <parameter type-id='type-id-374'/>
       <parameter type-id='type-id-139'/>
@@ -10197,16 +10181,6 @@
       <parameter type-id='type-id-1553'/>
       <return type-id='type-id-53'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1224'>
-      <parameter type-id='type-id-24'/>
-      <parameter type-id='type-id-1143'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1225'>
-      <parameter type-id='type-id-165'/>
-      <parameter type-id='type-id-1143'/>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1226'>
       <parameter type-id='type-id-1118'/>
       <return type-id='type-id-53'/>
@@ -10396,13 +10370,6 @@
       <parameter type-id='type-id-411'/>
       <return type-id='type-id-53'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1256'>
-      <parameter type-id='type-id-335'/>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1093'/>
-      <parameter type-id='type-id-125'/>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1257'>
       <parameter type-id='type-id-335'/>
       <parameter type-id='type-id-67'/>
@@ -10552,31 +10519,6 @@
       <parameter type-id='type-id-53'/>
       <return type-id='type-id-53'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1283'>
-      <parameter type-id='type-id-559'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1284'>
-      <parameter type-id='type-id-559'/>
-      <parameter type-id='type-id-165'/>
-      <parameter type-id='type-id-332'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1285'>
-      <parameter type-id='type-id-559'/>
-      <parameter type-id='type-id-559'/>
-      <parameter type-id='type-id-165'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1286'>
-      <parameter type-id='type-id-1343'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1287'>
-      <parameter type-id='type-id-1343'/>
-      <parameter type-id='type-id-125'/>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1288'>
       <parameter type-id='type-id-225'/>
       <parameter type-id='type-id-1151'/>
@@ -10589,17 +10531,6 @@
       <parameter type-id='type-id-172'/>
       <return type-id='type-id-53'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1290'>
-      <parameter type-id='type-id-614'/>
-      <parameter type-id='type-id-279'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1292'>
-      <parameter type-id='type-id-614'/>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1350'/>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1294'>
       <parameter type-id='type-id-1357'/>
       <return type-id='type-id-53'/>
@@ -10660,10 +10591,6 @@
       <parameter type-id='type-id-100'/>
       <return type-id='type-id-53'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1305'>
-      <parameter type-id='type-id-274'/>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1306'>
       <parameter type-id='type-id-826'/>
       <parameter type-id='type-id-114'/>
@@ -10704,22 +10631,6 @@
       <parameter type-id='type-id-238'/>
       <return type-id='type-id-53'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1314'>
-      <parameter type-id='type-id-577'/>
-      <parameter type-id='type-id-559'/>
-      <parameter type-id='type-id-557'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1315'>
-      <parameter type-id='type-id-577'/>
-      <parameter type-id='type-id-557'/>
-      <return type-id='type-id-53'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1316'>
-      <parameter type-id='type-id-577'/>
-      <parameter type-id='type-id-127'/>
-      <return type-id='type-id-53'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1317'>
       <parameter type-id='type-id-241'/>
       <return type-id='type-id-53'/>
@@ -10835,10 +10746,6 @@
       <parameter type-id='type-id-114'/>
       <return type-id='type-id-67'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1363'>
-      <parameter type-id='type-id-1398'/>
-      <return type-id='type-id-67'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1364'>
       <parameter type-id='type-id-241'/>
       <parameter type-id='type-id-1409'/>
@@ -10863,14 +10770,6 @@
       <parameter type-id='type-id-1384'/>
       <return type-id='type-id-1085'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1427'>
-      <parameter type-id='type-id-1343'/>
-      <parameter type-id='type-id-1384'/>
-      <return type-id='type-id-1085'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1428'>
-      <return type-id='type-id-172'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1429'>
       <parameter type-id='type-id-515'/>
       <return type-id='type-id-172'/>
@@ -10916,9 +10815,6 @@
       <parameter type-id='type-id-399'/>
       <return type-id='type-id-399'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1437'>
-      <return type-id='type-id-533'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1438'>
       <parameter type-id='type-id-335'/>
       <parameter type-id='type-id-333'/>
@@ -10963,15 +10859,6 @@
       <parameter type-id='type-id-1360'/>
       <return type-id='type-id-1027'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1445'>
-      <parameter type-id='type-id-335'/>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1093'/>
-      <parameter type-id='type-id-24'/>
-      <parameter type-id='type-id-333'/>
-      <parameter type-id='type-id-176'/>
-      <return type-id='type-id-1027'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1446'>
       <parameter type-id='type-id-335'/>
       <parameter type-id='type-id-1360'/>
@@ -10998,44 +10885,11 @@
       <parameter type-id='type-id-113'/>
       <return type-id='type-id-1027'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1449'>
-      <parameter type-id='type-id-1343'/>
-      <parameter type-id='type-id-24'/>
-      <parameter type-id='type-id-176'/>
-      <parameter type-id='type-id-333'/>
-      <return type-id='type-id-1027'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1450'>
       <parameter type-id='type-id-1347'/>
       <parameter type-id='type-id-1339'/>
       <return type-id='type-id-1027'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1451'>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1088'/>
-      <parameter type-id='type-id-24'/>
-      <return type-id='type-id-1027'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1452'>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1088'/>
-      <parameter type-id='type-id-165'/>
-      <parameter type-id='type-id-176'/>
-      <return type-id='type-id-1027'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1453'>
-      <parameter type-id='type-id-790'/>
-      <parameter type-id='type-id-1369'/>
-      <parameter type-id='type-id-24'/>
-      <return type-id='type-id-1027'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1454'>
-      <parameter type-id='type-id-790'/>
-      <parameter type-id='type-id-1369'/>
-      <parameter type-id='type-id-165'/>
-      <parameter type-id='type-id-176'/>
-      <return type-id='type-id-1027'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1455'>
       <parameter type-id='type-id-387'/>
       <parameter type-id='type-id-335'/>
@@ -11069,18 +10923,6 @@
       <parameter type-id='type-id-261'/>
       <return type-id='type-id-104'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1460'>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1088'/>
-      <parameter type-id='type-id-53'/>
-      <return type-id='type-id-332'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1461'>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1093'/>
-      <parameter type-id='type-id-53'/>
-      <return type-id='type-id-332'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1462'>
       <parameter type-id='type-id-1476'/>
       <return type-id='type-id-718'/>
@@ -11094,14 +10936,6 @@
       <parameter type-id='type-id-1402'/>
       <return type-id='type-id-113'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1468'>
-      <parameter type-id='type-id-335'/>
-      <parameter type-id='type-id-114'/>
-      <parameter type-id='type-id-114'/>
-      <parameter type-id='type-id-114'/>
-      <parameter type-id='type-id-114'/>
-      <return type-id='type-id-114'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1469'>
       <parameter type-id='type-id-1410'/>
       <parameter type-id='type-id-1409'/>
@@ -11115,13 +10949,6 @@
       <parameter type-id='type-id-1379'/>
       <return type-id='type-id-841'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1073'>
-      <return type-id='type-id-1538'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1477'>
-      <parameter type-id='type-id-899'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1478'>
       <parameter type-id='type-id-308'/>
       <return type-id='type-id-1538'/>
@@ -11248,26 +11075,12 @@
       <parameter type-id='type-id-53'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1501'>
-      <parameter type-id='type-id-1343'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1502'>
       <parameter type-id='type-id-1347'/>
       <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-67'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1503'>
-      <parameter type-id='type-id-279'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1504'>
-      <parameter type-id='type-id-279'/>
-      <parameter type-id='type-id-1356'/>
-      <parameter type-id='type-id-1346'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1505'>
       <parameter type-id='type-id-1357'/>
       <return type-id='type-id-1538'/>
@@ -11311,15 +11124,6 @@
       <parameter type-id='type-id-75'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1514'>
-      <parameter type-id='type-id-274'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
-    <function-type size-in-bits='64' id='type-id-1515'>
-      <parameter type-id='type-id-274'/>
-      <parameter type-id='type-id-165'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1516'>
       <parameter type-id='type-id-139'/>
       <return type-id='type-id-1538'/>
@@ -11388,19 +11192,10 @@
       <parameter type-id='type-id-335'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1528'>
-      <parameter type-id='type-id-577'/>
-      <parameter type-id='type-id-127'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1529'>
       <parameter type-id='type-id-241'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1530'>
-      <parameter type-id='type-id-1418'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1531'>
       <parameter type-id='type-id-399'/>
       <return type-id='type-id-1538'/>
@@ -11415,10 +11210,6 @@
       <parameter type-id='type-id-114'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1534'>
-      <parameter type-id='type-id-127'/>
-      <return type-id='type-id-1538'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1535'>
       <parameter type-id='type-id-127'/>
       <parameter type-id='type-id-1204'/>
@@ -11433,9 +11224,6 @@
       <parameter type-id='type-id-1550'/>
       <return type-id='type-id-1538'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1539'>
-      <return type-id='type-id-127'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-1540'>
       <parameter type-id='type-id-515'/>
       <parameter type-id='type-id-1123'/>
@@ -11453,6 +11241,223 @@
       <parameter type-id='type-id-114'/>
       <return type-id='type-id-127'/>
     </function-type>
+    <function-type size-in-bits='64' id='type-id-1547'>
+      <parameter type-id='type-id-127'/>
+      <return type-id='type-id-127'/>
+    </function-type>
+    <type-decl name='void' id='type-id-1538'/>
+    <function-type size-in-bits='64' id='type-id-1112'>
+      <parameter type-id='type-id-614'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-165'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1153'>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-282'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1198'>
+      <parameter type-id='type-id-538'/>
+      <return type-id='type-id-530'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1220'>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1224'>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-1143'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1225'>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-1143'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1256'>
+      <parameter type-id='type-id-335'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1093'/>
+      <parameter type-id='type-id-125'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1283'>
+      <parameter type-id='type-id-559'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1284'>
+      <parameter type-id='type-id-559'/>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-332'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1285'>
+      <parameter type-id='type-id-559'/>
+      <parameter type-id='type-id-559'/>
+      <parameter type-id='type-id-165'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1286'>
+      <parameter type-id='type-id-1343'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1287'>
+      <parameter type-id='type-id-1343'/>
+      <parameter type-id='type-id-125'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1290'>
+      <parameter type-id='type-id-614'/>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1292'>
+      <parameter type-id='type-id-614'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1350'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1305'>
+      <parameter type-id='type-id-274'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1314'>
+      <parameter type-id='type-id-577'/>
+      <parameter type-id='type-id-559'/>
+      <parameter type-id='type-id-557'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1315'>
+      <parameter type-id='type-id-577'/>
+      <parameter type-id='type-id-557'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1316'>
+      <parameter type-id='type-id-577'/>
+      <parameter type-id='type-id-127'/>
+      <return type-id='type-id-53'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1363'>
+      <parameter type-id='type-id-1398'/>
+      <return type-id='type-id-67'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1427'>
+      <parameter type-id='type-id-1343'/>
+      <parameter type-id='type-id-1384'/>
+      <return type-id='type-id-1085'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1428'>
+      <return type-id='type-id-172'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1437'>
+      <return type-id='type-id-533'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1445'>
+      <parameter type-id='type-id-335'/>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1093'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-333'/>
+      <parameter type-id='type-id-176'/>
+      <return type-id='type-id-1027'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1449'>
+      <parameter type-id='type-id-1343'/>
+      <parameter type-id='type-id-24'/>
+      <parameter type-id='type-id-176'/>
+      <parameter type-id='type-id-333'/>
+      <return type-id='type-id-1027'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1451'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1088'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-1027'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1452'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1088'/>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-176'/>
+      <return type-id='type-id-1027'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1453'>
+      <parameter type-id='type-id-790'/>
+      <parameter type-id='type-id-1369'/>
+      <parameter type-id='type-id-24'/>
+      <return type-id='type-id-1027'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1454'>
+      <parameter type-id='type-id-790'/>
+      <parameter type-id='type-id-1369'/>
+      <parameter type-id='type-id-165'/>
+      <parameter type-id='type-id-176'/>
+      <return type-id='type-id-1027'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1460'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1088'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-332'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1461'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1093'/>
+      <parameter type-id='type-id-53'/>
+      <return type-id='type-id-332'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1468'>
+      <parameter type-id='type-id-335'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-114'/>
+      <parameter type-id='type-id-114'/>
+      <return type-id='type-id-114'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1073'>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1477'>
+      <parameter type-id='type-id-899'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1501'>
+      <parameter type-id='type-id-1343'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1503'>
+      <parameter type-id='type-id-279'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1504'>
+      <parameter type-id='type-id-279'/>
+      <parameter type-id='type-id-1356'/>
+      <parameter type-id='type-id-1346'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1514'>
+      <parameter type-id='type-id-274'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1515'>
+      <parameter type-id='type-id-274'/>
+      <parameter type-id='type-id-165'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1528'>
+      <parameter type-id='type-id-577'/>
+      <parameter type-id='type-id-127'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1530'>
+      <parameter type-id='type-id-1418'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1534'>
+      <parameter type-id='type-id-127'/>
+      <return type-id='type-id-1538'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-1539'>
+      <return type-id='type-id-127'/>
+    </function-type>
     <function-type size-in-bits='64' id='type-id-1543'>
       <parameter type-id='type-id-279'/>
       <return type-id='type-id-127'/>
@@ -11472,11 +11477,6 @@
       <parameter type-id='type-id-1412'/>
       <return type-id='type-id-127'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-1547'>
-      <parameter type-id='type-id-127'/>
-      <return type-id='type-id-127'/>
-    </function-type>
-    <type-decl name='void' id='type-id-1538'/>
   </abi-instr>
   <abi-instr address-size='64' path='drivers/mmc/host/sdhci.mod.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
     <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1086'/>
diff --git a/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi b/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi
index 0e6e8af45fc0..4a84fe97a226 100644
--- a/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi
+++ b/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi
@@ -476,11 +476,11 @@
       <parameter type-id='type-id-9' name='dbf' filepath='/tmp/ben/spack-stage/spack-stage-dQKT1q/spack-src/src/gdbmclose.c' line='30' column='1'/>
       <return type-id='type-id-8'/>
     </function-decl>
+    <type-decl name='void' id='type-id-11'/>
     <function-type size-in-bits='64' id='type-id-57'>
       <parameter type-id='type-id-56'/>
       <return type-id='type-id-11'/>
     </function-type>
-    <type-decl name='void' id='type-id-11'/>
   </abi-instr>
   <abi-instr address-size='64' path='gdbmcount.c' comp-dir-path='/tmp/ben/spack-stage/spack-stage-dQKT1q/spack-src/src' language='LANG_C99'>
     <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-58'/>
diff --git a/tests/data/test-read-dwarf/test14-pr18893.so.abi b/tests/data/test-read-dwarf/test14-pr18893.so.abi
index cad90c1c61cc..4ed7a8cdcb42 100644
--- a/tests/data/test-read-dwarf/test14-pr18893.so.abi
+++ b/tests/data/test-read-dwarf/test14-pr18893.so.abi
@@ -604,7 +604,6 @@
       <parameter type-id='type-id-35'/>
       <return type-id='type-id-14'/>
     </function-type>
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/interface/glinterface.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <class-decl name='GLUnurbs' size-in-bits='1149440' is-struct='yes' visibility='default' filepath='libnurbs/interface/glrenderer.h' line='49' column='1' id='type-id-39'>
diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi
index a4f0b7fa2815..7f885838c344 100644
--- a/tests/data/test-read-dwarf/test15-pr18892.so.abi
+++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi
@@ -1683,25 +1683,23 @@
       <parameter type-id='type-id-13'/>
       <return type-id='type-id-1'/>
     </function-decl>
-    <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-22'/>
-    <function-type size-in-bits='64' id='type-id-20'>
+    <function-type size-in-bits='64' id='type-id-21'>
       <parameter type-id='type-id-22'/>
       <parameter type-id='type-id-23'/>
       <parameter type-id='type-id-27'/>
       <parameter type-id='type-id-24'/>
       <parameter type-id='type-id-1'/>
-      <return type-id='type-id-8'/>
+      <return type-id='type-id-25'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-21'>
+    <function-type size-in-bits='64' id='type-id-20'>
       <parameter type-id='type-id-22'/>
       <parameter type-id='type-id-23'/>
       <parameter type-id='type-id-28'/>
       <parameter type-id='type-id-24'/>
       <parameter type-id='type-id-1'/>
-      <return type-id='type-id-25'/>
+      <return type-id='type-id-8'/>
     </function-type>
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-12'/>
-    <function-type size-in-bits='64' id='type-id-30'>
+    <function-type size-in-bits='64' id='type-id-29'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-23'/>
       <parameter type-id='type-id-2'/>
@@ -1709,7 +1707,7 @@
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-8'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-29'>
+    <function-type size-in-bits='64' id='type-id-30'>
       <parameter type-id='type-id-1'/>
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-8'/>
@@ -1746,7 +1744,7 @@
     <function-decl name='__asan_backtrace_pcinfo' mangled-name='__asan_backtrace_pcinfo' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__asan_backtrace_pcinfo'>
       <parameter type-id='type-id-22' name='state' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='166' column='1'/>
       <parameter type-id='type-id-23' name='pc' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='166' column='1'/>
-      <parameter type-id='type-id-27' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='167' column='1'/>
+      <parameter type-id='type-id-28' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='167' column='1'/>
       <parameter type-id='type-id-24' name='error_callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='168' column='1'/>
       <parameter type-id='type-id-1' name='data' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='168' column='1'/>
       <return type-id='type-id-8'/>
@@ -1754,7 +1752,7 @@
     <function-decl name='__asan_backtrace_syminfo' mangled-name='__asan_backtrace_syminfo' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__asan_backtrace_syminfo'>
       <parameter type-id='type-id-22' name='state' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='182' column='1'/>
       <parameter type-id='type-id-23' name='pc' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='182' column='1'/>
-      <parameter type-id='type-id-28' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='183' column='1'/>
+      <parameter type-id='type-id-27' name='callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='183' column='1'/>
       <parameter type-id='type-id-24' name='error_callback' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='184' column='1'/>
       <parameter type-id='type-id-1' name='data' filepath='../../.././libsanitizer/libbacktrace/../../libbacktrace/fileline.c' line='184' column='1'/>
       <return type-id='type-id-8'/>
@@ -2653,7 +2651,6 @@
       <parameter type-id='type-id-8'/>
       <return type-id='type-id-121'/>
     </function-type>
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-112'/>
   </abi-instr>
   <abi-instr address-size='64' path='../../.././libsanitizer/sanitizer_common/sanitizer_common_libcdep.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-ImG4Cf/gcc-4.9.2/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common' language='LANG_C_plus_plus'>
   </abi-instr>
@@ -3228,7 +3225,6 @@
       <parameter type-id='type-id-1'/>
       <return type-id='type-id-25'/>
     </function-type>
-    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-178'/>
     <function-type size-in-bits='64' id='type-id-190'>
       <parameter type-id='type-id-2'/>
       <return type-id='type-id-121'/>
@@ -4268,11 +4264,11 @@
   <abi-instr address-size='64' path='../../.././libsanitizer/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-ImG4Cf/gcc-4.9.2/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common' language='LANG_C_plus_plus'>
     <typedef-decl name='demangle_callbackref' type-id='type-id-257' filepath='../../.././libsanitizer/../include/demangle.h' line='150' column='1' id='type-id-81'/>
     <typedef-decl name='backtrace_error_callback' type-id='type-id-258' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='82' column='1' id='type-id-24'/>
-    <typedef-decl name='backtrace_full_callback' type-id='type-id-259' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='110' column='1' id='type-id-27'/>
-    <typedef-decl name='backtrace_syminfo_callback' type-id='type-id-260' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='175' column='1' id='type-id-28'/>
+    <typedef-decl name='backtrace_full_callback' type-id='type-id-259' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='110' column='1' id='type-id-28'/>
+    <typedef-decl name='backtrace_syminfo_callback' type-id='type-id-260' filepath='../../.././libsanitizer/../libbacktrace/backtrace.h' line='175' column='1' id='type-id-27'/>
     <typedef-decl name='uintptr_t' type-id='type-id-112' filepath='/usr/include/stdint.h' line='123' column='1' id='type-id-23'/>
     <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-22'/>
-    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-259'/>
+    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-259'/>
     <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-257'/>
     <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-258'/>
     <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-260'/>
@@ -5729,7 +5725,7 @@
     <pointer-type-def type-id='type-id-1119' size-in-bits='64' id='type-id-878'/>
     <pointer-type-def type-id='type-id-1120' size-in-bits='64' id='type-id-745'/>
     <pointer-type-def type-id='type-id-1121' size-in-bits='64' id='type-id-783'/>
-    <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-12'/>
+    <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-12'/>
     <pointer-type-def type-id='type-id-1122' size-in-bits='64' id='type-id-754'/>
     <pointer-type-def type-id='type-id-1123' size-in-bits='64' id='type-id-609'/>
     <pointer-type-def type-id='type-id-1124' size-in-bits='64' id='type-id-724'/>
diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi
index ed1f9b07403b..b4dd1ee75cc8 100644
--- a/tests/data/test-read-dwarf/test16-pr18904.so.abi
+++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi
@@ -2160,8 +2160,6 @@
       <parameter type-id='type-id-150'/>
       <return type-id='type-id-154'/>
     </function-type>
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-6'/>
-    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-57'/>
   </abi-instr>
   <abi-instr address-size='64' path='../../../gcc/liboffloadmic/runtime/compiler_if_host.cpp' comp-dir-path='/export/users/iverbin/gcc_build_host/x86_64-pc-linux-gnu/liboffloadmic' language='LANG_C_plus_plus'>
     <array-type-def dimensions='1' type-id='type-id-155' size-in-bits='128' id='type-id-156'>
diff --git a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
index 6def22d56114..da5bb27f4c51 100644
--- a/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
+++ b/tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi
@@ -1185,8 +1185,6 @@
         </member-function>
       </class-decl>
     </namespace-decl>
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-5'/>
-    <type-decl name='unsigned short int' size-in-bits='16' id='type-id-22'/>
   </abi-instr>
   <abi-instr address-size='64' path='src/base/linuxthreads.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-kFgaKP/gperftools-2.4' language='LANG_C_plus_plus'>
     <typedef-decl name='ListAllProcessThreadsCallBack' type-id='type-id-58' filepath='./src/base/thread_lister.h' line='48' column='1' id='type-id-59'/>
diff --git a/tests/data/test-read-dwarf/test21-pr19092.so.abi b/tests/data/test-read-dwarf/test21-pr19092.so.abi
index c32385188030..c10916fa7484 100644
--- a/tests/data/test-read-dwarf/test21-pr19092.so.abi
+++ b/tests/data/test-read-dwarf/test21-pr19092.so.abi
@@ -1516,9 +1516,6 @@
       <parameter type-id='type-id-14'/>
       <return type-id='type-id-18'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-135'>
-      <return type-id='type-id-108'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-137'>
       <parameter type-id='type-id-127'/>
       <parameter type-id='type-id-15'/>
@@ -1534,10 +1531,6 @@
       <parameter type-id='type-id-18'/>
       <return type-id='type-id-108'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-140'>
-      <parameter type-id='type-id-14'/>
-      <return type-id='type-id-108'/>
-    </function-type>
     <function-type size-in-bits='64' id='type-id-142'>
       <parameter type-id='type-id-14'/>
       <parameter type-id='type-id-33'/>
@@ -1548,6 +1541,13 @@
       <return type-id='type-id-14'/>
     </function-type>
     <type-decl name='void' id='type-id-108'/>
+    <function-type size-in-bits='64' id='type-id-135'>
+      <return type-id='type-id-108'/>
+    </function-type>
+    <function-type size-in-bits='64' id='type-id-140'>
+      <parameter type-id='type-id-14'/>
+      <return type-id='type-id-108'/>
+    </function-type>
     <function-type size-in-bits='64' id='type-id-148'>
       <parameter type-id='type-id-94'/>
       <return type-id='type-id-14'/>
@@ -7000,7 +7000,7 @@
       <return type-id='type-id-493'/>
     </function-type>
     <function-type size-in-bits='64' id='type-id-501'>
-      <parameter type-id='type-id-131'/>
+      <parameter type-id='type-id-131' name='obj'/>
       <return type-id='type-id-108'/>
     </function-type>
   </abi-instr>
diff --git a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
index 288abf42f36a..46952f55eeb9 100644
--- a/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
+++ b/tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi
@@ -4356,7 +4356,6 @@
       <parameter type-id='type-id-56'/>
       <return type-id='type-id-5'/>
     </function-type>
-    <type-decl name='unsigned long int' size-in-bits='64' id='type-id-44'/>
     <function-type size-in-bits='64' id='type-id-95'>
       <parameter type-id='type-id-91'/>
       <return type-id='type-id-34'/>
-- 
2.34.1.400.ga245620fadb-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 3/5] XML writer: track emitted types by bare pointer
  2021-12-03 11:46 [PATCH 0/5] Improvements for the XML Writer Matthias Maennich
  2021-12-03 11:46 ` [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking Matthias Maennich
  2021-12-03 11:46 ` [PATCH 2/5] XML writer: use exemplar types for tracking referenced types Matthias Maennich
@ 2021-12-03 11:46 ` Matthias Maennich
  2021-12-10 10:50   ` Dodji Seketeli
  2022-01-18 17:15   ` Dodji Seketeli
  2021-12-03 11:46 ` [PATCH 4/5] XML writer: map type ids " Matthias Maennich
  2021-12-03 11:46 ` [PATCH 5/5] XML writer: resolve declaration-only enum definitions Matthias Maennich
  4 siblings, 2 replies; 15+ messages in thread
From: Matthias Maennich @ 2021-12-03 11:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

This is a performance and safety improvement made possible by the
previous changes which ensure that the same pointers are inserted and
looked up.

This essentially removes the now unnecessary deep comparison.

	* src/abg-writer.cc (type_ptr_set_type): Change typedef
	container type to use default equality and hashing for pointer
	keys.
	(fn_type_ptr_set_type): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-writer.cc | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 4cf2a7fb16af..d2ef19eb7095 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -123,14 +123,10 @@ typedef unordered_map<type_base*,
 		      abigail::diff_utils::deep_ptr_eq_functor> type_ptr_map;
 
 // A convenience typedef for a set of type_base*.
-typedef unordered_set<const type_base*, type_hasher,
-		      abigail::diff_utils::deep_ptr_eq_functor>
-type_ptr_set_type;
+typedef std::unordered_set<const type_base*> type_ptr_set_type;
 
 /// A convenience typedef for a set of function type*.
-typedef unordered_set<function_type*, type_hasher,
-		      abigail::diff_utils::deep_ptr_eq_functor>
-fn_type_ptr_set_type;
+typedef std::unordered_set<function_type*> fn_type_ptr_set_type;
 
 typedef unordered_map<shared_ptr<function_tdecl>,
 		      string,
-- 
2.34.1.400.ga245620fadb-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 4/5] XML writer: map type ids by bare pointer
  2021-12-03 11:46 [PATCH 0/5] Improvements for the XML Writer Matthias Maennich
                   ` (2 preceding siblings ...)
  2021-12-03 11:46 ` [PATCH 3/5] XML writer: track emitted types by bare pointer Matthias Maennich
@ 2021-12-03 11:46 ` Matthias Maennich
  2022-01-19 10:12   ` Dodji Seketeli
  2021-12-03 11:46 ` [PATCH 5/5] XML writer: resolve declaration-only enum definitions Matthias Maennich
  4 siblings, 1 reply; 15+ messages in thread
From: Matthias Maennich @ 2021-12-03 11:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

This is a performance and safety improvement made possible by previous
changes which ensure that the same pointers are used for insertion and
look-up.

This change affects two test cases. In more detail:

The test case test-read-dwarf/PR22122-libftdc.so.abi has many
duplicate type-id-60 which appear to all be types defined with a DWARF
DW_AT_signature attribute. These are made into separate types by this
change, but remain incomplete.

The test case test-read-dwarf/PR25007-sdhci.ko.abi has duplicate
declarations and these get split into duplicate declarations with new
type ids following this change. The test suite runs with an implicit
--no-linux-kernel-mode so the duplicates are treated separately. They
presumably had the same type ids before this change due to deep
equality considering them equal.

	* src/abg-writer.cc (type_ptr_map): use default equality on
	type_base pointer.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Refresh
	test case, as described above.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-writer.cc                             |    5 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    | 6242 ++++++++---------
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   80 +-
 3 files changed, 3162 insertions(+), 3165 deletions(-)

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index d2ef19eb7095..76e60eb92347 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -31,7 +31,6 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 
 #include "abg-config.h"
 #include "abg-corpus.h"
-#include "abg-diff-utils.h"
 #include "abg-hash.h"
 #include "abg-sptr-utils.h"
 
@@ -118,9 +117,7 @@ struct type_hasher
 /// A convenience typedef for a map that associates a pointer to type
 /// to a string.  The pointer to type is hashed as fast as possible.
 typedef unordered_map<type_base*,
-		      interned_string,
-		      type_hasher,
-		      abigail::diff_utils::deep_ptr_eq_functor> type_ptr_map;
+		      interned_string> type_ptr_map;
 
 // A convenience typedef for a set of type_base*.
 typedef std::unordered_set<const type_base*> type_ptr_set_type;
diff --git a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
index 16e867efd49a..15271b3eb29b 100644
--- a/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
+++ b/tests/data/test-read-dwarf/PR22122-libftdc.so.abi
@@ -303,708 +303,708 @@
     <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-58'/>
     <qualified-type-def type-id='type-id-58' restrict='yes' id='type-id-59'/>
     <reference-type-def kind='lvalue' type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
-    <reference-type-def kind='rvalue' type-id='type-id-60' size-in-bits='64' id='type-id-62'/>
-    <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-63'/>
-    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-64'/>
-    <qualified-type-def type-id='type-id-64' restrict='yes' id='type-id-65'/>
-    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-66'/>
+    <reference-type-def kind='rvalue' type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
+    <pointer-type-def type-id='type-id-64' size-in-bits='64' id='type-id-65'/>
+    <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-66'/>
     <qualified-type-def type-id='type-id-66' restrict='yes' id='type-id-67'/>
-    <qualified-type-def type-id='type-id-60' const='yes' id='type-id-68'/>
-    <reference-type-def kind='lvalue' type-id='type-id-68' size-in-bits='64' id='type-id-69'/>
-    <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-70'/>
-    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-71'/>
-    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-51'/>
+    <pointer-type-def type-id='type-id-66' size-in-bits='64' id='type-id-68'/>
+    <qualified-type-def type-id='type-id-68' restrict='yes' id='type-id-69'/>
+    <qualified-type-def type-id='type-id-70' const='yes' id='type-id-71'/>
+    <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-73'/>
+    <qualified-type-def type-id='type-id-53' const='yes' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-51'/>
     <qualified-type-def type-id='type-id-2' const='yes' id='type-id-10'/>
-    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-72'/>
-    <qualified-type-def type-id='type-id-72' restrict='yes' id='type-id-73'/>
-    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-74'/>
-    <qualified-type-def type-id='type-id-74' restrict='yes' id='type-id-75'/>
-    <reference-type-def kind='lvalue' type-id='type-id-11' size-in-bits='64' id='type-id-76'/>
-    <reference-type-def kind='lvalue' type-id='type-id-12' size-in-bits='64' id='type-id-77'/>
-    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-78'/>
-    <qualified-type-def type-id='type-id-38' const='yes' id='type-id-79'/>
-    <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
-    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-81'/>
-    <reference-type-def kind='lvalue' type-id='type-id-81' size-in-bits='64' id='type-id-82'/>
-    <qualified-type-def type-id='type-id-49' const='yes' id='type-id-83'/>
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
-    <qualified-type-def type-id='type-id-85' const='yes' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-75'/>
+    <qualified-type-def type-id='type-id-75' restrict='yes' id='type-id-76'/>
+    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-77'/>
+    <qualified-type-def type-id='type-id-77' restrict='yes' id='type-id-78'/>
+    <reference-type-def kind='lvalue' type-id='type-id-11' size-in-bits='64' id='type-id-79'/>
+    <reference-type-def kind='lvalue' type-id='type-id-12' size-in-bits='64' id='type-id-80'/>
+    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-81'/>
+    <qualified-type-def type-id='type-id-38' const='yes' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-82' size-in-bits='64' id='type-id-83'/>
+    <qualified-type-def type-id='type-id-16' const='yes' id='type-id-84'/>
+    <reference-type-def kind='lvalue' type-id='type-id-84' size-in-bits='64' id='type-id-85'/>
+    <qualified-type-def type-id='type-id-49' const='yes' id='type-id-86'/>
     <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-87'/>
     <qualified-type-def type-id='type-id-88' const='yes' id='type-id-89'/>
     <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-90'/>
     <qualified-type-def type-id='type-id-91' const='yes' id='type-id-92'/>
     <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-93'/>
-    <qualified-type-def type-id='type-id-93' restrict='yes' id='type-id-94'/>
-    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-95'/>
+    <qualified-type-def type-id='type-id-94' const='yes' id='type-id-95'/>
     <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/>
-    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-97'/>
-    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-98'/>
-    <qualified-type-def type-id='type-id-98' restrict='yes' id='type-id-99'/>
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-100'/>
-    <qualified-type-def type-id='type-id-100' restrict='yes' id='type-id-101'/>
-    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-102'/>
-    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-103'/>
+    <qualified-type-def type-id='type-id-96' restrict='yes' id='type-id-97'/>
+    <qualified-type-def type-id='type-id-22' const='yes' id='type-id-98'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-99'/>
+    <qualified-type-def type-id='type-id-26' const='yes' id='type-id-100'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-101'/>
+    <qualified-type-def type-id='type-id-101' restrict='yes' id='type-id-102'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-103'/>
     <qualified-type-def type-id='type-id-103' restrict='yes' id='type-id-104'/>
-    <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-45'/>
-    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-106'/>
-    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
-    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-109'/>
-    <qualified-type-def type-id='type-id-109' restrict='yes' id='type-id-110'/>
-    <reference-type-def kind='lvalue' type-id='type-id-111' size-in-bits='64' id='type-id-112'/>
-    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-113'/>
-    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-114'/>
-    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
-    <pointer-type-def type-id='type-id-117' size-in-bits='64' id='type-id-118'/>
-    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-120'/>
-    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-122'/>
-    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-14' size-in-bits='64' id='type-id-105'/>
+    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-106'/>
+    <qualified-type-def type-id='type-id-106' restrict='yes' id='type-id-107'/>
+    <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-45'/>
+    <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-112'/>
+    <qualified-type-def type-id='type-id-112' restrict='yes' id='type-id-113'/>
+    <reference-type-def kind='lvalue' type-id='type-id-114' size-in-bits='64' id='type-id-115'/>
+    <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-116'/>
+    <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-117'/>
+    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-119'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-121'/>
+    <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/>
     <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-125'/>
-    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-127'/>
-    <qualified-type-def type-id='type-id-127' restrict='yes' id='type-id-128'/>
-    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-129'/>
-    <qualified-type-def type-id='type-id-129' restrict='yes' id='type-id-130'/>
-    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-131'/>
-    <qualified-type-def type-id='type-id-131' restrict='yes' id='type-id-132'/>
+    <pointer-type-def type-id='type-id-22' size-in-bits='64' id='type-id-126'/>
+    <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-130'/>
+    <qualified-type-def type-id='type-id-130' restrict='yes' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-132'/>
+    <qualified-type-def type-id='type-id-132' restrict='yes' id='type-id-133'/>
+    <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-134'/>
+    <qualified-type-def type-id='type-id-134' restrict='yes' id='type-id-135'/>
     <class-decl name='_G_fpos_t' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-30' visibility='default' is-declaration-only='yes' id='type-id-29'/>
     <class-decl name='__FILE' is-struct='yes' naming-typedef-id='type-id-37' visibility='default' is-declaration-only='yes' id='type-id-35'/>
-    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-64'/>
     <class-decl name='__mbstate_t' is-struct='yes' naming-typedef-id='type-id-48' visibility='default' is-declaration-only='yes' id='type-id-47'/>
     <class-decl name='div_t' size-in-bits='64' is-struct='yes' naming-typedef-id='type-id-40' visibility='default' is-declaration-only='yes' id='type-id-39'/>
     <class-decl name='imaxdiv_t' size-in-bits='128' is-struct='yes' naming-typedef-id='type-id-32' visibility='default' is-declaration-only='yes' id='type-id-31'/>
-    <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-107'/>
+    <class-decl name='lconv' size-in-bits='768' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-110'/>
     <class-decl name='ldiv_t' is-struct='yes' naming-typedef-id='type-id-42' visibility='default' is-declaration-only='yes' id='type-id-41'/>
     <class-decl name='lldiv_t' is-struct='yes' naming-typedef-id='type-id-44' visibility='default' is-declaration-only='yes' id='type-id-43'/>
-    <class-decl name='tm' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-91'/>
+    <class-decl name='tm' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-94'/>
     <namespace-decl name='std'>
-      <enum-decl name='memory_order' naming-typedef-id='type-id-133' is-declaration-only='yes' id='type-id-134'>
+      <enum-decl name='memory_order' naming-typedef-id='type-id-136' is-declaration-only='yes' id='type-id-137'>
         <underlying-type type-id='type-id-21'/>
       </enum-decl>
-      <typedef-decl name='memory_order' type-id='type-id-134' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='63' column='1' id='type-id-133'/>
+      <typedef-decl name='memory_order' type-id='type-id-137' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='63' column='1' id='type-id-136'/>
       <typedef-decl name='size_t' type-id='type-id-24' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++config.h' line='196' column='1' id='type-id-27'/>
-      <typedef-decl name='ptrdiff_t' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++config.h' line='197' column='1' id='type-id-135'/>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <typedef-decl name='ptrdiff_t' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0/bits/c++config.h' line='197' column='1' id='type-id-138'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-139'>
         <member-type access='private'>
-          <typedef-decl name='size_type' type-id='type-id-27' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='236' column='1' id='type-id-136'/>
+          <typedef-decl name='size_type' type-id='type-id-27' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='236' column='1' id='type-id-140'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='size' mangled-name='_ZNKSt6vectorImSaImEE4sizeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='654' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-28'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='resize' mangled-name='_ZNSt6vectorIcSaIcEE6resizeEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='673' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='data' mangled-name='_ZNSt6vectorIhSaIhEE4dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-123'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-126'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_erase_at_end' mangled-name='_ZNSt6vectorIcSaIcEE15_M_erase_at_endEPc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1436' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-137'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-141'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_check_len' mangled-name='_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1422' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-136'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-140'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_default_append' mangled-name='_ZNSt6vectorIcSaIcEE17_M_default_appendEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIhSaIhEE17_M_default_appendEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-142'>
         <member-type access='public'>
-          <typedef-decl name='_Tp_alloc_type' type-id='type-id-139' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='75' column='1' id='type-id-138'/>
+          <typedef-decl name='_Tp_alloc_type' type-id='type-id-144' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='75' column='1' id='type-id-143'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='_M_allocate' mangled-name='_ZNSt12_Vector_baseImSaImEE11_M_allocateEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='167' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-137'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_M_deallocate' mangled-name='_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='174' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-137'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-141'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-145'>
         <member-type access='public'>
-          <typedef-decl name='allocator_type' type-id='type-id-140' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='445' column='1' id='type-id-111'/>
+          <typedef-decl name='allocator_type' type-id='type-id-146' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='445' column='1' id='type-id-114'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='pointer' type-id='type-id-123' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='450' column='1' id='type-id-137'/>
+          <typedef-decl name='pointer' type-id='type-id-126' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='450' column='1' id='type-id-141'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;unsigned char&gt;' type-id='type-id-140' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-141'/>
+          <typedef-decl name='rebind_alloc&lt;unsigned char&gt;' type-id='type-id-146' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-147'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='allocate' mangled-name='_ZNSt16allocator_traitsISaImEE8allocateERS0_m' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='490' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
+            <parameter type-id='type-id-115'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-137'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='deallocate' mangled-name='_ZNSt16allocator_traitsISaImEE10deallocateERS0_Pmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='516' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
-            <parameter type-id='type-id-137'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-141'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-148'>
         <member-type access='public'>
-          <typedef-decl name='__int_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='241' column='1' id='type-id-142'/>
+          <typedef-decl name='__int_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='241' column='1' id='type-id-149'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='__atomic_base' mangled-name='_ZNSt13__atomic_baseIjEC2Ej' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-142'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-149'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fetch_sub' mangled-name='_ZNSt13__atomic_baseIjE9fetch_subEjSt12memory_order' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='522' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-142'/>
-            <parameter type-id='type-id-133'/>
-            <return type-id='type-id-142'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-149'/>
+            <parameter type-id='type-id-136'/>
+            <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='load' mangled-name='_ZNKSt13__atomic_baseIjE4loadESt12memory_order' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-133'/>
-            <return type-id='type-id-142'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-136'/>
+            <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-150'>
         <member-type access='public'>
-          <typedef-decl name='__integral_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/atomic' line='626' column='1' id='type-id-143'/>
+          <typedef-decl name='__integral_type' type-id='type-id-23' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/atomic' line='626' column='1' id='type-id-151'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='atomic' mangled-name='_ZNSt6atomicIjEC2Ej' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/atomic' line='635' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-143'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-151'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-152'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_default_n&lt;unsigned char *, unsigned long&gt;' mangled-name='_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPhmEET_S3_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-123'/>
+            <parameter type-id='type-id-126'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-123'/>
+            <return type-id='type-id-126'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-153'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;unsigned char&gt;' mangled-name='_ZNSt11__copy_moveILb1ELb1ESt26random_access_iterator_tagE8__copy_mIhEEPT_PKS3_S6_S4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-96'/>
-            <parameter type-id='type-id-96'/>
-            <parameter type-id='type-id-123'/>
-            <return type-id='type-id-123'/>
+            <parameter type-id='type-id-99'/>
+            <parameter type-id='type-id-99'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-126'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-154'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;unsigned char *&gt;, unsigned char *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPhES3_EET0_T_S6_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-123'/>
-            <return type-id='type-id-123'/>
+            <parameter type-id='type-id-155'/>
+            <parameter type-id='type-id-155'/>
+            <parameter type-id='type-id-126'/>
+            <return type-id='type-id-126'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-155'/>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-156'>
         <member-type access='public'>
-          <typedef-decl name='const_pointer' type-id='type-id-72' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='453' column='1' id='type-id-144'/>
+          <typedef-decl name='const_pointer' type-id='type-id-75' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='453' column='1' id='type-id-157'/>
         </member-type>
       </class-decl>
-      <class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' is-declaration-only='yes' id='type-id-145'/>
-      <class-decl name='basic_ios&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2112' visibility='default' is-declaration-only='yes' id='type-id-115'>
+      <class-decl name='allocator&lt;char&gt;' size-in-bits='8' visibility='default' is-declaration-only='yes' id='type-id-158'/>
+      <class-decl name='basic_ios&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2112' visibility='default' is-declaration-only='yes' id='type-id-118'>
         <member-function access='public'>
           <function-decl name='rdstate' mangled-name='_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='137' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-146' is-artificial='yes'/>
-            <return type-id='type-id-147'/>
+            <parameter type-id='type-id-159' is-artificial='yes'/>
+            <return type-id='type-id-160'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setstate' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-116' is-artificial='yes'/>
-            <parameter type-id='type-id-147'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-119' is-artificial='yes'/>
+            <parameter type-id='type-id-160'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='eof' mangled-name='_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='190' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-146' is-artificial='yes'/>
+            <parameter type-id='type-id-159' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fail' mangled-name='_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='201' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-146' is-artificial='yes'/>
+            <parameter type-id='type-id-159' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_ios' mangled-name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_ios.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-116' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-119' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_iostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2304' visibility='default' is-declaration-only='yes' id='type-id-117'>
+      <class-decl name='basic_iostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2304' visibility='default' is-declaration-only='yes' id='type-id-120'>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_iostream' mangled-name='_ZNSdD2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/istream' line='856' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-118' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-121' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2240' visibility='default' is-declaration-only='yes' id='type-id-119'>
+      <class-decl name='basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2240' visibility='default' is-declaration-only='yes' id='type-id-122'>
         <member-function access='public'>
           <function-decl name='gcount' mangled-name='_ZNKSi6gcountEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/istream' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-148' is-artificial='yes'/>
-            <return type-id='type-id-149'/>
+            <parameter type-id='type-id-161' is-artificial='yes'/>
+            <return type-id='type-id-162'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_istream' mangled-name='_ZNSiD2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/istream' line='103' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-120' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-123' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_streambuf&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='512' visibility='default' is-declaration-only='yes' id='type-id-121'>
+      <class-decl name='basic_streambuf&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='512' visibility='default' is-declaration-only='yes' id='type-id-124'>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_streambuf' mangled-name='_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/streambuf' line='197' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-122' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-125' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='rebind_alloc&lt;unsigned char&gt;' naming-typedef-id='type-id-141' visibility='default' is-declaration-only='yes' id='type-id-140'/>
+      <class-decl name='rebind_alloc&lt;unsigned char&gt;' naming-typedef-id='type-id-147' visibility='default' is-declaration-only='yes' id='type-id-146'/>
       <namespace-decl name='__cxx11'>
-        <class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='256' visibility='default' is-declaration-only='yes' id='type-id-85'>
+        <class-decl name='basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='256' visibility='default' is-declaration-only='yes' id='type-id-88'>
           <member-type access='private'>
-            <typedef-decl name='size_type' type-id='type-id-151' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='82' column='1' id='type-id-150'/>
+            <typedef-decl name='size_type' type-id='type-id-164' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='82' column='1' id='type-id-163'/>
           </member-type>
           <member-type access='private'>
-            <typedef-decl name='pointer' type-id='type-id-153' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='86' column='1' id='type-id-152'/>
+            <typedef-decl name='pointer' type-id='type-id-166' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='86' column='1' id='type-id-165'/>
           </member-type>
           <member-type access='private'>
-            <typedef-decl name='const_pointer' type-id='type-id-155' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='87' column='1' id='type-id-154'/>
+            <typedef-decl name='const_pointer' type-id='type-id-168' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='87' column='1' id='type-id-167'/>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+            <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-169'>
               <member-function access='public'>
                 <function-decl name='_Alloc_hider' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-                  <parameter type-id='type-id-63' is-artificial='yes'/>
-                  <parameter type-id='type-id-152'/>
-                  <parameter type-id='type-id-156'/>
-                  <return type-id='type-id-126'/>
+                  <parameter type-id='type-id-65' is-artificial='yes'/>
+                  <parameter type-id='type-id-165'/>
+                  <parameter type-id='type-id-170'/>
+                  <return type-id='type-id-129'/>
                 </function-decl>
               </member-function>
             </class-decl>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+            <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-171'/>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+            <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-172'/>
           </member-type>
           <member-type access='private'>
-            <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+            <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-173'/>
           </member-type>
           <member-function access='public' destructor='yes'>
             <function-decl name='~basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='542' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_data' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <return type-id='type-id-152'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <return type-id='type-id-165'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='c_str' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1887' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <return type-id='type-id-72'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <return type-id='type-id-75'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_is_local' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_dispose' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='177' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_local_data' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <return type-id='type-id-154'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <return type-id='type-id-167'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_destroy' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='184' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='data' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1897' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <return type-id='type-id-72'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <return type-id='type-id-75'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='length' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='721' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <return type-id='type-id-150'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <return type-id='type-id-163'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='empty' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='816' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='assign' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1093' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-157'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-174'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='550' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-157'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-174'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='size' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='715' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <return type-id='type-id-150'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <return type-id='type-id-163'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='398' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-157'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-174'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='454' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-156'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-170'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='444' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-156'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-170'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='basic_string' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-159'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-176'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_local_data' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <return type-id='type-id-152'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <return type-id='type-id-165'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_length' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_set_length' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='162' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-60'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-177'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct_aux&lt;char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPcEEvT_S7_St12__false_type' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-60'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-177'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-64'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_data' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-152'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-165'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_capacity' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='_S_copy' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='_S_copy_chars' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='340' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-64'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-66'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='587' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-159'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-176'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;const char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-60'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-177'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct_aux&lt;const char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-60'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-177'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_construct&lt;const char *&gt;' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-72'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-75'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='_S_copy_chars' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='344' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-64'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-72'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-66'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-75'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='append' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='982' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-157'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-174'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator+=' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='941' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-157'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-174'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='append' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1024' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='_M_check_length' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='268' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-72'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-75'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='append' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1011' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='substr' mangled-name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='2293' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-87' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-85'/>
+              <parameter type-id='type-id-90' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-88'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='replace' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1578' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-72'/>
-              <parameter type-id='type-id-150'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-75'/>
+              <parameter type-id='type-id-163'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='insert' mangled-name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-113' is-artificial='yes'/>
-              <parameter type-id='type-id-150'/>
-              <parameter type-id='type-id-72'/>
-              <return type-id='type-id-158'/>
+              <parameter type-id='type-id-116' is-artificial='yes'/>
+              <parameter type-id='type-id-163'/>
+              <parameter type-id='type-id-75'/>
+              <return type-id='type-id-175'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='basic_stringbuf&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='832' visibility='default' is-declaration-only='yes' id='type-id-160'/>
-        <class-decl name='basic_stringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3136' visibility='default' is-declaration-only='yes' id='type-id-88'>
+        <class-decl name='basic_stringbuf&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='832' visibility='default' is-declaration-only='yes' id='type-id-178'/>
+        <class-decl name='basic_stringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3136' visibility='default' is-declaration-only='yes' id='type-id-91'>
           <member-type access='private'>
-            <typedef-decl name='__string_type' type-id='type-id-85' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='669' column='1' id='type-id-161'/>
+            <typedef-decl name='__string_type' type-id='type-id-88' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='669' column='1' id='type-id-179'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='str' mangled-name='_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='765' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-90' is-artificial='yes'/>
-              <return type-id='type-id-161'/>
+              <parameter type-id='type-id-93' is-artificial='yes'/>
+              <return type-id='type-id-179'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='0'>
             <function-decl name='~basic_stringstream' mangled-name='_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/sstream' line='717' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-114' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-117' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-180'>
         <member-type access='public'>
-          <typedef-decl name='pointer' type-id='type-id-137' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='104' column='1' id='type-id-153'/>
+          <typedef-decl name='pointer' type-id='type-id-141' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='104' column='1' id='type-id-166'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-181'>
             <member-type access='public'>
-              <typedef-decl name='other' type-id='type-id-141' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='169' column='1' id='type-id-139'/>
+              <typedef-decl name='other' type-id='type-id-147' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='169' column='1' id='type-id-144'/>
             </member-type>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-182'>
         <member-function access='public'>
           <function-decl name='allocate' mangled-name='_ZN9__gnu_cxx13new_allocatorImE8allocateEmPKv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-127'/>
-            <return type-id='type-id-153'/>
+            <parameter type-id='type-id-130'/>
+            <return type-id='type-id-166'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='deallocate' mangled-name='_ZN9__gnu_cxx13new_allocatorImE10deallocateEPmm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-153'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-166'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-183'>
         <member-type access='public'>
-          <typedef-decl name='const_pointer' type-id='type-id-144' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='105' column='1' id='type-id-155'/>
+          <typedef-decl name='const_pointer' type-id='type-id-157' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='105' column='1' id='type-id-168'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='size_type' type-id='type-id-136' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='106' column='1' id='type-id-151'/>
+          <typedef-decl name='size_type' type-id='type-id-140' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='106' column='1' id='type-id-164'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-184'/>
     </namespace-decl>
     <function-decl name='isalnum' filepath='/usr/include/ctype.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
@@ -1072,52 +1072,52 @@
       <return type-id='type-id-32'/>
     </function-decl>
     <function-decl name='strtoimax' filepath='/usr/include/inttypes.h' line='324' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-33'/>
     </function-decl>
     <function-decl name='strtoumax' filepath='/usr/include/inttypes.h' line='336' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-34'/>
     </function-decl>
     <function-decl name='wcstoimax' filepath='/usr/include/inttypes.h' line='348' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-33'/>
     </function-decl>
     <function-decl name='wcstoumax' filepath='/usr/include/inttypes.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-34'/>
     </function-decl>
     <function-decl name='setlocale' filepath='/usr/include/locale.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <parameter type-id='type-id-72'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='localeconv' filepath='/usr/include/locale.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <return type-id='type-id-108'/>
+      <return type-id='type-id-111'/>
     </function-decl>
     <function-decl name='remove' filepath='/usr/include/stdio.h' line='178' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='rename' filepath='/usr/include/stdio.h' line='180' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='tmpfile' filepath='/usr/include/stdio.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
       <return type-id='type-id-56'/>
     </function-decl>
     <function-decl name='tmpnam' filepath='/usr/include/stdio.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-64'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-66'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='fclose' filepath='/usr/include/stdio.h' line='237' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
@@ -1128,103 +1128,103 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fopen' filepath='/usr/include/stdio.h' line='272' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-76'/>
       <return type-id='type-id-56'/>
     </function-decl>
     <function-decl name='freopen' filepath='/usr/include/stdio.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-56'/>
     </function-decl>
     <function-decl name='setbuf' filepath='/usr/include/stdio.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-65'/>
-      <return type-id='type-id-126'/>
+      <parameter type-id='type-id-67'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='setvbuf' filepath='/usr/include/stdio.h' line='336' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fprintf' filepath='/usr/include/stdio.h' line='356' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='printf' filepath='/usr/include/stdio.h' line='362' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='sprintf' filepath='/usr/include/stdio.h' line='364' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vfprintf' filepath='/usr/include/stdio.h' line='371' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vsprintf' filepath='/usr/include/stdio.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64'>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='snprintf' filepath='/usr/include/stdio.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vsnprintf' filepath='/usr/include/stdio.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fscanf' filepath='/usr/include/stdio.h' line='425' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='scanf' filepath='/usr/include/stdio.h' line='431' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='sscanf' filepath='/usr/include/stdio.h' line='433' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-76'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vfscanf' filepath='/usr/include/stdio.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vscanf' filepath='/usr/include/stdio.h' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vsscanf' filepath='/usr/include/stdio.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fgetc' filepath='/usr/include/stdio.h' line='531' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1246,18 +1246,18 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fgets' filepath='/usr/include/stdio.h' line='622' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-57'/>
-      <return type-id='type-id-64'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='fputs' filepath='/usr/include/stdio.h' line='689' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='puts' filepath='/usr/include/stdio.h' line='695' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='ungetc' filepath='/usr/include/stdio.h' line='702' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1266,14 +1266,14 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fread' filepath='/usr/include/stdio.h' line='709' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-128'/>
+      <parameter type-id='type-id-131'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-57'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='fwrite' filepath='/usr/include/stdio.h' line='715' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-128'/>
+      <parameter type-id='type-id-131'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-57'/>
@@ -1291,21 +1291,21 @@
     </function-decl>
     <function-decl name='rewind' filepath='/usr/include/stdio.h' line='759' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='fgetpos' filepath='/usr/include/stdio.h' line='798' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-57'/>
-      <parameter type-id='type-id-104'/>
+      <parameter type-id='type-id-107'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fsetpos' filepath='/usr/include/stdio.h' line='803' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <parameter type-id='type-id-80'/>
+      <parameter type-id='type-id-83'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='clearerr' filepath='/usr/include/stdio.h' line='826' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='feof' filepath='/usr/include/stdio.h' line='828' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-56'/>
@@ -1316,58 +1316,58 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='perror' filepath='/usr/include/stdio.h' line='846' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <return type-id='type-id-126'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='strtod' filepath='/usr/include/stdlib.h' line='164' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='strtof' filepath='/usr/include/stdlib.h' line='172' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='strtold' filepath='/usr/include/stdlib.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='strtol' filepath='/usr/include/stdlib.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='strtoul' filepath='/usr/include/stdlib.h' line='187' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-24'/>
     </function-decl>
     <function-decl name='strtoll' filepath='/usr/include/stdlib.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-19'/>
     </function-decl>
     <function-decl name='strtoull' filepath='/usr/include/stdlib.h' line='214' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-69'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-20'/>
     </function-decl>
     <function-decl name='atoi' filepath='/usr/include/stdlib.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='atol' filepath='/usr/include/stdlib.h' line='283' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='atoll' filepath='/usr/include/stdlib.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-19'/>
     </function-decl>
     <function-decl name='rand' filepath='/usr/include/stdlib.h' line='374' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1375,63 +1375,63 @@
     </function-decl>
     <function-decl name='srand' filepath='/usr/include/stdlib.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-23'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='malloc' filepath='/usr/include/stdlib.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='calloc' filepath='/usr/include/stdlib.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='realloc' filepath='/usr/include/stdlib.h' line='480' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='free' filepath='/usr/include/stdlib.h' line='483' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
-      <return type-id='type-id-126'/>
+      <parameter type-id='type-id-130'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='abort' filepath='/usr/include/stdlib.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='atexit' filepath='/usr/include/stdlib.h' line='519' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-128'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='at_quick_exit' filepath='/usr/include/stdlib.h' line='524' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-125'/>
+      <parameter type-id='type-id-128'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='exit' filepath='/usr/include/stdlib.h' line='543' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='quick_exit' filepath='/usr/include/stdlib.h' line='549' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='_Exit' filepath='/usr/include/stdlib.h' line='557' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='getenv' filepath='/usr/include/stdlib.h' line='564' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='system' filepath='/usr/include/stdlib.h' line='716' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='qsort' filepath='/usr/include/stdlib.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-46'/>
-      <return type-id='type-id-126'/>
+      <return type-id='type-id-129'/>
     </function-decl>
     <function-decl name='abs' filepath='/usr/include/stdlib.h' line='774' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
@@ -1461,279 +1461,279 @@
       <return type-id='type-id-44'/>
     </function-decl>
     <function-decl name='mblen' filepath='/usr/include/stdlib.h' line='862' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='mbtowc' filepath='/usr/include/stdlib.h' line='865' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wctomb' filepath='/usr/include/stdlib.h' line='869' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-64'/>
+      <parameter type-id='type-id-66'/>
       <parameter type-id='type-id-26'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='mbstowcs' filepath='/usr/include/stdlib.h' line='873' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcstombs' filepath='/usr/include/stdlib.h' line='876' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-102'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='memcpy' filepath='/usr/include/string.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-128'/>
-      <parameter type-id='type-id-128'/>
+      <parameter type-id='type-id-131'/>
+      <parameter type-id='type-id-131'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='memmove' filepath='/usr/include/string.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='memset' filepath='/usr/include/string.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='memcmp' filepath='/usr/include/string.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='memchr' filepath='/usr/include/string.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='strcpy' filepath='/usr/include/string.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strncpy' filepath='/usr/include/string.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-64'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strcat' filepath='/usr/include/string.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strncat' filepath='/usr/include/string.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-64'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strcmp' filepath='/usr/include/string.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='strncmp' filepath='/usr/include/string.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='strcoll' filepath='/usr/include/string.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='strxfrm' filepath='/usr/include/string.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='strchr' filepath='/usr/include/string.h' line='231' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-64'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strrchr' filepath='/usr/include/string.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-64'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strcspn' filepath='/usr/include/string.h' line='280' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='strspn' filepath='/usr/include/string.h' line='284' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='strpbrk' filepath='/usr/include/string.h' line='310' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strstr' filepath='/usr/include/string.h' line='337' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
-      <parameter type-id='type-id-72'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-75'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strtok' filepath='/usr/include/string.h' line='343' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-73'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-76'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='strlen' filepath='/usr/include/string.h' line='394' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='strerror' filepath='/usr/include/string.h' line='408' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-16'/>
-      <return type-id='type-id-64'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='wcscpy' filepath='/usr/include/wchar.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
-      <return type-id='type-id-129'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcsncpy' filepath='/usr/include/wchar.h' line='152' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcscat' filepath='/usr/include/wchar.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
-      <return type-id='type-id-129'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcsncat' filepath='/usr/include/wchar.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcscmp' filepath='/usr/include/wchar.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcsncmp' filepath='/usr/include/wchar.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcscoll' filepath='/usr/include/wchar.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wcsxfrm' filepath='/usr/include/wchar.h' line='199' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcschr' filepath='/usr/include/wchar.h' line='230' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcsrchr' filepath='/usr/include/wchar.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
       <parameter type-id='type-id-26'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcscspn' filepath='/usr/include/wchar.h' line='255' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcsspn' filepath='/usr/include/wchar.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcspbrk' filepath='/usr/include/wchar.h' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
-      <return type-id='type-id-129'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcsstr' filepath='/usr/include/wchar.h' line='280' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
-      <return type-id='type-id-129'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcstok' filepath='/usr/include/wchar.h' line='285' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
-      <return type-id='type-id-129'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wcslen' filepath='/usr/include/wchar.h' line='290' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wmemchr' filepath='/usr/include/wchar.h' line='323' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
       <parameter type-id='type-id-26'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wmemcmp' filepath='/usr/include/wchar.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-98'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-101'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wmemcpy' filepath='/usr/include/wchar.h' line='332' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-102'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wmemmove' filepath='/usr/include/wchar.h' line='337' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-129'/>
-      <parameter type-id='type-id-98'/>
+      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-101'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='wmemset' filepath='/usr/include/wchar.h' line='341' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-129'/>
+      <parameter type-id='type-id-132'/>
       <parameter type-id='type-id-26'/>
       <parameter type-id='type-id-54'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='mbsinit' filepath='/usr/include/wchar.h' line='364' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-84'/>
+      <parameter type-id='type-id-87'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='mbrtowc' filepath='/usr/include/wchar.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-113'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcrtomb' filepath='/usr/include/wchar.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-26'/>
-      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-113'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='btowc' filepath='/usr/include/wchar.h' line='391' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1745,61 +1745,61 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='mbrlen' filepath='/usr/include/wchar.h' line='402' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
+      <parameter type-id='type-id-76'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-113'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='mbsrtowcs' filepath='/usr/include/wchar.h' line='411' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
-      <parameter type-id='type-id-75'/>
+      <parameter type-id='type-id-133'/>
+      <parameter type-id='type-id-78'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-113'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcsrtombs' filepath='/usr/include/wchar.h' line='417' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
-      <parameter type-id='type-id-101'/>
+      <parameter type-id='type-id-67'/>
+      <parameter type-id='type-id-104'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-110'/>
+      <parameter type-id='type-id-113'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='wcstod' filepath='/usr/include/wchar.h' line='453' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='wcstof' filepath='/usr/include/wchar.h' line='460' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='wcstold' filepath='/usr/include/wchar.h' line='462' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='wcstol' filepath='/usr/include/wchar.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-18'/>
     </function-decl>
     <function-decl name='wcstoul' filepath='/usr/include/wchar.h' line='476' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-24'/>
     </function-decl>
     <function-decl name='wcstoll' filepath='/usr/include/wchar.h' line='486' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-19'/>
     </function-decl>
     <function-decl name='wcstoull' filepath='/usr/include/wchar.h' line='493' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-132'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-135'/>
       <parameter type-id='type-id-16'/>
       <return type-id='type-id-20'/>
     </function-decl>
@@ -1810,72 +1810,72 @@
     </function-decl>
     <function-decl name='fwprintf' filepath='/usr/include/wchar.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-59'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wprintf' filepath='/usr/include/wchar.h' line='604' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='swprintf' filepath='/usr/include/wchar.h' line='607' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-133'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vfwprintf' filepath='/usr/include/wchar.h' line='615' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-59'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vwprintf' filepath='/usr/include/wchar.h' line='623' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vswprintf' filepath='/usr/include/wchar.h' line='628' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-133'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fwscanf' filepath='/usr/include/wchar.h' line='638' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-59'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wscanf' filepath='/usr/include/wchar.h' line='645' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='swscanf' filepath='/usr/include/wchar.h' line='648' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
       <parameter is-variadic='yes'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vfwscanf' filepath='/usr/include/wchar.h' line='692' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-59'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vwscanf' filepath='/usr/include/wchar.h' line='700' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='vswscanf' filepath='/usr/include/wchar.h' line='704' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='fgetwc' filepath='/usr/include/wchar.h' line='748' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1904,13 +1904,13 @@
       <return type-id='type-id-55'/>
     </function-decl>
     <function-decl name='fgetws' filepath='/usr/include/wchar.h' line='777' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-133'/>
       <parameter type-id='type-id-16'/>
       <parameter type-id='type-id-59'/>
-      <return type-id='type-id-129'/>
+      <return type-id='type-id-132'/>
     </function-decl>
     <function-decl name='fputws' filepath='/usr/include/wchar.h' line='784' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-99'/>
+      <parameter type-id='type-id-102'/>
       <parameter type-id='type-id-59'/>
       <return type-id='type-id-16'/>
     </function-decl>
@@ -1920,10 +1920,10 @@
       <return type-id='type-id-55'/>
     </function-decl>
     <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='858' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-133'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-94'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-97'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='iswalnum' filepath='/usr/include/wctype.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1975,7 +1975,7 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='wctype' filepath='/usr/include/wctype.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-50'/>
     </function-decl>
     <function-decl name='iswctype' filepath='/usr/include/wctype.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -1992,7 +1992,7 @@
       <return type-id='type-id-55'/>
     </function-decl>
     <function-decl name='wctrans' filepath='/usr/include/wctype.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-52'/>
     </function-decl>
     <function-decl name='towctrans' filepath='/usr/include/wctype.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2083,7 +2083,7 @@
     </function-decl>
     <function-decl name='frexp' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='103' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-14'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-109'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='ldexp' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2101,7 +2101,7 @@
     </function-decl>
     <function-decl name='modf' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-14'/>
-      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-105'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='expm1' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2233,15 +2233,15 @@
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='nan' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='nanf' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='nanl' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='228' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='erf' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2430,19 +2430,19 @@
     <function-decl name='remquo' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-14'/>
       <parameter type-id='type-id-14'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-109'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='remquof' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-15'/>
       <parameter type-id='type-id-15'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-109'/>
       <return type-id='type-id-15'/>
     </function-decl>
     <function-decl name='remquol' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64'>
       <parameter type-id='type-id-17'/>
       <parameter type-id='type-id-17'/>
-      <parameter type-id='type-id-106'/>
+      <parameter type-id='type-id-109'/>
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='lrint' filepath='/usr/include/x86_64-linux-gnu/bits/mathcalls.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2557,8 +2557,8 @@
       <return type-id='type-id-17'/>
     </function-decl>
     <function-decl name='vprintf' filepath='/usr/include/x86_64-linux-gnu/bits/stdio.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-63'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-65'/>
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='getchar' filepath='/usr/include/x86_64-linux-gnu/bits/stdio.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'>
@@ -2569,15 +2569,15 @@
       <return type-id='type-id-16'/>
     </function-decl>
     <function-decl name='bsearch' filepath='/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h' line='20' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-127'/>
-      <parameter type-id='type-id-127'/>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-130'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-54'/>
       <parameter type-id='type-id-46'/>
-      <return type-id='type-id-127'/>
+      <return type-id='type-id-130'/>
     </function-decl>
     <function-decl name='atof' filepath='/usr/include/x86_64-linux-gnu/bits/stdlib-float.h' line='26' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <namespace-decl name='mongoutils'>
@@ -2585,29 +2585,29 @@
         <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [25]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA25_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-78'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-81'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;int&gt;' mangled-name='_ZN10mongoutils3str6streamlsIiEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-82'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-85'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [21]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA21_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-76'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-79'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [24]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA24_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-77'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-80'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -2615,82 +2615,82 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-185'>
         <member-function access='public'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithISt6vectorINS_7BSONObjESaIS2_EEEC2ENS_6StatusE' filepath='src/mongo/base/status_with.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithISt6vectorINS_7BSONObjESaIS2_EEEC2ENS_10ErrorCodes5ErrorERKN10mongoutils3str6streamE' filepath='src/mongo/base/status_with.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-162'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-70'>
         <member-function access='public'>
           <function-decl name='ConstDataRange' mangled-name='_ZN5mongo14ConstDataRangeC2EPKcS2_l' filepath='src/mongo/base/data_range.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='ConstDataRange' mangled-name='_ZN5mongo14ConstDataRangeC2EPKcml' filepath='src/mongo/base/data_range.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-27'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='data' mangled-name='_ZNK5mongo14ConstDataRange4dataEv' filepath='src/mongo/base/data_range.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-72'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-75'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='length' mangled-name='_ZNK5mongo14ConstDataRange6lengthEv' filepath='src/mongo/base/data_range.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-54'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-187'>
         <member-type access='private'>
-          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-162'>
+          <enum-decl name='__anonymous_enum__' is-anonymous='yes' is-declaration-only='yes' id='type-id-186'>
             <underlying-type type-id='type-id-21'/>
           </enum-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-188'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-189'>
             <member-function access='public'>
               <function-decl name='Holder' mangled-name='_ZN5mongo12SharedBuffer6HolderC2Ejm' filepath='src/mongo/util/shared_buffer.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <parameter type-id='type-id-163'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <parameter type-id='type-id-190'/>
                 <parameter type-id='type-id-54'/>
-                <return type-id='type-id-126'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public'>
               <function-decl name='data' mangled-name='_ZN5mongo12SharedBuffer6Holder4dataEv' filepath='src/mongo/util/shared_buffer.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-64'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-66'/>
               </function-decl>
             </member-function>
             <member-function access='public'>
               <function-decl name='isShared' mangled-name='_ZNK5mongo12SharedBuffer6Holder8isSharedEv' filepath='src/mongo/util/shared_buffer.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-70' is-artificial='yes'/>
+                <parameter type-id='type-id-73' is-artificial='yes'/>
                 <return type-id='type-id-1'/>
               </function-decl>
             </member-function>
@@ -2698,1200 +2698,1200 @@
         </member-type>
         <member-function access='public'>
           <function-decl name='SharedBuffer' mangled-name='_ZN5mongo12SharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='allocate' mangled-name='_ZN5mongo12SharedBuffer8allocateEm' filepath='src/mongo/util/shared_buffer.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-188'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='takeOwnership' mangled-name='_ZN5mongo12SharedBuffer13takeOwnershipEPvm' filepath='src/mongo/util/shared_buffer.h' line='149' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-127'/>
+            <parameter type-id='type-id-130'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-188'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='get' mangled-name='_ZNK5mongo21SharedBufferAllocator3getEv' filepath='src/mongo/util/shared_buffer.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-64'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='realloc' mangled-name='_ZN5mongo21SharedBufferAllocator7reallocEm' filepath='src/mongo/util/shared_buffer.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-191'>
         <member-type access='private'>
-          <typedef-decl name='WordType' type-id='type-id-23' filepath='src/mongo/platform/atomic_word.h' line='54' column='1' id='type-id-163'/>
+          <typedef-decl name='WordType' type-id='type-id-23' filepath='src/mongo/platform/atomic_word.h' line='54' column='1' id='type-id-190'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='AtomicWord' mangled-name='_ZN5mongo10AtomicWordIjvEC2Ej' filepath='src/mongo/platform/atomic_word.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-163'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-190'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fetchAndSubtract' mangled-name='_ZN5mongo10AtomicWordIjvE16fetchAndSubtractEj' filepath='src/mongo/platform/atomic_word.h' line='131' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-163'/>
-            <return type-id='type-id-163'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-190'/>
+            <return type-id='type-id-190'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='subtractAndFetch' mangled-name='_ZN5mongo10AtomicWordIjvE16subtractAndFetchEj' filepath='src/mongo/platform/atomic_word.h' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-163'/>
-            <return type-id='type-id-163'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-190'/>
+            <return type-id='type-id-190'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='load' mangled-name='_ZNK5mongo10AtomicWordIjvE4loadEv' filepath='src/mongo/platform/atomic_word.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-163'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-190'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-192'>
         <member-function access='public'>
           <function-decl name='SharedBufferAllocator' mangled-name='_ZN5mongo21SharedBufferAllocatorC2Ev' filepath='src/mongo/bson/util/builder.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='malloc' mangled-name='_ZN5mongo21SharedBufferAllocator6mallocEm' filepath='src/mongo/bson/util/builder.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-193'>
         <member-function access='public'>
           <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='grow' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE4growEi' filepath='src/mongo/bson/util/builder.h' line='287' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-64'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='grow_reallocate' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE15grow_reallocateEi' filepath='src/mongo/bson/util/builder.h' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE15grow_reallocateEi'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_BufBuilder' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEEC2Ei' filepath='src/mongo/bson/util/builder.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEEC2Ei'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-194'>
         <member-function access='public'>
           <function-decl name='StringBuilderImpl' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEEC2Ev' filepath='src/mongo/bson/util/builder.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='append' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE6appendENS_10StringDataE' filepath='src/mongo/bson/util/builder.h' line='469' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsENS_10StringDataE' filepath='src/mongo/bson/util/builder.h' line='439' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-195'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEPKc' filepath='src/mongo/bson/util/builder.h' line='436' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEi' filepath='src/mongo/bson/util/builder.h' line='400' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEc' filepath='src/mongo/bson/util/builder.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-2'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='appendIntegral&lt;int&gt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIiEERS2_T_i' filepath='src/mongo/bson/util/builder.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIiEERS2_T_i'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-195'>
         <member-function access='public'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKcm' filepath='src/mongo/base/string_data.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='copyTo' mangled-name='_ZNK5mongo10StringData6copyToEPcb' filepath='src/mongo/base/string_data.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-64'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-66'/>
             <parameter type-id='type-id-1'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo10StringDataC2EPKc'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKc' filepath='src/mongo/base/string_data.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-196'>
         <member-function access='private'>
           <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2Ev' filepath='src/mongo/base/status.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='OK' mangled-name='_ZN5mongo6Status2OKEv' filepath='src/mongo/base/status.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-196'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-197'>
         <member-function access='public'>
           <function-decl name='compress' mangled-name='_ZN5mongo15BlockCompressor8compressENS_14ConstDataRangeE' filepath='src/mongo/db/ftdc/block_compressor.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15BlockCompressor8compressENS_14ConstDataRangeE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-185'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='uncompress' mangled-name='_ZN5mongo15BlockCompressor10uncompressENS_14ConstDataRangeEm' filepath='src/mongo/db/ftdc/block_compressor.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15BlockCompressor10uncompressENS_14ConstDataRangeEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-185'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-198'>
         <member-function access='public'>
           <function-decl name='operator StringData' mangled-name='_ZN5mongo4ItoAcvNS_10StringDataEEv' filepath='src/mongo/util/itoa.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-62'>
         <member-function access='public'>
           <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='62' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEED2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='95' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='swap' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEE4swapERS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='181' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEaSEOS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator bool' mangled-name='_ZNK5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEcvbEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/operator_bool.hpp' line='12' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator!' mangled-name='_ZNK5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEntEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/operator_bool.hpp' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='get' mangled-name='_ZNK5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEE3getEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='154' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-199'>
         <member-type access='private'>
-          <typedef-decl name='rval_reference_type' type-id='type-id-165' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='777' column='1' id='type-id-164'/>
+          <typedef-decl name='rval_reference_type' type-id='type-id-201' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='777' column='1' id='type-id-200'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalISt6vectorIN5mongo7BSONObjESaIS3_EEEC2Ev' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='786' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalIN5mongo12FTDCBSONUtil8FTDCTypeEEC2EOS3_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='799' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-164'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-200'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-202'>
           <member-function access='protected'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseISt6vectorIN5mongo7BSONObjESaIS4_EEEC2Ev' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='239' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo12FTDCBSONUtil8FTDCTypeEEC2EOS4_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='261' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-165'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-201'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='construct' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo12FTDCBSONUtil8FTDCTypeEE9constructEOS4_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-165'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-201'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-203'>
           <member-type access='public'>
-            <typedef-decl name='rval_reference_type' type-id='type-id-62' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='152' column='1' id='type-id-165'/>
+            <typedef-decl name='rval_reference_type' type-id='type-id-63' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='152' column='1' id='type-id-201'/>
           </member-type>
         </class-decl>
       </namespace-decl>
     </namespace-decl>
-    <function-type size-in-bits='64' id='type-id-105'>
-      <parameter type-id='type-id-127'/>
-      <parameter type-id='type-id-127'/>
+    <function-type size-in-bits='64' id='type-id-108'>
+      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-130'/>
       <return type-id='type-id-16'/>
     </function-type>
-    <function-type size-in-bits='64' id='type-id-124'>
-      <return type-id='type-id-126'/>
+    <function-type size-in-bits='64' id='type-id-127'>
+      <return type-id='type-id-129'/>
     </function-type>
-    <type-decl name='void' id='type-id-126'/>
+    <type-decl name='void' id='type-id-129'/>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/collector.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <typedef-decl name='clock_t' type-id='type-id-166' filepath='/usr/include/time.h' line='59' column='1' id='type-id-167'/>
-    <typedef-decl name='time_t' type-id='type-id-168' filepath='/usr/include/time.h' line='75' column='1' id='type-id-169'/>
-    <typedef-decl name='__clock_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='135' column='1' id='type-id-166'/>
-    <typedef-decl name='__time_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='139' column='1' id='type-id-168'/>
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-170'/>
-    <reference-type-def kind='lvalue' type-id='type-id-170' size-in-bits='64' id='type-id-171'/>
-    <reference-type-def kind='lvalue' type-id='type-id-172' size-in-bits='64' id='type-id-173'/>
-    <qualified-type-def type-id='type-id-70' restrict='yes' id='type-id-174'/>
-    <reference-type-def kind='lvalue' type-id='type-id-10' size-in-bits='64' id='type-id-175'/>
-    <qualified-type-def type-id='type-id-176' const='yes' id='type-id-177'/>
-    <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
-    <qualified-type-def type-id='type-id-179' const='yes' id='type-id-180'/>
-    <reference-type-def kind='lvalue' type-id='type-id-180' size-in-bits='64' id='type-id-181'/>
-    <qualified-type-def type-id='type-id-169' const='yes' id='type-id-182'/>
-    <pointer-type-def type-id='type-id-182' size-in-bits='64' id='type-id-183'/>
-    <reference-type-def kind='lvalue' type-id='type-id-184' size-in-bits='64' id='type-id-185'/>
-    <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-187'/>
-    <reference-type-def kind='rvalue' type-id='type-id-187' size-in-bits='64' id='type-id-188'/>
-    <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-190'/>
-    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-191'/>
-    <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-193'/>
-    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-194'/>
-    <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-195'/>
-    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+    <typedef-decl name='clock_t' type-id='type-id-204' filepath='/usr/include/time.h' line='59' column='1' id='type-id-205'/>
+    <typedef-decl name='time_t' type-id='type-id-206' filepath='/usr/include/time.h' line='75' column='1' id='type-id-207'/>
+    <typedef-decl name='__clock_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='135' column='1' id='type-id-204'/>
+    <typedef-decl name='__time_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/bits/types.h' line='139' column='1' id='type-id-206'/>
+    <qualified-type-def type-id='type-id-65' const='yes' id='type-id-208'/>
+    <reference-type-def kind='lvalue' type-id='type-id-208' size-in-bits='64' id='type-id-209'/>
+    <reference-type-def kind='lvalue' type-id='type-id-210' size-in-bits='64' id='type-id-211'/>
+    <qualified-type-def type-id='type-id-73' restrict='yes' id='type-id-212'/>
+    <reference-type-def kind='lvalue' type-id='type-id-10' size-in-bits='64' id='type-id-213'/>
+    <qualified-type-def type-id='type-id-214' const='yes' id='type-id-215'/>
+    <pointer-type-def type-id='type-id-215' size-in-bits='64' id='type-id-216'/>
+    <qualified-type-def type-id='type-id-217' const='yes' id='type-id-218'/>
+    <reference-type-def kind='lvalue' type-id='type-id-218' size-in-bits='64' id='type-id-219'/>
+    <qualified-type-def type-id='type-id-207' const='yes' id='type-id-220'/>
+    <pointer-type-def type-id='type-id-220' size-in-bits='64' id='type-id-221'/>
+    <reference-type-def kind='lvalue' type-id='type-id-222' size-in-bits='64' id='type-id-223'/>
+    <pointer-type-def type-id='type-id-224' size-in-bits='64' id='type-id-225'/>
+    <reference-type-def kind='rvalue' type-id='type-id-225' size-in-bits='64' id='type-id-226'/>
+    <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-228'/>
+    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-229'/>
+    <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-231'/>
+    <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-232'/>
+    <pointer-type-def type-id='type-id-207' size-in-bits='64' id='type-id-233'/>
+    <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-234'/>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-235'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-236'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-237'>
         <member-type access='private'>
-          <typedef-decl name='iterator' type-id='type-id-172' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='231' column='1' id='type-id-196'/>
+          <typedef-decl name='iterator' type-id='type-id-210' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='231' column='1' id='type-id-238'/>
         </member-type>
         <member-type access='private'>
-          <typedef-decl name='const_iterator' type-id='type-id-198' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='233' column='1' id='type-id-197'/>
+          <typedef-decl name='const_iterator' type-id='type-id-240' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='233' column='1' id='type-id-239'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZNSt6vectorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EESaIS5_EE12emplace_backIJS5_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='begin' mangled-name='_ZNKSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE5beginEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='556' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-197'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-239'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='empty' mangled-name='_ZNKSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE5emptyEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='743' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='begin' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE5beginEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='547' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-196'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-238'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='end' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE3endEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='565' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-196'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-238'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZNSt6vectorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-241'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-242'>
             <member-type access='private'>
-              <typedef-decl name='type' type-id='type-id-187' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='143' column='1' id='type-id-199'/>
+              <typedef-decl name='type' type-id='type-id-225' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='143' column='1' id='type-id-243'/>
             </member-type>
           </class-decl>
         </member-type>
         <member-function access='public'>
           <function-decl name='unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EEC2EOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='205' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~unique_ptr' mangled-name='_ZNSt10unique_ptrIN5mongo14BSONObjBuilderESt14default_deleteIS1_EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='get' mangled-name='_ZNKSt10unique_ptrINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE3getEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='release' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EE7releaseEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator-&gt;' mangled-name='_ZNKSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EEptEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~_Sp_counted_ptr_inplace' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EED0Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EED2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' vtable-offset='2'>
           <function-decl name='_M_dispose' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' vtable-offset='3'>
           <function-decl name='_M_destroy' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='536' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-244'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-245'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' type-id='type-id-201' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-200'/>
+          <typedef-decl name='rebind_alloc&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' type-id='type-id-247' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-246'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt;, std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS2_EEEE9constructIS5_JS5_EEEvRS6_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-248'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::FTDCCollectorInterface *&gt;' mangled-name='_ZNSt10_Head_baseILm0EPN5mongo22FTDCCollectorInterfaceELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-188'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-226'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-249'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCCollectorInterface *, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; , void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJPN5mongo22FTDCCollectorInterfaceESt14default_deleteIS1_EEEC2IS2_JS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-188'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-226'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-250'>
         <member-function access='public'>
           <function-decl name='operator()' mangled-name='_ZNKSt14default_deleteIN5mongo22FTDCCollectorInterfaceEEclEPS1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-187'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-225'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-251'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::FTDCCollectorInterface *, std::default_delete&lt;mongo::FTDCCollectorInterface&gt;, void&gt;' mangled-name='_ZNSt5tupleIJPN5mongo22FTDCCollectorInterfaceESt14default_deleteIS1_EEEC2IS2_S4_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-188'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-226'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-252'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_RS2_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::BSONObj, mongo::Date_t, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_S2_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-253'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-254'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-255'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator-&gt;' mangled-name='_ZNKSt10unique_ptrIN5mongo16OperationContextENS0_14ServiceContext23OperationContextDeleterEEptEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-256'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-257'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-258'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::Date_t &amp;&gt;' mangled-name='_ZNSt10_Head_baseILm2EN5mongo6Date_tELb0EEC2IRS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::Date_t&gt;' mangled-name='_ZNSt10_Head_baseILm2EN5mongo6Date_tELb0EEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-259'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::Date_t &amp;&gt;' mangled-name='_ZNSt11_Tuple_implILm2EJN5mongo6Date_tEEEC2IRS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::Date_t&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJN5mongo6Date_tEEEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-260'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_JRS2_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::BSONObj, mongo::Date_t, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo7BSONObjENS0_6Date_tEEEC2IS1_JS2_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-261'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::BSONObj&gt;' mangled-name='_ZNSt10_Head_baseILm1EN5mongo7BSONObjELb0EEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-262'>
         <member-function access='public'>
           <function-decl name='fetch_add' mangled-name='_ZNSt13__atomic_baseIjE9fetch_addEjSt12memory_order' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/atomic_base.h' line='512' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-142'/>
-            <parameter type-id='type-id-133'/>
-            <return type-id='type-id-142'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-149'/>
+            <parameter type-id='type-id-136'/>
+            <return type-id='type-id-149'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-263'/>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-264'/>
+      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-265'>
         <member-function access='public'>
           <function-decl name='operator()' mangled-name='_ZNKSt14default_deleteIN5mongo14BSONObjBuilderEEclEPS1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-266'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; *&gt;, std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS5_EEES9_EET0_T_SC_SB_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-267'/>
+            <parameter type-id='type-id-267'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-267'>
         <member-function access='public'>
           <function-decl name='operator++' mangled-name='_ZNSt13move_iteratorIPSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEEEppEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='1004' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-268'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS4_EEEEvT_S9_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='rebind_alloc&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' naming-typedef-id='type-id-200' visibility='default' is-declaration-only='yes' id='type-id-201'/>
+      <class-decl name='rebind_alloc&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' naming-typedef-id='type-id-246' visibility='default' is-declaration-only='yes' id='type-id-247'/>
       <namespace-decl name='__cxx11'>
-        <typedef-decl name='string' type-id='type-id-85' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stringfwd.h' line='74' column='1' id='type-id-179'/>
+        <typedef-decl name='string' type-id='type-id-88' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stringfwd.h' line='74' column='1' id='type-id-217'/>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-269'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-270'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-271'>
         <member-function access='public'>
           <function-decl name='construct&lt;std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt;, std::unique_ptr&lt;mongo::FTDCCollectorInterface, std::default_delete&lt;mongo::FTDCCollectorInterface&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS3_EEE9constructIS6_JS6_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='const_iterator' naming-typedef-id='type-id-197' visibility='default' is-declaration-only='yes' id='type-id-198'/>
-      <class-decl name='iterator' naming-typedef-id='type-id-196' visibility='default' is-declaration-only='yes' id='type-id-172'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-272'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-273'/>
+      <class-decl name='const_iterator' naming-typedef-id='type-id-239' visibility='default' is-declaration-only='yes' id='type-id-240'/>
+      <class-decl name='iterator' naming-typedef-id='type-id-238' visibility='default' is-declaration-only='yes' id='type-id-210'>
         <member-function access='public'>
           <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN5mongo22FTDCCollectorInterfaceESt14default_deleteIS3_EESt6vectorIS6_SaIS6_EEEC2ERKS7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='740' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-171'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-209'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator++' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5mongo7BSONObjESt6vectorIS2_SaIS2_EEEppEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='761' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-173'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-211'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <function-decl name='strnlen' filepath='/usr/include/string.h' line='401' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-72'/>
+      <parameter type-id='type-id-75'/>
       <parameter type-id='type-id-54'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='clock' filepath='/usr/include/time.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <return type-id='type-id-167'/>
+      <return type-id='type-id-205'/>
     </function-decl>
     <function-decl name='time' filepath='/usr/include/time.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-195'/>
-      <return type-id='type-id-169'/>
+      <parameter type-id='type-id-233'/>
+      <return type-id='type-id-207'/>
     </function-decl>
     <function-decl name='difftime' filepath='/usr/include/time.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-169'/>
-      <parameter type-id='type-id-169'/>
+      <parameter type-id='type-id-207'/>
+      <parameter type-id='type-id-207'/>
       <return type-id='type-id-14'/>
     </function-decl>
     <function-decl name='mktime' filepath='/usr/include/time.h' line='199' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-63'/>
-      <return type-id='type-id-169'/>
+      <parameter type-id='type-id-65'/>
+      <return type-id='type-id-207'/>
     </function-decl>
     <function-decl name='strftime' filepath='/usr/include/time.h' line='205' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-65'/>
+      <parameter type-id='type-id-67'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-73'/>
-      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-76'/>
+      <parameter type-id='type-id-212'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <function-decl name='gmtime' filepath='/usr/include/time.h' line='239' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-183'/>
-      <return type-id='type-id-63'/>
+      <parameter type-id='type-id-221'/>
+      <return type-id='type-id-65'/>
     </function-decl>
     <function-decl name='localtime' filepath='/usr/include/time.h' line='243' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-183'/>
-      <return type-id='type-id-63'/>
+      <parameter type-id='type-id-221'/>
+      <return type-id='type-id-65'/>
     </function-decl>
     <function-decl name='asctime' filepath='/usr/include/time.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-70'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-73'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='ctime' filepath='/usr/include/time.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-183'/>
-      <return type-id='type-id-64'/>
+      <parameter type-id='type-id-221'/>
+      <return type-id='type-id-66'/>
     </function-decl>
     <function-decl name='wcsftime' filepath='/usr/include/wchar.h' line='858' column='1' visibility='default' binding='global' size-in-bits='64'>
-      <parameter type-id='type-id-130'/>
+      <parameter type-id='type-id-133'/>
       <parameter type-id='type-id-54'/>
-      <parameter type-id='type-id-99'/>
-      <parameter type-id='type-id-174'/>
+      <parameter type-id='type-id-102'/>
+      <parameter type-id='type-id-212'/>
       <return type-id='type-id-54'/>
     </function-decl>
     <namespace-decl name='mongo'>
-      <typedef-decl name='BufBuilder' type-id='type-id-202' filepath='src/mongo/bson/util/builder.h' line='365' column='1' id='type-id-184'/>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <typedef-decl name='BufBuilder' type-id='type-id-274' filepath='src/mongo/bson/util/builder.h' line='365' column='1' id='type-id-222'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-275'>
         <member-function access='public'>
           <function-decl name='add' mangled-name='_ZN5mongo23FTDCCollectorCollection3addESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE' filepath='src/mongo/db/ftdc/collector.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23FTDCCollectorCollection3addESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='collect' mangled-name='_ZN5mongo23FTDCCollectorCollection7collectEPNS_6ClientE' filepath='src/mongo/db/ftdc/collector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo23FTDCCollectorCollection7collectEPNS_6ClientE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-252'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-276'>
         <member-function access='public'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2Ev' filepath='src/mongo/bson/bsonobj.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EOS0_' filepath='src/mongo/bson/bsonobj.h' line='129' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2EPKc' filepath='src/mongo/bson/bsonobj.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='init' mangled-name='_ZN5mongo7BSONObj4initEPKc' filepath='src/mongo/bson/bsonobj.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='objsize' mangled-name='_ZNK5mongo7BSONObj7objsizeEv' filepath='src/mongo/bson/bsonobj.h' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='isValid' mangled-name='_ZNK5mongo7BSONObj7isValidEv' filepath='src/mongo/bson/bsonobj.h' line='366' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='shareOwnershipWith' mangled-name='_ZNR5mongo7BSONObj18shareOwnershipWithENS_17ConstSharedBufferE' filepath='src/mongo/bson/bsonobj.h' line='195' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-195'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-277'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-278'>
         <member-function access='public'>
           <function-decl name='getServiceContext' mangled-name='_ZNK5mongo6Client17getServiceContextEv' filepath='src/mongo/db/client.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-193'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-231'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-279'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-280'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/mongo/base/string_data.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-181'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-219'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='StringData' mangled-name='_ZN5mongo10StringDataC2EPKcmNS0_14TrustedInitTagE' filepath='src/mongo/base/string_data.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-280'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-281'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-282'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-283'>
         <member-function access='public'>
           <function-decl name='ConstSharedBuffer' mangled-name='_ZN5mongo17ConstSharedBufferC2Ev' filepath='src/mongo/util/shared_buffer.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-284'>
         <member-function access='public'>
           <function-decl name='release' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE7releaseEv' filepath='src/mongo/bson/util/builder.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-285'>
         <member-function access='public'>
           <function-decl name='fetchAndAdd' mangled-name='_ZN5mongo10AtomicWordIjvE11fetchAndAddEj' filepath='src/mongo/platform/atomic_word.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-163'/>
-            <return type-id='type-id-163'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-190'/>
+            <return type-id='type-id-190'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-286'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-287'>
         <member-function access='public'>
           <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2Ei' filepath='src/mongo/bson/bsonobjbuilder.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC2Ei'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderC2ERNS_11_BufBuilderINS_21SharedBufferAllocatorEEE' filepath='src/mongo/bson/bsonobjbuilder.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderC2ERNS_11_BufBuilderINS_21SharedBufferAllocatorEEE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-185'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-223'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~BSONObjBuilder' mangled-name='_ZN5mongo14BSONObjBuilderD2Ev' filepath='src/mongo/bson/bsonobjbuilder.h' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilderD2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='subobjStart' mangled-name='_ZN5mongo14BSONObjBuilder11subobjStartENS_10StringDataE' filepath='src/mongo/bson/bsonobjbuilder.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder11subobjStartENS_10StringDataE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-185'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-279'/>
+            <return type-id='type-id-223'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='owned' mangled-name='_ZNK5mongo14BSONObjBuilder5ownedEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='758' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='done' mangled-name='_ZN5mongo14BSONObjBuilder4doneEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='677' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='obj' mangled-name='_ZN5mongo14BSONObjBuilder3objEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder3objEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_done' mangled-name='_ZN5mongo14BSONObjBuilder5_doneEv' filepath='src/mongo/bson/bsonobjbuilder.h' line='775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder5_doneEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-64'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-288'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-289'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIcvE11unsafeStoreERKcPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-175'/>
-                <parameter type-id='type-id-64'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-213'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-290'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerINS_12LittleEndianIxEEvE11unsafeStoreERKS3_PcPm' filepath='src/mongo/base/data_type_endian.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-69'/>
-                <parameter type-id='type-id-64'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-72'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-291'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIivE10unsafeLoadEPiPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-106'/>
-                <parameter type-id='type-id-72'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-109'/>
+                <parameter type-id='type-id-75'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIivE11unsafeStoreERKiPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-82'/>
-                <parameter type-id='type-id-64'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-85'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-292'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerINS_12LittleEndianIyEEvE10unsafeLoadEPS3_PKcPm' filepath='src/mongo/base/data_type_endian.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63'/>
-                <parameter type-id='type-id-72'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65'/>
+                <parameter type-id='type-id-75'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;char&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIcEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-175'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-213'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;char&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIcEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;int&gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadIiEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-106'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-109'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadINS_12LittleEndianIiEEEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;int&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIiEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-82'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-85'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIiEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-293'/>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-294'/>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-295'>
         <member-type access='private'>
-          <typedef-decl name='bytes_type' type-id='type-id-64' filepath='src/mongo/base/data_view.h' line='71' column='1' id='type-id-203'/>
+          <typedef-decl name='bytes_type' type-id='type-id-66' filepath='src/mongo/base/data_view.h' line='71' column='1' id='type-id-296'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;char&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIcEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <parameter type-id='type-id-27'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIiEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <parameter type-id='type-id-27'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-297'>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIiEEEERKS0_PT_m' filepath='src/mongo/base/data_view.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-69'/>
+            <return type-id='type-id-72'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;int&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIiEEEET_m' filepath='src/mongo/base/data_view.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-294'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-298'>
         <member-function access='public'>
           <function-decl name='got' mangled-name='_ZN5mongo15BSONSizeTracker3gotEi' filepath='src/mongo/bson/bsonmisc.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='BufBuilder' naming-typedef-id='type-id-184' visibility='default' is-declaration-only='yes' id='type-id-202'>
+      <class-decl name='BufBuilder' naming-typedef-id='type-id-222' visibility='default' is-declaration-only='yes' id='type-id-274'>
         <member-function access='public'>
           <function-decl name='skip' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE4skipEi' filepath='src/mongo/bson/util/builder.h' line='188' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-64'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='reserveBytes' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE12reserveBytesEi' filepath='src/mongo/bson/util/builder.h' line='301' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='appendNumImpl&lt;char&gt;' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE13appendNumImplIcEEvT_' filepath='src/mongo/bson/util/builder.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-2'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendNum' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendNumEc' filepath='src/mongo/bson/util/builder.h' line='212' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-2'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendStr' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendStrENS_10StringDataEb' filepath='src/mongo/bson/util/builder.h' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-279'/>
             <parameter type-id='type-id-1'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='len' mangled-name='_ZNK5mongo11_BufBuilderINS_21SharedBufferAllocatorEE3lenEv' filepath='src/mongo/bson/util/builder.h' line='275' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='buf' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE3bufEv' filepath='src/mongo/bson/util/builder.h' line='193' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-64'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='claimReservedBytes' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE18claimReservedBytesEi' filepath='src/mongo/bson/util/builder.h' line='315' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='FTDCCollectorInterface' size-in-bits='64' visibility='default' is-declaration-only='yes' id='type-id-186'/>
-      <class-decl name='Locker' size-in-bits='128' visibility='default' is-declaration-only='yes' id='type-id-189'>
+      <class-decl name='FTDCCollectorInterface' size-in-bits='64' visibility='default' is-declaration-only='yes' id='type-id-224'/>
+      <class-decl name='Locker' size-in-bits='128' visibility='default' is-declaration-only='yes' id='type-id-227'>
         <member-function access='public'>
           <function-decl name='setShouldConflictWithSecondaryBatchApplication' mangled-name='_ZN5mongo6Locker46setShouldConflictWithSecondaryBatchApplicationEb' filepath='src/mongo/db/concurrency/locker.h' line='323' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-190' is-artificial='yes'/>
+            <parameter type-id='type-id-228' is-artificial='yes'/>
             <parameter type-id='type-id-1'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='OperationContext' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-176'>
+      <class-decl name='OperationContext' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-214'>
         <member-function access='public'>
           <function-decl name='lockState' mangled-name='_ZNK5mongo16OperationContext9lockStateEv' filepath='src/mongo/db/operation_context.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-178' is-artificial='yes'/>
-            <return type-id='type-id-190'/>
+            <parameter type-id='type-id-216' is-artificial='yes'/>
+            <return type-id='type-id-228'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='ServiceContext' size-in-bits='2432' visibility='default' is-declaration-only='yes' id='type-id-192'/>
+      <class-decl name='ServiceContext' size-in-bits='2432' visibility='default' is-declaration-only='yes' id='type-id-230'/>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-299'>
         <member-function access='public'>
           <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2EOS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='intrusive_ptr' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEC2ERKS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='90' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZN5boost13intrusive_ptrIN5mongo12SharedBuffer6HolderEEaSERKS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/intrusive_ptr.hpp' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
@@ -3899,1055 +3899,1055 @@
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/compressor.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <typedef-decl name='uint32_t' type-id='type-id-23' filepath='/usr/include/stdint.h' line='51' column='1' id='type-id-204'/>
-    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/stdint.h' line='55' column='1' id='type-id-205'/>
-    <typedef-decl name='is_not_reference_tag' type-id='type-id-206' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='219' column='1' id='type-id-207'/>
-    <reference-type-def kind='rvalue' type-id='type-id-162' size-in-bits='64' id='type-id-208'/>
-    <reference-type-def kind='lvalue' type-id='type-id-209' size-in-bits='64' id='type-id-210'/>
-    <reference-type-def kind='lvalue' type-id='type-id-1' size-in-bits='64' id='type-id-211'/>
-    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-212'/>
-    <reference-type-def kind='lvalue' type-id='type-id-212' size-in-bits='64' id='type-id-213'/>
-    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-214'/>
-    <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
-    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-216'/>
+    <typedef-decl name='uint32_t' type-id='type-id-23' filepath='/usr/include/stdint.h' line='51' column='1' id='type-id-300'/>
+    <typedef-decl name='uint64_t' type-id='type-id-24' filepath='/usr/include/stdint.h' line='55' column='1' id='type-id-301'/>
+    <typedef-decl name='is_not_reference_tag' type-id='type-id-302' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='219' column='1' id='type-id-303'/>
+    <reference-type-def kind='rvalue' type-id='type-id-186' size-in-bits='64' id='type-id-304'/>
+    <reference-type-def kind='lvalue' type-id='type-id-305' size-in-bits='64' id='type-id-306'/>
+    <reference-type-def kind='lvalue' type-id='type-id-1' size-in-bits='64' id='type-id-307'/>
+    <qualified-type-def type-id='type-id-23' const='yes' id='type-id-308'/>
+    <reference-type-def kind='lvalue' type-id='type-id-308' size-in-bits='64' id='type-id-309'/>
+    <qualified-type-def type-id='type-id-24' const='yes' id='type-id-310'/>
+    <pointer-type-def type-id='type-id-310' size-in-bits='64' id='type-id-311'/>
+    <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-312'/>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-313'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-314'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-315'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::ConstDataRange &amp;, mongo::FTDCCompressor::CompressorState, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo14ConstDataRangeENS0_14FTDCCompressor15CompressorStateENS0_6Date_tEEEC2IJRS1_S3_RS4_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <parameter type-id='type-id-208'/>
+            <parameter type-id='type-id-304'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='tuple' mangled-name='_ZNSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2EOS5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='484' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-316'>
         <member-type access='private'>
-          <typedef-decl name='reference' type-id='type-id-218' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='229' column='1' id='type-id-217'/>
+          <typedef-decl name='reference' type-id='type-id-318' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='229' column='1' id='type-id-317'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='swap' mangled-name='_ZNSt6thread4swapERS_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1194' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator[]' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEixEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='779' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-217'/>
+            <return type-id='type-id-317'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='clear' mangled-name='_ZNSt6vectorImSaImEE5clearEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-319'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-320'>
             <member-function access='public'>
               <function-decl name='_M_swap_data' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EE12_Vector_impl12_M_swap_dataERS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
                 <parameter type-id='type-id-61'/>
-                <return type-id='type-id-126'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-321'>
         <member-type access='public'>
-          <typedef-decl name='value_type' type-id='type-id-24' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='447' column='1' id='type-id-219'/>
+          <typedef-decl name='value_type' type-id='type-id-24' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='447' column='1' id='type-id-322'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;unsigned long&gt;' type-id='type-id-221' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-220'/>
+          <typedef-decl name='rebind_alloc&lt;unsigned long&gt;' type-id='type-id-324' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-323'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-325'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::ConstDataRange, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo14ConstDataRangeENS0_6Date_tEEEC2IS1_RS2_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-326'/>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-327'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2EOS5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='367' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-328'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCCompressor::CompressorState, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJN5mongo14FTDCCompressor15CompressorStateENS0_6Date_tEEEC2IS2_JRS3_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-208'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-329'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::ConstDataRange &amp;, mongo::FTDCCompressor::CompressorState, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo14ConstDataRangeENS0_14FTDCCompressor15CompressorStateENS0_6Date_tEEEC2IRS1_JS3_RS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <parameter type-id='type-id-208'/>
+            <parameter type-id='type-id-304'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-330'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::FTDCCompressor::CompressorState&gt;' mangled-name='_ZNSt10_Head_baseILm1EN5mongo14FTDCCompressor15CompressorStateELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-208'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-331'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::ConstDataRange&gt;' mangled-name='_ZNSt10_Head_baseILm0EN5mongo14ConstDataRangeELb0EEC2IS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-332'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-333'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator bool' mangled-name='_ZNKSt10unique_ptrINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEcvbEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='reset' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EE5resetEPS1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='339' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-137'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-141'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZNSt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS1_EEaSEOS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='249' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-334'/>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-335'/>
+      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-336'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::ConstDataRange, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo14ConstDataRangeENS0_6Date_tEEEC2IS1_JRS2_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-337'/>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-338'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_default_n&lt;unsigned long *, unsigned long&gt;' mangled-name='_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPmmEET_S3_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-216'/>
+            <parameter type-id='type-id-312'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-216'/>
+            <return type-id='type-id-312'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-339'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;unsigned long&gt;' mangled-name='_ZNSt11__copy_moveILb1ELb1ESt26random_access_iterator_tagE8__copy_mImEEPT_PKS3_S6_S4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-215'/>
-            <parameter type-id='type-id-215'/>
-            <parameter type-id='type-id-216'/>
-            <return type-id='type-id-216'/>
+            <parameter type-id='type-id-311'/>
+            <parameter type-id='type-id-311'/>
+            <parameter type-id='type-id-312'/>
+            <return type-id='type-id-312'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__20' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-340'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;unsigned long *&gt;, unsigned long *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPmES3_EET0_T_S6_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-216'/>
-            <return type-id='type-id-216'/>
+            <parameter type-id='type-id-341'/>
+            <parameter type-id='type-id-341'/>
+            <parameter type-id='type-id-312'/>
+            <return type-id='type-id-312'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='rebind_alloc&lt;unsigned long&gt;' naming-typedef-id='type-id-220' visibility='default' is-declaration-only='yes' id='type-id-221'/>
+      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-341'/>
+      <class-decl name='rebind_alloc&lt;unsigned long&gt;' naming-typedef-id='type-id-323' visibility='default' is-declaration-only='yes' id='type-id-324'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-342'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-343'>
         <member-type access='public'>
-          <typedef-decl name='value_type' type-id='type-id-219' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='103' column='1' id='type-id-209'/>
+          <typedef-decl name='value_type' type-id='type-id-322' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='103' column='1' id='type-id-305'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='reference' type-id='type-id-210' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='109' column='1' id='type-id-218'/>
+          <typedef-decl name='reference' type-id='type-id-306' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='109' column='1' id='type-id-318'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-344'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-345'/>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-346'>
         <member-function access='public'>
           <function-decl name='BSONObj' mangled-name='_ZN5mongo7BSONObjC2ERKS0_' filepath='src/mongo/bson/bsonobj.h' line='139' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='objdata' mangled-name='_ZNK5mongo7BSONObj7objdataEv' filepath='src/mongo/bson/bsonobj.h' line='356' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-72'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-75'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='isEmpty' mangled-name='_ZNK5mongo7BSONObj7isEmptyEv' filepath='src/mongo/bson/bsonobj.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='swap' mangled-name='_ZN5mongo17ConstSharedBuffer4swapERS0_' filepath='src/mongo/bson/bsonobj.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZN5mongo7BSONObjaSES0_' filepath='src/mongo/bson/bsonobj.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-195'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-347'>
         <member-function access='public'>
           <function-decl name='isOK' mangled-name='_ZNK5mongo6Status4isOKEv' filepath='src/mongo/base/status_with.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithIbE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-211'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-307'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-348'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-349'/>
         </member-type>
         <member-function access='public' destructor='yes'>
           <function-decl name='~Status' mangled-name='_ZN5mongo6StatusD2Ev' filepath='src/mongo/base/status.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2ERKS0_' filepath='src/mongo/base/status.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='Status' mangled-name='_ZN5mongo6StatusC2EOS0_' filepath='src/mongo/base/status.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='unref' mangled-name='_ZN5mongo6Status5unrefEPNS0_9ErrorInfoE' filepath='src/mongo/base/status.h' line='181' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='isOK' mangled-name='_ZNK5mongo6Status4isOKEv' filepath='src/mongo/base/status.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='private' static='yes'>
           <function-decl name='ref' mangled-name='_ZN5mongo6Status3refEPNS0_9ErrorInfoE' filepath='src/mongo/base/status.h' line='180' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZN5mongo6StatusaSEOS0_' filepath='src/mongo/base/status.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-350'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-351'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-352'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-353'>
         <member-function access='public' static='yes'>
           <function-decl name='getArrayOffset' mangled-name='_ZN5mongo14FTDCCompressor14getArrayOffsetEjjj' filepath='src/mongo/db/ftdc/compressor.h' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-204'/>
-            <parameter type-id='type-id-204'/>
-            <parameter type-id='type-id-204'/>
+            <parameter type-id='type-id-300'/>
+            <parameter type-id='type-id-300'/>
+            <parameter type-id='type-id-300'/>
             <return type-id='type-id-54'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='addSample' mangled-name='_ZN5mongo14FTDCCompressor9addSampleERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/compressor.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor9addSampleERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-354'/>
+            <return type-id='type-id-351'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_reset' mangled-name='_ZN5mongo14FTDCCompressor6_resetERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/compressor.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor6_resetERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-354'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='getCompressedSamples' mangled-name='_ZN5mongo14FTDCCompressor20getCompressedSamplesEv' filepath='src/mongo/db/ftdc/compressor.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor20getCompressedSamplesEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='reset' mangled-name='_ZN5mongo14FTDCCompressor5resetEv' filepath='src/mongo/db/ftdc/compressor.h' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressor5resetEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-354'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-355'>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithISt5tupleIJNS_14ConstDataRangeENS_6Date_tEEEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-356'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-357'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='swap' mangled-name='_ZN5mongo12SharedBuffer4swapERS0_' filepath='src/mongo/util/shared_buffer.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-358'>
         <member-function access='public'>
           <function-decl name='swap' mangled-name='_ZN5mongo17ConstSharedBuffer4swapERS0_' filepath='src/mongo/util/shared_buffer.h' line='174' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-359'>
         <member-function access='public'>
           <function-decl name='setlen' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE6setlenEi' filepath='src/mongo/bson/util/builder.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendBuf' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendBufEPKvm' filepath='src/mongo/bson/util/builder.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-127'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-130'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='appendNumImpl&lt;unsigned int&gt;' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE13appendNumImplIjEEvT_' filepath='src/mongo/bson/util/builder.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-23'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendNum' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendNumEj' filepath='src/mongo/bson/util/builder.h' line='223' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-23'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-360'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-361'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-362'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-363'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIjvE11unsafeStoreERKjPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-213'/>
-                <parameter type-id='type-id-64'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-309'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-364'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;unsigned int&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIjEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-213'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-309'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIjEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='store&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo8DataType5storeINS_10FTDCVarIntEEENS_6StatusERKT_PcmPml' filepath='src/mongo/base/data_type.h' line='144' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-64'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-66'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-194'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-232'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-348'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-365'>
         <member-function access='public'>
           <function-decl name='FTDCVarInt' mangled-name='_ZN5mongo10FTDCVarIntC2Em' filepath='src/mongo/db/ftdc/varint.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-205'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-301'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-366'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-367'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-368'>
         <member-function access='public'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIjEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <parameter type-id='type-id-27'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-369'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-370'>
             <member-function access='public'>
               <function-decl name='operator()' mangled-name='_ZN5mongo11DataBuilder7FreeBufclEPc' filepath='src/mongo/base/data_builder.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <parameter type-id='type-id-64'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <parameter type-id='type-id-66'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-function access='public'>
           <function-decl name='DataBuilder' mangled-name='_ZN5mongo11DataBuilderC2Em' filepath='src/mongo/base/data_builder.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='getCursor' mangled-name='_ZN5mongo11DataBuilder9getCursorEv' filepath='src/mongo/base/data_builder.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='size' mangled-name='_ZNK5mongo11DataBuilder4sizeEv' filepath='src/mongo/base/data_builder.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-27'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_ensureStorage' mangled-name='_ZN5mongo11DataBuilder14_ensureStorageEv' filepath='src/mongo/base/data_builder.h' line='247' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_getSerializedSize&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo11DataBuilder18_getSerializedSizeINS_10FTDCVarIntEEEmRKT_' filepath='src/mongo/base/data_builder.h' line='235' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <return type-id='type-id-27'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='reserve' mangled-name='_ZN5mongo11DataBuilder7reserveEm' filepath='src/mongo/base/data_builder.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='writeAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo11DataBuilder15writeAndAdvanceINS_10FTDCVarIntEEENS_6StatusERKT_' filepath='src/mongo/base/data_builder.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DataBuilder15writeAndAdvanceINS_10FTDCVarIntEEENS_6StatusERKT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-348'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZN5mongo11DataBuilderaSEOS0_' filepath='src/mongo/base/data_builder.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='resize' mangled-name='_ZN5mongo11DataBuilder6resizeEm' filepath='src/mongo/base/data_builder.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo11DataBuilder6resizeEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-371'>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithINS_9ValidatedINS_7BSONObjEEEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-372'>
         <member-function access='public'>
           <function-decl name='DataRange' mangled-name='_ZN5mongo9DataRangeC2EPcS1_l' filepath='src/mongo/base/data_range.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-203'/>
-            <parameter type-id='type-id-203'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-296'/>
+            <parameter type-id='type-id-296'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-373'>
         <member-function access='public'>
           <function-decl name='DataRangeCursor' mangled-name='_ZN5mongo15DataRangeCursorC2EPcS1_l' filepath='src/mongo/base/data_range_cursor.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='writeAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo15DataRangeCursor15writeAndAdvanceINS_10FTDCVarIntEEENS_6StatusERKT_' filepath='src/mongo/base/data_range_cursor.h' line='166' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-348'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-374'/>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-375'>
         <member-function access='public'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalISt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS3_EEEC2EOS7_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='870' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-376'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-377'>
         <member-type access='private'>
-          <typedef-decl name='reference_type' type-id='type-id-223' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='774' column='1' id='type-id-222'/>
+          <typedef-decl name='reference_type' type-id='type-id-379' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='774' column='1' id='type-id-378'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='get' mangled-name='_ZN5boost8optionalIN5mongo12FTDCBSONUtil8FTDCTypeEE3getEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='1025' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-222'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-378'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator*' mangled-name='_ZNR5boost8optionalIN5mongo12FTDCBSONUtil8FTDCTypeEEdeEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='1042' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-222'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-378'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-380'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-381'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-382'/>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-383'>
           <member-function access='protected' destructor='yes'>
             <function-decl name='~optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseIbED2Ev' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='327' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='destroy' mangled-name='_ZN5boost15optional_detail13optional_baseIbE7destroyEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='704' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='destroy_impl' mangled-name='_ZN5boost15optional_detail13optional_baseIbE12destroy_implEN4mpl_5bool_ILb0EEE' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='745' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-207'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-303'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='is_initialized' mangled-name='_ZNK5boost15optional_detail13optional_baseIN5mongo12FTDCBSONUtil8FTDCTypeEE14is_initializedEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='468' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-384'>
           <member-type access='public'>
-            <typedef-decl name='reference_type' type-id='type-id-211' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='150' column='1' id='type-id-223'/>
+            <typedef-decl name='reference_type' type-id='type-id-307' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='150' column='1' id='type-id-379'/>
           </member-type>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-385'>
           <member-function access='protected'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseISt10unique_ptrIN5mongo15FTDCFileManagerESt14default_deleteIS4_EEEC2EOS8_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='292' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-62'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-63'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-386'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-387'/>
+        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-388'/>
+        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-389'/>
+        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-390'/>
+        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-391'/>
+        <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-392'/>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mpl_'>
-      <typedef-decl name='false_' type-id='type-id-224' filepath='src/third_party/boost-1.60.0/boost/mpl/bool_fwd.hpp' line='25' column='1' id='type-id-206'/>
-      <class-decl name='false_' is-struct='yes' naming-typedef-id='type-id-206' visibility='default' is-declaration-only='yes' id='type-id-224'/>
+      <typedef-decl name='false_' type-id='type-id-393' filepath='src/third_party/boost-1.60.0/boost/mpl/bool_fwd.hpp' line='25' column='1' id='type-id-302'/>
+      <class-decl name='false_' is-struct='yes' naming-typedef-id='type-id-302' visibility='default' is-declaration-only='yes' id='type-id-393'/>
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/controller.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='832' id='type-id-225'>
-      <subrange length='104' type-id='type-id-4' id='type-id-226'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='832' id='type-id-394'>
+      <subrange length='104' type-id='type-id-4' id='type-id-395'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='288' id='type-id-227'>
-      <subrange length='36' type-id='type-id-4' id='type-id-228'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='288' id='type-id-396'>
+      <subrange length='36' type-id='type-id-4' id='type-id-397'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='832' id='type-id-229'>
-      <subrange length='104' type-id='type-id-4' id='type-id-226'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='832' id='type-id-398'>
+      <subrange length='104' type-id='type-id-4' id='type-id-395'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='288' id='type-id-230'>
-      <subrange length='36' type-id='type-id-4' id='type-id-228'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='288' id='type-id-399'>
+      <subrange length='36' type-id='type-id-4' id='type-id-397'/>
     </array-type-def>
-    <reference-type-def kind='rvalue' type-id='type-id-63' size-in-bits='64' id='type-id-231'/>
-    <reference-type-def kind='lvalue' type-id='type-id-229' size-in-bits='64' id='type-id-232'/>
-    <reference-type-def kind='lvalue' type-id='type-id-230' size-in-bits='64' id='type-id-233'/>
-    <reference-type-def kind='lvalue' type-id='type-id-86' size-in-bits='64' id='type-id-157'/>
-    <qualified-type-def type-id='type-id-234' const='yes' id='type-id-235'/>
-    <reference-type-def kind='lvalue' type-id='type-id-235' size-in-bits='64' id='type-id-236'/>
-    <pointer-type-def type-id='type-id-235' size-in-bits='64' id='type-id-237'/>
-    <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-239'/>
-    <reference-type-def kind='lvalue' type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
-    <reference-type-def kind='lvalue' type-id='type-id-242' size-in-bits='64' id='type-id-243'/>
-    <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-244'/>
-    <reference-type-def kind='lvalue' type-id='type-id-85' size-in-bits='64' id='type-id-158'/>
-    <reference-type-def kind='lvalue' type-id='type-id-245' size-in-bits='64' id='type-id-246'/>
+    <reference-type-def kind='rvalue' type-id='type-id-65' size-in-bits='64' id='type-id-400'/>
+    <reference-type-def kind='lvalue' type-id='type-id-398' size-in-bits='64' id='type-id-401'/>
+    <reference-type-def kind='lvalue' type-id='type-id-399' size-in-bits='64' id='type-id-402'/>
+    <reference-type-def kind='lvalue' type-id='type-id-89' size-in-bits='64' id='type-id-174'/>
+    <qualified-type-def type-id='type-id-403' const='yes' id='type-id-404'/>
+    <reference-type-def kind='lvalue' type-id='type-id-404' size-in-bits='64' id='type-id-405'/>
+    <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-406'/>
+    <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-408'/>
+    <reference-type-def kind='lvalue' type-id='type-id-409' size-in-bits='64' id='type-id-410'/>
+    <reference-type-def kind='lvalue' type-id='type-id-411' size-in-bits='64' id='type-id-412'/>
+    <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-413'/>
+    <reference-type-def kind='lvalue' type-id='type-id-88' size-in-bits='64' id='type-id-175'/>
+    <reference-type-def kind='lvalue' type-id='type-id-414' size-in-bits='64' id='type-id-415'/>
     <namespace-decl name='std'>
-      <typedef-decl name='__alloc_rebind&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Sp_counted_ptr_inplace&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, __gnu_cxx::_Lock_policy::_S_atomic&gt; &gt;' type-id='type-id-247' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='76' column='1' id='type-id-248'/>
-      <typedef-decl name='ostream' type-id='type-id-249' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/iosfwd' line='141' column='1' id='type-id-245'/>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <typedef-decl name='__alloc_rebind&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Sp_counted_ptr_inplace&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, __gnu_cxx::_Lock_policy::_S_atomic&gt; &gt;' type-id='type-id-416' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='76' column='1' id='type-id-417'/>
+      <typedef-decl name='ostream' type-id='type-id-418' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/iosfwd' line='141' column='1' id='type-id-414'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-419'>
         <member-function access='public'>
           <function-decl name='__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='565' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~__shared_count' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='656' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='__shared_count&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2INSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPSA_EEvEEEESaISJ_EJSI_EEESt19_Sp_make_shared_tagPT_RKT0_DpOT1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='609' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-420'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-72'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_M_swap' mangled-name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE7_M_swapERS2_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='685' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-420'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-421'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-422'>
             <member-function access='public'>
               <function-decl name='_Impl' mangled-name='_ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEEC2EOSD_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='111' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <parameter type-id='type-id-62'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <parameter type-id='type-id-63'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes' vtable-offset='0'>
               <function-decl name='~_Impl_base' mangled-name='_ZNSt6thread10_Impl_baseD0Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6thread10_Impl_baseD0Ev'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes' vtable-offset='0'>
               <function-decl name='~_Impl_base' mangled-name='_ZNSt6thread10_Impl_baseD2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6thread10_Impl_baseD2Ev'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public' vtable-offset='2'>
               <function-decl name='_M_run' mangled-name='_ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEE6_M_runEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEE6_M_runEv'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-423'>
             <member-function access='public'>
               <function-decl name='id' mangled-name='_ZNSt6thread2idC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='73' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-424'>
           </class-decl>
         </member-type>
         <member-function access='public'>
           <function-decl name='thread&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt;&gt;' mangled-name='_ZNSt6threadC2ISt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS4_EEJEEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6threadC2ISt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS4_EEJEEEOT_DpOT0_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='joinable' mangled-name='_ZNKSt6thread8joinableEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='169' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_M_make_routine&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt6thread15_M_make_routineISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS5_EEvEEEESt10shared_ptrINS_5_ImplIT_EEEOSG_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/thread' line='201' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-425'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-426'>
         <member-type access='public'>
-          <typedef-decl name='result_type' type-id='type-id-251' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1505' column='1' id='type-id-250'/>
+          <typedef-decl name='result_type' type-id='type-id-428' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1505' column='1' id='type-id-427'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt;&gt;' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEEC2IS9_JEEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1509' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Bind_simple' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEEC2EOSB_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1514' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_M_invoke&lt;&gt;' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1526' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-251'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-429'/>
+            <return type-id='type-id-428'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator()' mangled-name='_ZNSt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEvEEclEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1517' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-250'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-427'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-430'>
         <member-type access='public'>
-          <typedef-decl name='type' type-id='type-id-126' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits' line='158' column='1' id='type-id-251'/>
+          <typedef-decl name='type' type-id='type-id-129' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/type_traits' line='158' column='1' id='type-id-428'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-429'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-425'>
         <member-function access='private'>
           <function-decl name='shared_ptr&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt10shared_ptrINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEEEC2ISaISF_EJSE_EEESt19_Sp_make_shared_tagRKT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h' line='317' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-420'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-431'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-432'>
             <member-type access='public'>
-              <typedef-decl name='other' type-id='type-id-253' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocator.h' line='105' column='1' id='type-id-252'/>
+              <typedef-decl name='other' type-id='type-id-434' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocator.h' line='105' column='1' id='type-id-433'/>
             </member-type>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-435'>
         <member-type access='private'>
-          <typedef-decl name='mutex_type' type-id='type-id-254' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='383' column='1' id='type-id-240'/>
+          <typedef-decl name='mutex_type' type-id='type-id-436' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='383' column='1' id='type-id-409'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='lock_guard' mangled-name='_ZNSt10lock_guardISt5mutexEC2ERS0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='385' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-241'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-410'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~lock_guard' mangled-name='_ZNSt10lock_guardISt5mutexED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='391' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-437'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-438'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-439'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-440'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-441'/>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-442'/>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-443'/>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-444'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-445'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-446'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator*' mangled-name='_ZNKSt10unique_ptrINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEdeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h' line='288' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-251'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-428'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-447'/>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-448'>
         <member-function access='public'>
           <function-decl name='_Bind&lt;mongo::FTDCController *&gt;' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EEC2IJS6_EEEOS5_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1113' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <parameter type-id='type-id-231'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-400'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Bind' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EEC2EOS8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='__call&lt;void, 0&gt;' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EE6__callIvJEJLm0EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1071' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-449'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator()&lt;, void&gt;' mangled-name='_ZNSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS2_EEclIJEvEET0_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='1129' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-450'/>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-451'/>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-449'/>
+      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-452'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::FTDCController *&gt;' mangled-name='_ZNSt10_Head_baseILm0EPN5mongo14FTDCControllerELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-231'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-400'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-453'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCController *&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJPN5mongo14FTDCControllerEEEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-231'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-400'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__24' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__24' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-454'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::FTDCController *, void&gt;' mangled-name='_ZNSt5tupleIJPN5mongo14FTDCControllerEEEC2IJS2_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-231'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-400'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__25' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__25' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-455'>
         <member-function access='public'>
           <function-decl name='__shared_ptr' mangled-name='_ZNSt12__shared_ptrINSt6thread10_Impl_baseELN9__gnu_cxx12_Lock_policyE2EEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='876' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~__shared_ptr' mangled-name='_ZNSt12__shared_ptrINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEELN9__gnu_cxx12_Lock_policyE2EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='925' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__26' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__26' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-456'>
         <member-function access='public'>
           <function-decl name='shared_ptr' mangled-name='_ZNSt10shared_ptrINSt6thread10_Impl_baseEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-457'>
         <member-function access='public'>
           <function-decl name='_Sp_counted_base' mangled-name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_M_release' mangled-name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__28' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__28' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-458'>
         <member-function access='private'>
           <function-decl name='__wait_until_impl&lt;std::chrono::duration&lt;long, std::ratio&lt;1, 1000000000&gt; &gt; &gt;' mangled-name='_ZNSt18condition_variable17__wait_until_implINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_statusRSt11unique_lockISt5mutexERKNS1_10time_pointINS1_3_V212system_clockET_EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/condition_variable' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-162'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='wait_until&lt;std::chrono::duration&lt;long, std::ratio&lt;1, 1000000000&gt; &gt; &gt;' mangled-name='_ZNSt18condition_variable10wait_untilINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_statusRSt11unique_lockISt5mutexERKNS1_10time_pointINS1_3_V212system_clockET_EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/condition_variable' line='103' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-162'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__29' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__29' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-459'>
         <member-function access='public'>
           <function-decl name='unique_lock' mangled-name='_ZNSt11unique_lockISt5mutexEC2ERS0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='412' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-241'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-410'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~unique_lock' mangled-name='_ZNSt11unique_lockISt5mutexED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='447' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__30' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__30' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-460'>
         <member-function access='public' static='yes'>
           <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo7BSONObjENS0_6Date_tEEE7_M_headERS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-61'/>
@@ -4955,251 +4955,251 @@
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__31' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__32' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__31' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-461'/>
+      <class-decl name='__anonymous_struct__32' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-462'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-463'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__34' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__35' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-464'/>
+      <class-decl name='__anonymous_struct__34' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-465'/>
+      <class-decl name='__anonymous_struct__35' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-466'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; &gt;' mangled-name='_ZNSt10_Head_baseILm0ESt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EELb0EEC2IS9_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-467'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; &gt;' mangled-name='_ZNSt11_Tuple_implILm0EJSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEEEC2IS9_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='361' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__37' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__37' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-468'>
         <member-function access='public'>
           <function-decl name='tuple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; , void&gt;' mangled-name='_ZNSt5tupleIJSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS3_EEEEC2IJS9_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__38' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__38' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-469'>
         <member-function access='protected'>
           <function-decl name='__shared_ptr&lt;std::allocator&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt12__shared_ptrINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEELN9__gnu_cxx12_Lock_policyE2EEC2ISaISF_EJSE_EEESt19_Sp_make_shared_tagRKT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='1094' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-420'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__39' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__39' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-470'>
         <member-type access='private'>
-          <typedef-decl name='__allocator_type' type-id='type-id-248' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='514' column='1' id='type-id-255'/>
+          <typedef-decl name='__allocator_type' type-id='type-id-417' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='514' column='1' id='type-id-471'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='_Sp_counted_ptr_inplace&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EEC2IJSE_EEESG_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='517' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-431'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_M_ptr' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE6_M_ptrEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
         <member-function access='public' vtable-offset='4'>
           <function-decl name='_M_get_deleter' mangled-name='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEESaISF_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-236'/>
-            <return type-id='type-id-127'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-405'/>
+            <return type-id='type-id-130'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__40' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__40' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-472'>
         <member-type access='public'>
-          <typedef-decl name='__type' type-id='type-id-252' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='65' column='1' id='type-id-247'/>
+          <typedef-decl name='__type' type-id='type-id-433' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='65' column='1' id='type-id-416'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__41' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__42' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__41' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-473'/>
+      <class-decl name='__anonymous_struct__42' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-474'>
         <member-function access='public'>
           <function-decl name='__shared_ptr&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, void&gt;' mangled-name='_ZNSt12__shared_ptrINSt6thread10_Impl_baseELN9__gnu_cxx12_Lock_policyE2EEC2INS0_5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPSB_EEvEEEEvEEOS_IT_LS3_2EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='940' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__43' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__43' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-475'>
         <member-function access='public'>
           <function-decl name='shared_ptr&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, void&gt;' mangled-name='_ZNSt10shared_ptrINSt6thread10_Impl_baseEEC2INS0_5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS9_EEvEEEEvEEOS_IT_E' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr.h' line='238' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__44' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__44' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-476'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEEEE9constructISF_JSE_EEEvRSG_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='destroy&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS6_EEvEEEEEE7destroyISF_EEvRSG_PT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='541' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__45' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__45' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-477'>
         <member-function access='public' destructor='yes'>
           <function-decl name='~__allocated_ptr' mangled-name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS7_EEvEEEESaISG_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/allocated_ptr.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__46' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__46' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-478'>
         <member-type access='private'>
-          <typedef-decl name='_Class' type-id='type-id-256' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='554' column='1' id='type-id-238'/>
+          <typedef-decl name='_Class' type-id='type-id-479' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='554' column='1' id='type-id-407'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator()&lt;, void&gt;' mangled-name='_ZNKSt12_Mem_fn_baseIMN5mongo14FTDCControllerEFvvELb1EEclIJEvEEvPS1_DpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='599' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-239'/>
-            <return type-id='type-id-250'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-408'/>
+            <return type-id='type-id-427'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__47' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__47' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-480'>
         <member-type access='public'>
-          <typedef-decl name='__result_type' type-id='type-id-126' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='506' column='1' id='type-id-257'/>
+          <typedef-decl name='__result_type' type-id='type-id-129' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='506' column='1' id='type-id-481'/>
         </member-type>
         <member-type access='public'>
-          <typedef-decl name='__class_type' type-id='type-id-258' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='507' column='1' id='type-id-256'/>
+          <typedef-decl name='__class_type' type-id='type-id-482' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/functional' line='507' column='1' id='type-id-479'/>
         </member-type>
       </class-decl>
-      <class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-249'>
+      <class-decl name='basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='2176' visibility='default' is-declaration-only='yes' id='type-id-418'>
         <member-type access='private'>
-          <typedef-decl name='__ostream_type' type-id='type-id-249' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ostream' line='71' column='1' id='type-id-259'/>
+          <typedef-decl name='__ostream_type' type-id='type-id-418' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ostream' line='71' column='1' id='type-id-483'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZNSolsEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ostream' line='170' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-260' is-artificial='yes'/>
+            <parameter type-id='type-id-484' is-artificial='yes'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-261'/>
+            <return type-id='type-id-485'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='mutex_type' naming-typedef-id='type-id-240' visibility='default' is-declaration-only='yes' id='type-id-254'>
+      <class-decl name='mutex_type' naming-typedef-id='type-id-409' visibility='default' is-declaration-only='yes' id='type-id-436'>
         <member-function access='public'>
           <function-decl name='lock' mangled-name='_ZNSt11unique_lockISt5mutexE4lockEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='unlock' mangled-name='_ZNSt11unique_lockISt5mutexE6unlockEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/mutex' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='other' naming-typedef-id='type-id-252' visibility='default' is-declaration-only='yes' id='type-id-253'/>
-      <class-decl name='type_info' visibility='default' is-declaration-only='yes' id='type-id-234'>
+      <class-decl name='other' naming-typedef-id='type-id-433' visibility='default' is-declaration-only='yes' id='type-id-434'/>
+      <class-decl name='type_info' visibility='default' is-declaration-only='yes' id='type-id-403'>
         <member-function access='public'>
           <function-decl name='operator==' mangled-name='_ZNKSt9type_infoeqERKS_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/typeinfo' line='120' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-237' is-artificial='yes'/>
-            <parameter type-id='type-id-236'/>
+            <parameter type-id='type-id-406' is-artificial='yes'/>
+            <parameter type-id='type-id-405'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
       </class-decl>
       <function-decl name='__enable_shared_from_this_helper&lt;__gnu_cxx::_Lock_policy::_S_atomic&gt;' mangled-name='_ZSt32__enable_shared_from_this_helperILN9__gnu_cxx12_Lock_policyE2EEvRKSt14__shared_countIXT_EEz' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='862' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt32__enable_shared_from_this_helperILN9__gnu_cxx12_Lock_policyE2EEvRKSt14__shared_countIXT_EEz'>
-        <parameter type-id='type-id-69' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='862' column='1'/>
+        <parameter type-id='type-id-72' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/shared_ptr_base.h' line='862' column='1'/>
         <parameter is-variadic='yes'/>
-        <return type-id='type-id-126'/>
+        <return type-id='type-id-129'/>
       </function-decl>
       <namespace-decl name='chrono'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-486'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-487'>
           <member-function access='public' static='yes'>
             <function-decl name='__cast&lt;long, std::ratio&lt;1, 1000000000&gt; &gt;' mangled-name='_ZNSt6chrono20__duration_cast_implINS_8durationIlSt5ratioILl1ELl1EEEES2_ILl1ELl1000000000EElLb1ELb0EE6__castIlS5_EES4_RKNS1_IT_T0_EE' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/chrono' line='159' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-69'/>
-              <return type-id='type-id-60'/>
+              <parameter type-id='type-id-72'/>
+              <return type-id='type-id-488'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-488'>
           <member-type access='public'>
-            <typedef-decl name='rep' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/chrono' line='243' column='1' id='type-id-262'/>
+            <typedef-decl name='rep' type-id='type-id-18' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/chrono' line='243' column='1' id='type-id-489'/>
           </member-type>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-490'/>
       </namespace-decl>
       <namespace-decl name='__cxx11'>
-        <class-decl name='basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3008' visibility='default' is-declaration-only='yes' id='type-id-242'/>
+        <class-decl name='basic_ostringstream&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' size-in-bits='3008' visibility='default' is-declaration-only='yes' id='type-id-411'/>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-491'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-492'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-493'>
         <member-function access='public'>
           <function-decl name='construct&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;, std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS7_EEvEEEEE9constructISG_JSF_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='destroy&lt;std::thread::_Impl&lt;std::_Bind_simple&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt; ()&gt; &gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorINSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFSt7_Mem_fnIMN5mongo14FTDCControllerEFvvEEPS7_EEvEEEEE7destroyISG_EEvPT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-494'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [104]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA104_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-232'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-401'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [36]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA36_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-233'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-402'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;std::__cxx11::basic_string&lt;char&gt; &gt;' mangled-name='_ZN10mongoutils3str6streamlsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-157'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-174'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -5207,207 +5207,207 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <typedef-decl name='Milliseconds' type-id='type-id-263' filepath='src/mongo/util/duration.h' line='52' column='1' id='type-id-264'/>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <typedef-decl name='Milliseconds' type-id='type-id-495' filepath='src/mongo/util/duration.h' line='52' column='1' id='type-id-496'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-497'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-498'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='reason' mangled-name='_ZNK5mongo6Status6reasonB5cxx11Ev' filepath='src/mongo/base/status.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-181'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-219'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='code' mangled-name='_ZNK5mongo6Status4codeEv' filepath='src/mongo/base/status.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-162'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-499'>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-500'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-501'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-502'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-503'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-504'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-505'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-506'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-507'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-508'>
         <member-function access='public'>
           <function-decl name='IdleThreadBlock' mangled-name='_ZN5mongo15IdleThreadBlockC2EPKc' filepath='src/mongo/util/concurrency/idle_thread_block.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~IdleThreadBlock' mangled-name='_ZN5mongo15IdleThreadBlockD2Ev' filepath='src/mongo/util/concurrency/idle_thread_block.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='Milliseconds' naming-typedef-id='type-id-264' visibility='default' is-declaration-only='yes' id='type-id-263'/>
-      <class-decl name='__class_type' naming-typedef-id='type-id-256' visibility='default' is-declaration-only='yes' id='type-id-258'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-509'/>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-510'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-511'/>
+      <class-decl name='Milliseconds' naming-typedef-id='type-id-496' visibility='default' is-declaration-only='yes' id='type-id-495'/>
+      <class-decl name='__class_type' naming-typedef-id='type-id-479' visibility='default' is-declaration-only='yes' id='type-id-482'>
         <member-function access='public'>
           <function-decl name='setEnabled' mangled-name='_ZN5mongo14FTDCController10setEnabledEb' filepath='src/mongo/db/ftdc/controller.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController10setEnabledEb'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-1'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-497'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setPeriod' mangled-name='_ZN5mongo14FTDCController9setPeriodENS_8DurationISt5ratioILl1ELl1000EEEE' filepath='src/mongo/db/ftdc/controller.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController9setPeriodENS_8DurationISt5ratioILl1ELl1000EEEE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-264'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-496'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setMaxDirectorySizeBytes' mangled-name='_ZN5mongo14FTDCController24setMaxDirectorySizeBytesEm' filepath='src/mongo/db/ftdc/controller.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController24setMaxDirectorySizeBytesEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-205'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-301'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setMaxFileSizeBytes' mangled-name='_ZN5mongo14FTDCController19setMaxFileSizeBytesEm' filepath='src/mongo/db/ftdc/controller.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController19setMaxFileSizeBytesEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-205'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-301'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setMaxSamplesPerArchiveMetricChunk' mangled-name='_ZN5mongo14FTDCController34setMaxSamplesPerArchiveMetricChunkEm' filepath='src/mongo/db/ftdc/controller.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController34setMaxSamplesPerArchiveMetricChunkEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setMaxSamplesPerInterimMetricChunk' mangled-name='_ZN5mongo14FTDCController34setMaxSamplesPerInterimMetricChunkEm' filepath='src/mongo/db/ftdc/controller.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController34setMaxSamplesPerInterimMetricChunkEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='setDirectory' mangled-name='_ZN5mongo14FTDCController12setDirectoryERKN5boost10filesystem4pathE' filepath='src/mongo/db/ftdc/controller.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController12setDirectoryERKN5boost10filesystem4pathE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-497'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='addPeriodicCollector' mangled-name='_ZN5mongo14FTDCController20addPeriodicCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE' filepath='src/mongo/db/ftdc/controller.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController20addPeriodicCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='addOnRotateCollector' mangled-name='_ZN5mongo14FTDCController20addOnRotateCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE' filepath='src/mongo/db/ftdc/controller.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController20addOnRotateCollectorESt10unique_ptrINS_22FTDCCollectorInterfaceESt14default_deleteIS2_EE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='getMostRecentPeriodicDocument' mangled-name='_ZN5mongo14FTDCController29getMostRecentPeriodicDocumentEv' filepath='src/mongo/db/ftdc/controller.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController29getMostRecentPeriodicDocumentEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='start' mangled-name='_ZN5mongo14FTDCController5startEv' filepath='src/mongo/db/ftdc/controller.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController5startEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='doLoop' mangled-name='_ZN5mongo14FTDCController6doLoopEv' filepath='src/mongo/db/ftdc/controller.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController6doLoopEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='stop' mangled-name='_ZN5mongo14FTDCController4stopEv' filepath='src/mongo/db/ftdc/controller.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCController4stopEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
       <namespace-decl name='logger'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-512'>
           <member-function access='public'>
             <function-decl name='getGlobalDomain' mangled-name='_ZN5mongo6logger10LogManager15getGlobalDomainEv' filepath='src/mongo/logger/log_manager.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-63'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-65'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-513'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-514'>
           <member-function access='public'>
             <function-decl name='stream' mangled-name='_ZN5mongo6logger16LogstreamBuilder6streamEv' filepath='src/mongo/logger/logstream_builder.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-246'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-415'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsEPKc' filepath='src/mongo/logger/logstream_builder.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-72'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-75'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/mongo/logger/logstream_builder.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-181'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-219'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;mongo::Status&gt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsINS_6StatusEEERS1_RKT_' filepath='src/mongo/logger/logstream_builder.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo6logger16LogstreamBuilderlsINS_6StatusEEERS1_RKT_'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-515'>
           <member-function access='public'>
             <function-decl name='LogComponent' mangled-name='_ZN5mongo6logger12LogComponentC2ENS1_5ValueE' filepath='src/mongo/logger/log_component.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-162'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-186'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='stdx'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-516'>
           <member-function access='public'>
             <function-decl name='thread&lt;std::_Bind&lt;std::_Mem_fn&lt;void (mongo::FTDCController::*)()&gt; (mongo::FTDCController *)&gt;, 0&gt;' mangled-name='_ZN5mongo4stdx6threadC2ISt5_BindIFSt7_Mem_fnIMNS_14FTDCControllerEFvvEEPS5_EEJELi0EEEOT_DpOT0_' filepath='src/mongo/stdx/thread.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-62'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-63'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5mongo4stdx6threadaSEOS1_' filepath='src/mongo/stdx/thread.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-62'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-63'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -5415,584 +5415,584 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-517'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-518'/>
       <namespace-decl name='filesystem'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-519'>
           <member-function access='public'>
             <function-decl name='empty' mangled-name='_ZNK5boost10filesystem4path5emptyEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='511' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5boost10filesystem4pathaSERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='190' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-520'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-521'/>
       </namespace-decl>
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/decompressor.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <pointer-type-def type-id='type-id-265' size-in-bits='64' id='type-id-266'/>
-    <qualified-type-def type-id='type-id-111' const='yes' id='type-id-267'/>
-    <reference-type-def kind='lvalue' type-id='type-id-267' size-in-bits='64' id='type-id-268'/>
-    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-269'/>
+    <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-523'/>
+    <qualified-type-def type-id='type-id-114' const='yes' id='type-id-524'/>
+    <reference-type-def kind='lvalue' type-id='type-id-524' size-in-bits='64' id='type-id-525'/>
+    <pointer-type-def type-id='type-id-23' size-in-bits='64' id='type-id-526'/>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-527'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-528'>
         <member-function access='public'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorImSaImEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEC2ERKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEC2EOS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~vector' mangled-name='_ZNSt6vectorIhSaIhEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;mongo::BSONObj&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE12emplace_backIJS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='end' mangled-name='_ZNKSt6vectorIN5mongo7BSONObjESaIS1_EE3endEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='574' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-197'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-239'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE12emplace_backIJRS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='capacity' mangled-name='_ZNKSt6vectorIN5mongo7BSONObjESaIS1_EE8capacityEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='734' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-28'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_allocate_and_copy&lt;std::move_iterator&lt;mongo::BSONObj *&gt; &gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE20_M_allocate_and_copyISt13move_iteratorIPS1_EEES6_mT_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1221' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-529'/>
+            <parameter type-id='type-id-529'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='reserve' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE7reserveEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE7reserveEm'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;mongo::BSONObj&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJS1_EEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJRS1_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE19_M_emplace_back_auxIJRS1_EEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~vector' mangled-name='_ZNSt6vectorIcSaIcEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIcSaIcEED2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~vector' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EED2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-530'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-531'>
             <member-function access='public'>
               <function-decl name='_Vector_impl' mangled-name='_ZNSt12_Vector_baseImSaImEE12_Vector_implC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-function access='public'>
           <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseImSaImEEC2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EEC2EmRKS2_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <parameter type-id='type-id-268'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-525'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Vector_base' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EEC2EOS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~_Vector_base' mangled-name='_ZNSt12_Vector_baseIhSaIhEED2Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='_M_create_storage' mangled-name='_ZNSt12_Vector_baseIN5mongo7BSONObjESaIS1_EE17_M_create_storageEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-532'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;mongo::BSONObj&gt;' type-id='type-id-271' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-270'/>
+          <typedef-decl name='rebind_alloc&lt;mongo::BSONObj&gt;' type-id='type-id-534' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-533'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj&gt;' mangled-name='_ZNSt16allocator_traitsISaIN5mongo7BSONObjEEE9constructIS1_JS1_EEEvRS2_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt16allocator_traitsISaIN5mongo7BSONObjEEE9constructIS1_JRS1_EEEvRS2_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
-            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-529'/>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-535'/>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-536'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-537'/>
         </member-type>
         <member-function access='private'>
           <function-decl name='_M_create_storage' mangled-name='_ZNSt12_Vector_baseImSaImEE17_M_create_storageEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-538'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-539'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-540'>
         <member-function access='public'>
           <function-decl name='vector' mangled-name='_ZNSt6vectorImSaImEEC2EmRKS0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='277' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-268'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-525'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='reserve' mangled-name='_ZNSt6vectorImSaImEE7reserveEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_allocate_and_copy&lt;std::move_iterator&lt;unsigned long *&gt; &gt;' mangled-name='_ZNSt6vectorImSaImEE20_M_allocate_and_copyISt13move_iteratorIPmEEES4_mT_S6_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1221' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-529'/>
+            <parameter type-id='type-id-529'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_default_initialize' mangled-name='_ZNSt6vectorImSaImEE21_M_default_initializeEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1308' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-541'/>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-542'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;__gnu_cxx::__normal_iterator&lt;const mongo::BSONObj *, std::vector&lt;mongo::BSONObj, std::allocator&lt;mongo::BSONObj&gt; &gt; &gt;, mongo::BSONObj *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5mongo7BSONObjESt6vectorIS5_SaIS5_EEEEPS5_EET0_T_SE_SD_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-543'/>
+            <parameter type-id='type-id-543'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;mongo::BSONObj *&gt;, mongo::BSONObj *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPN5mongo7BSONObjEES5_EET0_T_S8_S7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-543'/>
+            <parameter type-id='type-id-543'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-544'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;mongo::BSONObj *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN5mongo7BSONObjEEEvT_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='rebind_alloc&lt;mongo::BSONObj&gt;' naming-typedef-id='type-id-270' visibility='default' is-declaration-only='yes' id='type-id-271'/>
+      <class-decl name='rebind_alloc&lt;mongo::BSONObj&gt;' naming-typedef-id='type-id-533' visibility='default' is-declaration-only='yes' id='type-id-534'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-545'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-546'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-547'/>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-548'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-549'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-550'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-551'>
         <member-function access='public'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorIN5mongo7BSONObjEE9constructIS2_JS2_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='construct&lt;mongo::BSONObj, mongo::BSONObj &amp;&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorIN5mongo7BSONObjEE9constructIS2_JRS2_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-543'/>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-552'>
         <member-function access='public'>
           <function-decl name='ConstDataRangeCursor' mangled-name='_ZN5mongo20ConstDataRangeCursorC2ENS_14ConstDataRangeE' filepath='src/mongo/base/data_range_cursor.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_12LittleEndianIjEEEENS_6StatusEPT_' filepath='src/mongo/base/data_range_cursor.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-252'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_12LittleEndianIjEEEENS_10StatusWithIT_EEv' filepath='src/mongo/base/data_range_cursor.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_10FTDCVarIntEEENS_10StatusWithIT_EEv' filepath='src/mongo/base/data_range_cursor.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_10FTDCVarIntEEENS_6StatusEPT_' filepath='src/mongo/base/data_range_cursor.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-252'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_9ValidatedINS_7BSONObjEEEEENS_6StatusEPT_' filepath='src/mongo/base/data_range_cursor.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-252'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='readAndAdvance&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_9ValidatedINS_7BSONObjEEEEENS_10StatusWithIT_EEv' filepath='src/mongo/base/data_range_cursor.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo20ConstDataRangeCursor14readAndAdvanceINS_9ValidatedINS_7BSONObjEEEEENS_10StatusWithIT_EEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-553'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-554'>
             <member-function access='public' static='yes'>
               <function-decl name='load' mangled-name='_ZN5mongo8DataType7HandlerIjvE4loadEPjPKcmPml' filepath='src/mongo/base/data_type.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-269'/>
-                <parameter type-id='type-id-72'/>
+                <parameter type-id='type-id-526'/>
+                <parameter type-id='type-id-75'/>
                 <parameter type-id='type-id-54'/>
-                <parameter type-id='type-id-194'/>
-                <parameter type-id='type-id-135'/>
-                <return type-id='type-id-60'/>
+                <parameter type-id='type-id-232'/>
+                <parameter type-id='type-id-138'/>
+                <return type-id='type-id-555'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIjvE10unsafeLoadEPjPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-269'/>
-                <parameter type-id='type-id-72'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-526'/>
+                <parameter type-id='type-id-75'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-556'>
             <member-function access='public' static='yes'>
               <function-decl name='load' mangled-name='_ZN5mongo8DataType7HandlerINS_10FTDCVarIntEvE4loadEPS2_PKcmPml' filepath='src/mongo/base/data_type_endian.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8DataType7HandlerINS_9ValidatedINS_7BSONObjEEEvE4loadEPS4_PKcmPml'>
-                <parameter type-id='type-id-63'/>
-                <parameter type-id='type-id-72'/>
+                <parameter type-id='type-id-65'/>
+                <parameter type-id='type-id-75'/>
                 <parameter type-id='type-id-54'/>
-                <parameter type-id='type-id-194'/>
-                <parameter type-id='type-id-135'/>
-                <return type-id='type-id-60'/>
+                <parameter type-id='type-id-232'/>
+                <parameter type-id='type-id-138'/>
+                <return type-id='type-id-555'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-557'>
             <member-function access='public' static='yes'>
               <function-decl name='defaultConstruct' mangled-name='_ZN5mongo8DataType7HandlerINS_9ValidatedINS_7BSONObjEEEvE16defaultConstructEv' filepath='src/mongo/bson/bsonobj.h' line='772' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <return type-id='type-id-60'/>
+                <return type-id='type-id-196'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-558'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-559'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-560'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;unsigned int&gt;' mangled-name='_ZN5mongo8DataType4loadIjEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-269'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-526'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-194'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-232'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-555'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::LittleEndian&lt;unsigned int&gt; &gt;' mangled-name='_ZN5mongo8DataType4loadINS_12LittleEndianIjEEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-194'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-232'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-555'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::FTDCVarInt&gt;' mangled-name='_ZN5mongo8DataType4loadINS_10FTDCVarIntEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-194'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-232'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-555'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='defaultConstruct&lt;mongo::BSONObj&gt;' mangled-name='_ZN5mongo8DataType16defaultConstructINS_7BSONObjEEET_v' filepath='src/mongo/base/data_type.h' line='160' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-196'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='defaultConstruct&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo8DataType16defaultConstructINS_9ValidatedINS_7BSONObjEEEEET_v' filepath='src/mongo/base/data_type.h' line='160' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-196'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZN5mongo8DataType4loadINS_9ValidatedINS_7BSONObjEEEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-194'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-232'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-555'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='load&lt;mongo::BSONObj&gt;' mangled-name='_ZN5mongo8DataType4loadINS_7BSONObjEEENS_6StatusEPT_PKcmPml' filepath='src/mongo/base/data_type.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <parameter type-id='type-id-194'/>
-            <parameter type-id='type-id-135'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-232'/>
+            <parameter type-id='type-id-138'/>
+            <return type-id='type-id-555'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-555'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-561'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-562'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-563'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-564'>
         <member-function access='public'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithIbEC2ENS_10ErrorCodes5ErrorEPKc' filepath='src/mongo/base/status_with.h' line='76' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-162'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-565'>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-566'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-567'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-568'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-569'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-570'>
         <member-function access='public'>
           <function-decl name='Validated' mangled-name='_ZN5mongo9ValidatedINS_7BSONObjEEC2Ev' filepath='src/mongo/base/data_type_validated.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-571'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-572'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-573'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-574'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-575'/>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-576'/>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-577'/>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-578'>
         <member-function access='public'>
           <function-decl name='uncompress' mangled-name='_ZN5mongo16FTDCDecompressor10uncompressENS_14ConstDataRangeE' filepath='src/mongo/db/ftdc/decompressor.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo16FTDCDecompressor10uncompressENS_14ConstDataRangeE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-185'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-579'>
         <member-function access='public' static='yes'>
           <function-decl name='validateLoad' mangled-name='_ZN5mongo9ValidatorINS_7BSONObjEE12validateLoadEPKcm' filepath='src/mongo/rpc/object_check.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-555'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='type' naming-typedef-id='type-id-272' visibility='default' is-declaration-only='yes' id='type-id-273'/>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-580'/>
+      <class-decl name='type' naming-typedef-id='type-id-581' visibility='default' is-declaration-only='yes' id='type-id-582'/>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-583'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-584'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-585'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-586'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-587'/>
       <namespace-decl name='detail'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-588'>
           <member-type access='public'>
-            <typedef-decl name='type' type-id='type-id-273' filepath='src/third_party/boost-1.60.0/boost/detail/reference_content.hpp' line='80' column='1' id='type-id-272'/>
+            <typedef-decl name='type' type-id='type-id-582' filepath='src/third_party/boost-1.60.0/boost/detail/reference_content.hpp' line='80' column='1' id='type-id-581'/>
           </member-type>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-589'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-590'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-591'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-592'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-593'/>
+        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-594'/>
+        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-595'/>
+        <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-596'>
           <member-type access='private'>
-            <typedef-decl name='internal_type' type-id='type-id-272' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='205' column='1' id='type-id-265'/>
+            <typedef-decl name='internal_type' type-id='type-id-581' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='205' column='1' id='type-id-522'/>
           </member-type>
           <member-function access='private'>
             <function-decl name='get_object' mangled-name='_ZN5boost15optional_detail13optional_baseISt6vectorIN5mongo7BSONObjESaIS4_EEE10get_objectEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='726' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-266'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-523'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='get_impl' mangled-name='_ZN5boost15optional_detail13optional_baseISt6vectorIN5mongo7BSONObjESaIS4_EEE8get_implEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='711' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-223'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-379'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-597'/>
+        <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-598'>
           <member-function access='public'>
             <function-decl name='address' mangled-name='_ZN5boost15optional_detail15aligned_storageISt6vectorIN5mongo7BSONObjESaIS4_EEE7addressEv' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='139' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-127'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-130'/>
             </function-decl>
           </member-function>
         </class-decl>
@@ -6000,496 +6000,496 @@
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/file_manager.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='16' id='type-id-274'>
-      <subrange length='2' type-id='type-id-4' id='type-id-275'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='16' id='type-id-599'>
+      <subrange length='2' type-id='type-id-4' id='type-id-600'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='16' id='type-id-276'>
-      <subrange length='2' type-id='type-id-4' id='type-id-275'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='16' id='type-id-601'>
+      <subrange length='2' type-id='type-id-4' id='type-id-600'/>
     </array-type-def>
-    <reference-type-def kind='lvalue' type-id='type-id-162' size-in-bits='64' id='type-id-277'/>
-    <reference-type-def kind='rvalue' type-id='type-id-1' size-in-bits='64' id='type-id-278'/>
-    <pointer-type-def type-id='type-id-279' size-in-bits='64' id='type-id-280'/>
-    <qualified-type-def type-id='type-id-281' const='yes' id='type-id-282'/>
-    <reference-type-def kind='lvalue' type-id='type-id-282' size-in-bits='64' id='type-id-283'/>
-    <qualified-type-def type-id='type-id-284' const='yes' id='type-id-285'/>
-    <reference-type-def kind='lvalue' type-id='type-id-285' size-in-bits='64' id='type-id-286'/>
-    <reference-type-def kind='lvalue' type-id='type-id-276' size-in-bits='64' id='type-id-287'/>
-    <qualified-type-def type-id='type-id-288' const='yes' id='type-id-289'/>
-    <reference-type-def kind='lvalue' type-id='type-id-289' size-in-bits='64' id='type-id-290'/>
-    <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-291'/>
-    <qualified-type-def type-id='type-id-145' const='yes' id='type-id-292'/>
-    <reference-type-def kind='lvalue' type-id='type-id-292' size-in-bits='64' id='type-id-156'/>
-    <pointer-type-def type-id='type-id-293' size-in-bits='64' id='type-id-294'/>
-    <reference-type-def kind='lvalue' type-id='type-id-288' size-in-bits='64' id='type-id-295'/>
-    <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-296'/>
-    <reference-type-def kind='rvalue' type-id='type-id-85' size-in-bits='64' id='type-id-159'/>
-    <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-298'/>
-    <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-260'/>
-    <reference-type-def kind='lvalue' type-id='type-id-259' size-in-bits='64' id='type-id-261'/>
+    <reference-type-def kind='lvalue' type-id='type-id-186' size-in-bits='64' id='type-id-602'/>
+    <reference-type-def kind='rvalue' type-id='type-id-1' size-in-bits='64' id='type-id-603'/>
+    <pointer-type-def type-id='type-id-604' size-in-bits='64' id='type-id-605'/>
+    <qualified-type-def type-id='type-id-606' const='yes' id='type-id-607'/>
+    <reference-type-def kind='lvalue' type-id='type-id-607' size-in-bits='64' id='type-id-608'/>
+    <qualified-type-def type-id='type-id-609' const='yes' id='type-id-610'/>
+    <reference-type-def kind='lvalue' type-id='type-id-610' size-in-bits='64' id='type-id-611'/>
+    <reference-type-def kind='lvalue' type-id='type-id-601' size-in-bits='64' id='type-id-612'/>
+    <qualified-type-def type-id='type-id-613' const='yes' id='type-id-614'/>
+    <reference-type-def kind='lvalue' type-id='type-id-614' size-in-bits='64' id='type-id-615'/>
+    <pointer-type-def type-id='type-id-614' size-in-bits='64' id='type-id-616'/>
+    <qualified-type-def type-id='type-id-158' const='yes' id='type-id-617'/>
+    <reference-type-def kind='lvalue' type-id='type-id-617' size-in-bits='64' id='type-id-170'/>
+    <pointer-type-def type-id='type-id-618' size-in-bits='64' id='type-id-619'/>
+    <reference-type-def kind='lvalue' type-id='type-id-613' size-in-bits='64' id='type-id-620'/>
+    <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-621'/>
+    <reference-type-def kind='rvalue' type-id='type-id-88' size-in-bits='64' id='type-id-176'/>
+    <pointer-type-def type-id='type-id-622' size-in-bits='64' id='type-id-623'/>
+    <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-484'/>
+    <reference-type-def kind='lvalue' type-id='type-id-483' size-in-bits='64' id='type-id-485'/>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-624'>
         <member-type access='public'>
-          <typedef-decl name='difference_type' type-id='type-id-135' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator_base_types.h' line='182' column='1' id='type-id-299'/>
+          <typedef-decl name='difference_type' type-id='type-id-138' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator_base_types.h' line='182' column='1' id='type-id-625'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-626'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;char&gt;' type-id='type-id-145' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-300'/>
+          <typedef-decl name='rebind_alloc&lt;char&gt;' type-id='type-id-158' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-627'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-177'/>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-628'>
         <member-type access='public'>
-          <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='235' column='1' id='type-id-288'/>
+          <typedef-decl name='char_type' type-id='type-id-2' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='235' column='1' id='type-id-613'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='assign' mangled-name='_ZNSt11char_traitsIcE6assignERcRKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='242' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-295'/>
-            <parameter type-id='type-id-290'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-620'/>
+            <parameter type-id='type-id-615'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='copy' mangled-name='_ZNSt11char_traitsIcE4copyEPcPKcm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='286' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-296'/>
-            <parameter type-id='type-id-291'/>
+            <parameter type-id='type-id-621'/>
+            <parameter type-id='type-id-616'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-296'/>
+            <return type-id='type-id-621'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='length' mangled-name='_ZNSt11char_traitsIcE6lengthEPKc' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/char_traits.h' line='266' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-291'/>
+            <parameter type-id='type-id-616'/>
             <return type-id='type-id-27'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-629'>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZNSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE12emplace_backIJS6_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZNSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEESaIS6_EE19_M_emplace_back_auxIJS6_EEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-630'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-631'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-632'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' type-id='type-id-302' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-301'/>
+          <typedef-decl name='rebind_alloc&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' type-id='type-id-634' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-633'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt;, std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZNSt16allocator_traitsISaISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS1_7BSONObjENS1_6Date_tEEEEE9constructIS6_JS6_EEEvRS7_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-635'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::FTDCBSONUtil::FTDCType &amp;, mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2IJRS2_S3_RS4_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-277'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-602'/>
+            <parameter type-id='type-id-63'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-636'>
         <member-type access='private'>
-          <typedef-decl name='reverse_iterator' type-id='type-id-304' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='235' column='1' id='type-id-303'/>
+          <typedef-decl name='reverse_iterator' type-id='type-id-638' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='235' column='1' id='type-id-637'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;boost::filesystem::path&gt;' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE12emplace_backIJS2_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='rbegin' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE6rbeginEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='583' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-303'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-637'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;boost::filesystem::path&gt;' mangled-name='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5boost10filesystem4pathESaIS2_EE19_M_emplace_back_auxIJS2_EEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-639'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-640'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-641'>
         <member-type access='public'>
-          <typedef-decl name='rebind_alloc&lt;boost::filesystem::path&gt;' type-id='type-id-306' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-305'/>
+          <typedef-decl name='rebind_alloc&lt;boost::filesystem::path&gt;' type-id='type-id-643' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='477' column='1' id='type-id-642'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;boost::filesystem::path, boost::filesystem::path&gt;' mangled-name='_ZNSt16allocator_traitsISaIN5boost10filesystem4pathEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-644'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-645'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-646'/>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-647'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS3_7BSONObjENS3_6Date_tEEEEEvT_SA_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;boost::filesystem::path *&gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost10filesystem4pathEEEvT_S6_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-648'/>
+      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-649'/>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-650'/>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-651'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::FTDCFileManager *&gt;' mangled-name='_ZNSt10_Head_baseILm0EPN5mongo15FTDCFileManagerELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-231'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-400'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-652'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCFileManager *, std::default_delete&lt;mongo::FTDCFileManager&gt; , void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJPN5mongo15FTDCFileManagerESt14default_deleteIS1_EEEC2IS2_JS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-231'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-400'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-653'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::FTDCFileManager *, std::default_delete&lt;mongo::FTDCFileManager&gt;, void&gt;' mangled-name='_ZNSt5tupleIJPN5mongo15FTDCFileManagerESt14default_deleteIS1_EEEC2IS2_S4_vEEOT_OT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='612' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-231'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-400'/>
+            <parameter type-id='type-id-63'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-654'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-655'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-656'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCBSONUtil::FTDCType &amp;, mongo::BSONObj, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo12FTDCBSONUtil8FTDCTypeENS0_7BSONObjENS0_6Date_tEEEC2IRS2_JS3_RS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-277'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-602'/>
+            <parameter type-id='type-id-63'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-657'>
         <member-function access='public' static='yes'>
           <function-decl name='_M_head' mangled-name='_ZNSt11_Tuple_implILm1EJRKN5mongo7BSONObjENS0_6Date_tEEE7_M_headERS5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='142' column='1' visibility='default' binding='global' size-in-bits='64'>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-69'/>
+            <return type-id='type-id-72'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__26' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__27' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-658'/>
+      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-659'/>
+      <class-decl name='__anonymous_struct__26' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-660'/>
+      <class-decl name='__anonymous_struct__27' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-661'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::FTDCBSONUtil::FTDCType &amp;&gt;' mangled-name='_ZNSt10_Head_baseILm0EN5mongo12FTDCBSONUtil8FTDCTypeELb0EEC2IRS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-277'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-602'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::FTDCBSONUtil::FTDCType&gt;' mangled-name='_ZNSt10_Head_baseILm0EN5mongo12FTDCBSONUtil8FTDCTypeELb0EEC2IS2_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-208'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__28' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__29' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__30' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__28' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-662'/>
+      <class-decl name='__anonymous_struct__29' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-663'/>
+      <class-decl name='__anonymous_struct__30' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-664'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-665'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__31' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__32' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__34' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__35' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__31' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-666'/>
+      <class-decl name='__anonymous_struct__32' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-667'/>
+      <class-decl name='__anonymous_struct__33' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-668'/>
+      <class-decl name='__anonymous_struct__34' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-669'/>
+      <class-decl name='__anonymous_struct__35' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-670'/>
+      <class-decl name='__anonymous_struct__36' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-671'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-672'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__37' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__38' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__39' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__40' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__37' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-673'/>
+      <class-decl name='__anonymous_struct__38' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-674'/>
+      <class-decl name='__anonymous_struct__39' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-675'/>
+      <class-decl name='__anonymous_struct__40' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-676'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-677'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__41' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__42' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__43' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__44' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__41' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-678'/>
+      <class-decl name='__anonymous_struct__42' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-679'/>
+      <class-decl name='__anonymous_struct__43' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-680'/>
+      <class-decl name='__anonymous_struct__44' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-681'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;boost::filesystem::path *&gt;, boost::filesystem::path *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPN5boost10filesystem4pathEES6_EET0_T_S9_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-682'/>
+            <parameter type-id='type-id-682'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; *&gt;, std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS4_7BSONObjENS4_6Date_tEEEESA_EET0_T_SD_SC_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-267'/>
+            <parameter type-id='type-id-267'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__45' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__46' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__45' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-682'/>
+      <class-decl name='__anonymous_struct__46' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-683'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_move_b&lt;boost::filesystem::path *, boost::filesystem::path *&gt;' mangled-name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost10filesystem4pathES6_EET0_T_S8_S7_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='560' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__47' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='4096' visibility='default' is-declaration-only='yes' id='type-id-297'>
+      <class-decl name='__anonymous_struct__47' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-684'/>
+      <class-decl name='basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='4096' visibility='default' is-declaration-only='yes' id='type-id-622'>
         <member-function access='public'>
           <function-decl name='is_open' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='778' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-298' is-artificial='yes'/>
+            <parameter type-id='type-id-623' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='close' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='839' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-298' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-623' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='open' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='799' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-298' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-307'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-623' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-685'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_ofstream' mangled-name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='737' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-298' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-623' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='rebind_alloc&lt;boost::filesystem::path&gt;' naming-typedef-id='type-id-305' visibility='default' is-declaration-only='yes' id='type-id-306'/>
-      <class-decl name='rebind_alloc&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' naming-typedef-id='type-id-301' visibility='default' is-declaration-only='yes' id='type-id-302'/>
-      <class-decl name='reverse_iterator' naming-typedef-id='type-id-303' visibility='default' is-declaration-only='yes' id='type-id-304'/>
+      <class-decl name='rebind_alloc&lt;boost::filesystem::path&gt;' naming-typedef-id='type-id-642' visibility='default' is-declaration-only='yes' id='type-id-643'/>
+      <class-decl name='rebind_alloc&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' naming-typedef-id='type-id-633' visibility='default' is-declaration-only='yes' id='type-id-634'/>
+      <class-decl name='reverse_iterator' naming-typedef-id='type-id-637' visibility='default' is-declaration-only='yes' id='type-id-638'/>
       <function-decl name='__move_median_to_first&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_SC_SC_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt22__move_median_to_firstIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_SC_SC_T0_'>
-        <parameter type-id='type-id-60' name='__result' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
-        <parameter type-id='type-id-60' name='__a' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
-        <parameter type-id='type-id-60' name='__b' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
-        <parameter type-id='type-id-60' name='__c' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
-        <parameter type-id='type-id-60' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
-        <return type-id='type-id-126'/>
+        <parameter type-id='type-id-686' name='__result' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
+        <parameter type-id='type-id-686' name='__a' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
+        <parameter type-id='type-id-686' name='__b' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='78' column='1'/>
+        <parameter type-id='type-id-686' name='__c' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
+        <parameter type-id='type-id-687' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='79' column='1'/>
+        <return type-id='type-id-129'/>
       </function-decl>
       <function-decl name='__unguarded_linear_insert&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Val_less_iter&gt;' mangled-name='_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops14_Val_less_iterEEvT_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1816' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops14_Val_less_iterEEvT_T0_'>
-        <parameter type-id='type-id-60' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1816' column='1'/>
-        <parameter type-id='type-id-60' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1817' column='1'/>
-        <return type-id='type-id-126'/>
+        <parameter type-id='type-id-686' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1816' column='1'/>
+        <parameter type-id='type-id-688' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1817' column='1'/>
+        <return type-id='type-id-129'/>
       </function-decl>
       <function-decl name='__insertion_sort&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1835' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_'>
-        <parameter type-id='type-id-60' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-60' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-60' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
-        <return type-id='type-id-126'/>
+        <parameter type-id='type-id-686' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-686' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-687' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
+        <return type-id='type-id-129'/>
       </function-decl>
       <function-decl name='__introsort_loop&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, long, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElNS0_5__ops15_Iter_less_iterEEvT_SC_T0_T1_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1935' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElNS0_5__ops15_Iter_less_iterEEvT_SC_T0_T1_'>
-        <parameter type-id='type-id-60' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1935' column='1'/>
-        <parameter type-id='type-id-60' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1936' column='1'/>
+        <parameter type-id='type-id-686' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1935' column='1'/>
+        <parameter type-id='type-id-686' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1936' column='1'/>
         <parameter type-id='type-id-18' name='__depth_limit' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1937' column='1'/>
-        <parameter type-id='type-id-60' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1937' column='1'/>
-        <return type-id='type-id-126'/>
+        <parameter type-id='type-id-687' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algo.h' line='1937' column='1'/>
+        <return type-id='type-id-129'/>
       </function-decl>
       <function-decl name='__adjust_heap&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, long, boost::filesystem::path, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_T0_SD_T1_T2_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_T0_SD_T1_T2_'>
-        <parameter type-id='type-id-60' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1'/>
+        <parameter type-id='type-id-686' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1'/>
         <parameter type-id='type-id-18' name='__holeIndex' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='207' column='1'/>
         <parameter type-id='type-id-18' name='__len' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
-        <parameter type-id='type-id-60' name='__value' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
-        <parameter type-id='type-id-60' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
-        <return type-id='type-id-126'/>
+        <parameter type-id='type-id-689' name='__value' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
+        <parameter type-id='type-id-687' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='208' column='1'/>
+        <return type-id='type-id-129'/>
       </function-decl>
       <function-decl name='__make_heap&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__ops::_Iter_less_iter&gt;' mangled-name='_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS4_SaIS4_EEEENS0_5__ops15_Iter_less_iterEEvT_SC_T0_'>
-        <parameter type-id='type-id-60' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-60' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
-        <parameter type-id='type-id-60' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
-        <return type-id='type-id-126'/>
+        <parameter type-id='type-id-686' name='__first' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-686' name='__last' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='317' column='1'/>
+        <parameter type-id='type-id-687' name='__comp' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_heap.h' line='318' column='1'/>
+        <return type-id='type-id-129'/>
       </function-decl>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-686'>
         <member-type access='private'>
-          <typedef-decl name='difference_type' type-id='type-id-299' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='732' column='1' id='type-id-308'/>
+          <typedef-decl name='difference_type' type-id='type-id-625' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='732' column='1' id='type-id-690'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEC2ERKS4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='740' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-171'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-209'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator+' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEplEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='793' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-308'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-690'/>
+            <return type-id='type-id-686'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator-' mangled-name='_ZNK9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEmiEl' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-308'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-690'/>
+            <return type-id='type-id-686'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator--' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS3_SaIS3_EEEmmEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='773' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-173'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-211'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-691'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-692'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-693'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-694'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-695'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-696'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-697'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-698'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-699'>
         <member-function access='public'>
           <function-decl name='construct&lt;std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt;, std::tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj, mongo::Date_t&gt; &gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorISt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeENS2_7BSONObjENS2_6Date_tEEEE9constructIS7_JS7_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-700'>
         <member-function access='public'>
           <function-decl name='construct&lt;boost::filesystem::path, boost::filesystem::path&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorIN5boost10filesystem4pathEE9constructIS3_JS3_EEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-62'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-701'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-702'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-703'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-704'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-705'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-706'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-707'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-708'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-709'/>
       <namespace-decl name='__ops'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-687'>
           <member-function access='public'>
             <function-decl name='operator()&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, __gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt; &gt;' mangled-name='_ZNK9__gnu_cxx5__ops15_Iter_less_iterclINS_17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS6_SaIS6_EEEESB_EEbT_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/predefined_ops.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
-              <parameter type-id='type-id-60'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <parameter type-id='type-id-686'/>
+              <parameter type-id='type-id-686'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-688'>
           <member-function access='public'>
             <function-decl name='operator()&lt;boost::filesystem::path, __gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt; &gt;' mangled-name='_ZNK9__gnu_cxx5__ops14_Val_less_iterclIN5boost10filesystem4pathENS_17__normal_iteratorIPS5_St6vectorIS5_SaIS5_EEEEEEbRT_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/predefined_ops.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
               <parameter type-id='type-id-61'/>
-              <parameter type-id='type-id-60'/>
+              <parameter type-id='type-id-686'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-710'>
           <member-function access='public'>
             <function-decl name='operator()&lt;__gnu_cxx::__normal_iterator&lt;boost::filesystem::path *, std::vector&lt;boost::filesystem::path, std::allocator&lt;boost::filesystem::path&gt; &gt; &gt;, boost::filesystem::path&gt;' mangled-name='_ZNK9__gnu_cxx5__ops14_Iter_less_valclINS_17__normal_iteratorIPN5boost10filesystem4pathESt6vectorIS6_SaIS6_EEEES6_EEbT_RT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/predefined_ops.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <parameter type-id='type-id-686'/>
               <parameter type-id='type-id-61'/>
               <return type-id='type-id-1'/>
             </function-decl>
@@ -6499,11 +6499,11 @@
     </namespace-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-711'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [2]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA2_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-287'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-612'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -6511,880 +6511,880 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-712'>
         <member-function access='private'>
           <function-decl name='FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerC2EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE' filepath='src/mongo/db/ftdc/file_manager.h' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerC2EPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-70'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes'>
           <function-decl name='~FTDCFileManager' mangled-name='_ZN5mongo15FTDCFileManagerD2Ev' filepath='src/mongo/db/ftdc/file_manager.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManagerD2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='close' mangled-name='_ZN5mongo14FTDCFileWriter5closeEv' filepath='src/mongo/db/ftdc/file_manager.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager5closeEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='create' mangled-name='_ZN5mongo15FTDCFileManager6createEPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionEPNS_6ClientE' filepath='src/mongo/db/ftdc/file_manager.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager6createEPKNS_10FTDCConfigERKN5boost10filesystem4pathEPNS_23FTDCCollectorCollectionEPNS_6ClientE'>
-            <parameter type-id='type-id-70'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-294'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-619'/>
+            <return type-id='type-id-713'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='scanDirectory' mangled-name='_ZN5mongo15FTDCFileManager13scanDirectoryEv' filepath='src/mongo/db/ftdc/file_manager.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager13scanDirectoryEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='recoverInterimFile' mangled-name='_ZN5mongo15FTDCFileManager18recoverInterimFileEv' filepath='src/mongo/db/ftdc/file_manager.h' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager18recoverInterimFileEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='generateArchiveFileName' mangled-name='_ZN5mongo15FTDCFileManager23generateArchiveFileNameERKN5boost10filesystem4pathENS_10StringDataE' filepath='src/mongo/db/ftdc/file_manager.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager23generateArchiveFileNameERKN5boost10filesystem4pathENS_10StringDataE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-714'/>
+            <return type-id='type-id-715'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='openArchiveFile' mangled-name='_ZN5mongo15FTDCFileManager15openArchiveFileEPNS_6ClientERKN5boost10filesystem4pathERKSt6vectorISt5tupleIJNS_12FTDCBSONUtil8FTDCTypeENS_7BSONObjENS_6Date_tEEESaISE_EE' filepath='src/mongo/db/ftdc/file_manager.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager15openArchiveFileEPNS_6ClientERKN5boost10filesystem4pathERKSt6vectorISt5tupleIJNS_12FTDCBSONUtil8FTDCTypeENS_7BSONObjENS_6Date_tEEESaISE_EE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-294'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-619'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-716'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='trimDirectory' mangled-name='_ZN5mongo15FTDCFileManager13trimDirectoryERSt6vectorIN5boost10filesystem4pathESaIS4_EE' filepath='src/mongo/db/ftdc/file_manager.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager13trimDirectoryERSt6vectorIN5boost10filesystem4pathESaIS4_EE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='rotate' mangled-name='_ZN5mongo15FTDCFileManager6rotateEPNS_6ClientE' filepath='src/mongo/db/ftdc/file_manager.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager6rotateEPNS_6ClientE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-294'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-619'/>
+            <return type-id='type-id-716'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='writeSampleAndRotateIfNeeded' mangled-name='_ZN5mongo15FTDCFileManager28writeSampleAndRotateIfNeededEPNS_6ClientERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/file_manager.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo15FTDCFileManager28writeSampleAndRotateIfNeededEPNS_6ClientERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-294'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-619'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-717'/>
+            <return type-id='type-id-716'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-718'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-719'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-713'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-715'>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithIN5boost10filesystem4pathEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-714'>
         <member-function access='public'>
           <function-decl name='toString' mangled-name='_ZNK5mongo10StringData8toStringB5cxx11Ev' filepath='src/mongo/base/string_data.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-179'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-217'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='compare' mangled-name='_ZNK5mongo10StringData7compareES0_' filepath='src/mongo/base/string_data.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-714'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-716'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-720'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZN5mongo6StatusaSEOS0_' filepath='src/mongo/base/status.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-62'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-63'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-721'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-717'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-722'>
         <member-function access='public'>
           <function-decl name='FTDCFileWriter' mangled-name='_ZN5mongo14FTDCFileWriterC2EPKNS_10FTDCConfigE' filepath='src/mongo/db/ftdc/file_writer.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriterC2EPKNS_10FTDCConfigE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-70'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='getSize' mangled-name='_ZNK5mongo14FTDCFileWriter7getSizeEv' filepath='src/mongo/db/ftdc/file_writer.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-27'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-723'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-724'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-725'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-726'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-727'/>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-728'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-729'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-730'/>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-731'>
         <member-function access='public'>
           <function-decl name='BlockCompressor' mangled-name='_ZN5mongo15BlockCompressorC2Ev' filepath='src/mongo/db/ftdc/block_compressor.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-732'/>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-733'>
         <member-function access='public'>
           <function-decl name='FTDCFileReader' mangled-name='_ZN5mongo14FTDCFileReaderC2Ev' filepath='src/mongo/db/ftdc/file_reader.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileReaderC2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-734'>
         <member-function access='public'>
           <function-decl name='FTDCCompressor' mangled-name='_ZN5mongo14FTDCCompressorC2EPKNS_10FTDCConfigE' filepath='src/mongo/db/ftdc/compressor.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCCompressorC2EPKNS_10FTDCConfigE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-70'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-73'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='Client' size-in-bits='960' visibility='default' is-declaration-only='yes' id='type-id-293'/>
+      <class-decl name='Client' size-in-bits='960' visibility='default' is-declaration-only='yes' id='type-id-618'/>
       <namespace-decl name='FTDCBSONUtil'>
       </namespace-decl>
       <namespace-decl name='logger'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-735'/>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-736'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsEm' filepath='src/mongo/logger/logstream_builder.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <parameter type-id='type-id-24'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-737'>
         </class-decl>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-738'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-739'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-740'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-741'>
         <member-type access='private'>
-          <typedef-decl name='element_type' type-id='type-id-272' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='345' column='1' id='type-id-279'/>
+          <typedef-decl name='element_type' type-id='type-id-581' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='345' column='1' id='type-id-604'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='shared_ptr&lt;boost::filesystem::detail::dir_itr_imp&gt;' mangled-name='_ZN5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEEC2IS3_EEPT_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='360' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='get' mangled-name='_ZNK5boost10shared_ptrINS_10filesystem6detail11dir_itr_impEE3getEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='706' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-280'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-605'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-742'/>
       <namespace-decl name='core'>
-        <typedef-decl name='typeinfo' type-id='type-id-234' filepath='src/third_party/boost-1.60.0/boost/core/typeinfo.hpp' line='134' column='1' id='type-id-309'/>
+        <typedef-decl name='typeinfo' type-id='type-id-403' filepath='src/third_party/boost-1.60.0/boost/core/typeinfo.hpp' line='134' column='1' id='type-id-743'/>
       </namespace-decl>
       <namespace-decl name='filesystem'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-689'>
           <member-type access='private'>
-            <typedef-decl name='string_type' type-id='type-id-85' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='70' column='1' id='type-id-284'/>
+            <typedef-decl name='string_type' type-id='type-id-88' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='70' column='1' id='type-id-609'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='133' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EOS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='153' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-62'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-63'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='145' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-286'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-611'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator/=' mangled-name='_ZN5boost10filesystem4pathdVERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-286'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-611'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator+=' mangled-name='_ZN5boost10filesystem4pathpLERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='265' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-286'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-611'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='swap' mangled-name='_ZN5boost10filesystem4path4swapERS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='374' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <parameter type-id='type-id-61'/>
-              <return type-id='type-id-126'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5boost10filesystem4pathaSEOS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='154' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-62'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-63'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-744'>
           <member-function access='public' destructor='yes'>
             <function-decl name='~directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorD2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='909' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='directory_iterator' mangled-name='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem18directory_iteratorC2ERKNS0_4pathE'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='equal' mangled-name='_ZNK5boost10filesystem18directory_iterator5equalERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='941' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='dereference' mangled-name='_ZNK5boost10filesystem18directory_iterator11dereferenceEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='933' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <return type-id='type-id-310'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <return type-id='type-id-745'/>
             </function-decl>
           </member-function>
           <member-function access='private'>
             <function-decl name='increment' mangled-name='_ZN5boost10filesystem18directory_iterator9incrementEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='939' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-746'>
           <member-function access='public'>
             <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='749' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='directory_entry' mangled-name='_ZN5boost10filesystem15directory_entryC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystem15directory_entryC2ERKS1_'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-747'>
           <member-function access='public'>
             <function-decl name='file_status' mangled-name='_ZN5boost10filesystem11file_statusC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='258' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='file_status' mangled-name='_ZN5boost10filesystem11file_statusC2ERKS1_' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='269' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-69'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-72'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
         <namespace-decl name='detail'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-748'>
             <member-function access='public'>
               <function-decl name='dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impC2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='860' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public' destructor='yes'>
               <function-decl name='~dir_itr_imp' mangled-name='_ZN5boost10filesystem6detail11dir_itr_impD2Ev' filepath='src/third_party/boost-1.60.0/boost/filesystem/operations.hpp' line='866' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </namespace-decl>
         <function-decl name='operator/' mangled-name='_ZN5boost10filesystemdvERKNS0_4pathES3_' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost10filesystemdvERKNS0_4pathES3_'>
-          <parameter type-id='type-id-69' name='lhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
-          <parameter type-id='type-id-69' name='rhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='lhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
+          <parameter type-id='type-id-72' name='rhs' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='789' column='1'/>
+          <return type-id='type-id-689'/>
         </function-decl>
       </namespace-decl>
       <namespace-decl name='iterators'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-749'>
           <member-function access='private' static='yes'>
             <function-decl name='equal&lt;boost::filesystem::directory_iterator, boost::filesystem::directory_iterator&gt;' mangled-name='_ZN5boost9iterators20iterator_core_access5equalINS_10filesystem18directory_iteratorES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='565' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-69'/>
-              <parameter type-id='type-id-69'/>
-              <parameter type-id='type-id-311'/>
+              <parameter type-id='type-id-72'/>
+              <parameter type-id='type-id-72'/>
+              <parameter type-id='type-id-750'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='dereference&lt;boost::filesystem::directory_iterator&gt;' mangled-name='_ZN5boost9iterators20iterator_core_access11dereferenceINS_10filesystem18directory_iteratorEEENT_9referenceERKS5_' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='547' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-69'/>
-              <return type-id='type-id-310'/>
+              <parameter type-id='type-id-72'/>
+              <return type-id='type-id-745'/>
             </function-decl>
           </member-function>
           <member-function access='private' static='yes'>
             <function-decl name='increment&lt;boost::filesystem::directory_iterator&gt;' mangled-name='_ZN5boost9iterators20iterator_core_access9incrementINS_10filesystem18directory_iteratorEEEvRT_' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='553' column='1' visibility='default' binding='global' size-in-bits='64'>
               <parameter type-id='type-id-61'/>
-              <return type-id='type-id-126'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
         <namespace-decl name='detail'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-751'>
             <member-type access='private'>
-              <typedef-decl name='reference' type-id='type-id-61' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='645' column='1' id='type-id-310'/>
+              <typedef-decl name='reference' type-id='type-id-61' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='645' column='1' id='type-id-745'/>
             </member-type>
             <member-function access='public'>
               <function-decl name='operator*' mangled-name='_ZNK5boost9iterators6detail20iterator_facade_baseINS_10filesystem18directory_iteratorENS3_15directory_entryENS0_25single_pass_traversal_tagERS5_lLb0ELb0EEdeEv' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='653' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-70' is-artificial='yes'/>
-                <return type-id='type-id-310'/>
+                <parameter type-id='type-id-73' is-artificial='yes'/>
+                <return type-id='type-id-745'/>
               </function-decl>
             </member-function>
             <member-function access='public'>
               <function-decl name='operator++' mangled-name='_ZN5boost9iterators6detail20iterator_facade_baseINS_10filesystem18directory_iteratorENS3_15directory_entryENS0_25single_pass_traversal_tagERS5_lLb0ELb0EEppEv' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='663' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
                 <return type-id='type-id-61'/>
               </function-decl>
             </member-function>
           </class-decl>
-          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-752'>
             <member-function access='public'>
               <function-decl name='postfix_increment_proxy' mangled-name='_ZN5boost9iterators6detail23postfix_increment_proxyINS_10filesystem18directory_iteratorEEC2ERKS4_' filepath='src/third_party/boost-1.60.0/boost/iterator/iterator_facade.hpp' line='157' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-63' is-artificial='yes'/>
-                <parameter type-id='type-id-69'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-65' is-artificial='yes'/>
+                <parameter type-id='type-id-72'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </namespace-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-753'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-754'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-755'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-756'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-757'/>
+        <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-758'>
           <member-function access='protected'>
             <function-decl name='assign' mangled-name='_ZN5boost15optional_detail13optional_baseIbE6assignEOS2_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='347' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-62'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-63'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='assign_value' mangled-name='_ZN5boost15optional_detail13optional_baseIbE12assign_valueEObN4mpl_5bool_ILb0EEE' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='700' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-165'/>
-              <parameter type-id='type-id-207'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-201'/>
+              <parameter type-id='type-id-303'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-759'/>
       </namespace-decl>
       <namespace-decl name='system'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-760'>
           <member-type access='private'>
-            <typedef-decl name='unspecified_bool_type' type-id='type-id-125' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='359' column='1' id='type-id-312'/>
+            <typedef-decl name='unspecified_bool_type' type-id='type-id-128' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='359' column='1' id='type-id-761'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='error_code' mangled-name='_ZN5boost6system10error_codeC2Ev' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='322' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator void (*)()' mangled-name='_ZNK5boost6system10error_codecvPFvvEEv' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='362' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <return type-id='type-id-312'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <return type-id='type-id-761'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='message' mangled-name='_ZNK5boost6system10error_code7messageB5cxx11Ev' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='357' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <return type-id='type-id-179'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <return type-id='type-id-217'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='value' mangled-name='_ZNK5boost6system10error_code5valueEv' filepath='src/third_party/boost-1.60.0/boost/system/error_code.hpp' line='354' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
               <return type-id='type-id-16'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='detail'>
-        <typedef-decl name='sp_typeinfo' type-id='type-id-309' filepath='src/third_party/boost-1.60.0/boost/detail/sp_typeinfo.hpp' line='28' column='1' id='type-id-281'/>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <typedef-decl name='sp_typeinfo' type-id='type-id-743' filepath='src/third_party/boost-1.60.0/boost/detail/sp_typeinfo.hpp' line='28' column='1' id='type-id-606'/>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-762'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-763'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-764'>
           <member-function access='public' destructor='yes'>
             <function-decl name='~shared_count' mangled-name='_ZN5boost6detail12shared_countD2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='471' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='shared_count' mangled-name='_ZN5boost6detail12shared_countC2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='121' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='shared_count&lt;boost::filesystem::detail::dir_itr_imp&gt;' mangled-name='_ZN5boost6detail12shared_countC2INS_10filesystem6detail11dir_itr_impEEEPT_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail12shared_countC2INS_10filesystem6detail11dir_itr_impEEEPT_'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-63'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-65'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='swap' mangled-name='_ZN5boost6detail12shared_count4swapERS1_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/shared_count.hpp' line='516' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <parameter type-id='type-id-61'/>
-              <return type-id='type-id-126'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public' destructor='yes' vtable-offset='0'>
             <function-decl name='~sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseD2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_baseD2Ev'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public' vtable-offset='2'>
             <function-decl name='dispose' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE7disposeEv'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public' vtable-offset='3'>
             <function-decl name='destroy' mangled-name='_ZN5boost6detail15sp_counted_base7destroyEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail15sp_counted_base7destroyEv'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-765'>
           <member-function access='public'>
             <function-decl name='sp_counted_base' mangled-name='_ZN5boost6detail15sp_counted_baseC2Ev' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='73' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='release' mangled-name='_ZN5boost6detail15sp_counted_base7releaseEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='weak_release' mangled-name='_ZN5boost6detail15sp_counted_base12weak_releaseEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_base_clang.hpp' line='122' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-766'>
           <member-function access='public'>
             <function-decl name='sp_counted_impl_p' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEEC2EPS4_' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-63'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-65'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public' vtable-offset='4'>
             <function-decl name='get_deleter' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE11get_deleterERKSt9type_info' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE11get_deleterERKSt9type_info'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-283'/>
-              <return type-id='type-id-127'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-608'/>
+              <return type-id='type-id-130'/>
             </function-decl>
           </member-function>
           <member-function access='public' vtable-offset='5'>
             <function-decl name='get_untyped_deleter' mangled-name='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE19get_untyped_deleterEv' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/detail/sp_counted_impl.hpp' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail17sp_counted_impl_pINS_10filesystem6detail11dir_itr_impEE19get_untyped_deleterEv'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <return type-id='type-id-127'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <return type-id='type-id-130'/>
             </function-decl>
           </member-function>
         </class-decl>
         <function-decl name='sp_enable_shared_from_this' mangled-name='_ZN5boost6detail26sp_enable_shared_from_thisEz' filepath='src/third_party/boost-1.60.0/boost/smart_ptr/shared_ptr.hpp' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5boost6detail26sp_enable_shared_from_thisEz'>
           <parameter is-variadic='yes'/>
-          <return type-id='type-id-126'/>
+          <return type-id='type-id-129'/>
         </function-decl>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mpl_'>
-      <typedef-decl name='true_' type-id='type-id-313' filepath='src/third_party/boost-1.60.0/boost/mpl/bool_fwd.hpp' line='24' column='1' id='type-id-311'/>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='true_' is-struct='yes' naming-typedef-id='type-id-311' visibility='default' is-declaration-only='yes' id='type-id-313'/>
+      <typedef-decl name='true_' type-id='type-id-767' filepath='src/third_party/boost-1.60.0/boost/mpl/bool_fwd.hpp' line='24' column='1' id='type-id-750'/>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-768'/>
+      <class-decl name='true_' is-struct='yes' naming-typedef-id='type-id-750' visibility='default' is-declaration-only='yes' id='type-id-767'/>
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/file_reader.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='128' id='type-id-314'>
-      <subrange length='16' type-id='type-id-4' id='type-id-315'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='128' id='type-id-769'>
+      <subrange length='16' type-id='type-id-4' id='type-id-770'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='152' id='type-id-316'>
-      <subrange length='19' type-id='type-id-4' id='type-id-317'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='152' id='type-id-771'>
+      <subrange length='19' type-id='type-id-4' id='type-id-772'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='280' id='type-id-318'>
-      <subrange length='35' type-id='type-id-4' id='type-id-319'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='280' id='type-id-773'>
+      <subrange length='35' type-id='type-id-4' id='type-id-774'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-320'>
-      <subrange length='16' type-id='type-id-4' id='type-id-315'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-775'>
+      <subrange length='16' type-id='type-id-4' id='type-id-770'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='152' id='type-id-321'>
-      <subrange length='19' type-id='type-id-4' id='type-id-317'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='152' id='type-id-776'>
+      <subrange length='19' type-id='type-id-4' id='type-id-772'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='280' id='type-id-322'>
-      <subrange length='35' type-id='type-id-4' id='type-id-319'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='280' id='type-id-777'>
+      <subrange length='35' type-id='type-id-4' id='type-id-774'/>
     </array-type-def>
-    <qualified-type-def type-id='type-id-323' const='yes' id='type-id-324'/>
-    <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-325'/>
-    <reference-type-def kind='lvalue' type-id='type-id-320' size-in-bits='64' id='type-id-326'/>
-    <reference-type-def kind='lvalue' type-id='type-id-321' size-in-bits='64' id='type-id-327'/>
-    <reference-type-def kind='lvalue' type-id='type-id-322' size-in-bits='64' id='type-id-328'/>
-    <qualified-type-def type-id='type-id-329' const='yes' id='type-id-330'/>
-    <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-331'/>
-    <qualified-type-def type-id='type-id-115' const='yes' id='type-id-332'/>
-    <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-146'/>
-    <qualified-type-def type-id='type-id-119' const='yes' id='type-id-333'/>
-    <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-148'/>
-    <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-335'/>
+    <qualified-type-def type-id='type-id-778' const='yes' id='type-id-779'/>
+    <pointer-type-def type-id='type-id-779' size-in-bits='64' id='type-id-780'/>
+    <reference-type-def kind='lvalue' type-id='type-id-775' size-in-bits='64' id='type-id-781'/>
+    <reference-type-def kind='lvalue' type-id='type-id-776' size-in-bits='64' id='type-id-782'/>
+    <reference-type-def kind='lvalue' type-id='type-id-777' size-in-bits='64' id='type-id-783'/>
+    <qualified-type-def type-id='type-id-784' const='yes' id='type-id-785'/>
+    <pointer-type-def type-id='type-id-785' size-in-bits='64' id='type-id-786'/>
+    <qualified-type-def type-id='type-id-118' const='yes' id='type-id-787'/>
+    <pointer-type-def type-id='type-id-787' size-in-bits='64' id='type-id-159'/>
+    <qualified-type-def type-id='type-id-122' const='yes' id='type-id-788'/>
+    <pointer-type-def type-id='type-id-788' size-in-bits='64' id='type-id-161'/>
+    <pointer-type-def type-id='type-id-789' size-in-bits='64' id='type-id-790'/>
     <namespace-decl name='std'>
-      <enum-decl name='iostate' naming-typedef-id='type-id-147' is-declaration-only='yes' id='type-id-336'>
+      <enum-decl name='iostate' naming-typedef-id='type-id-160' is-declaration-only='yes' id='type-id-791'>
         <underlying-type type-id='type-id-21'/>
       </enum-decl>
-      <enum-decl name='openmode' naming-typedef-id='type-id-307' is-declaration-only='yes' id='type-id-337'>
+      <enum-decl name='openmode' naming-typedef-id='type-id-685' is-declaration-only='yes' id='type-id-792'>
         <underlying-type type-id='type-id-21'/>
       </enum-decl>
-      <typedef-decl name='streamsize' type-id='type-id-135' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/postypes.h' line='98' column='1' id='type-id-149'/>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <typedef-decl name='streamsize' type-id='type-id-138' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/postypes.h' line='98' column='1' id='type-id-162'/>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-793'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-794'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-795'>
         <member-function access='public'>
           <function-decl name='data' mangled-name='_ZNSt6vectorIcSaIcEE4dataEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='890' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-64'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-796'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-797'>
         <member-function access='protected'>
           <function-decl name='_M_allocate_and_copy&lt;__gnu_cxx::__normal_iterator&lt;const mongo::BSONObj *, std::vector&lt;mongo::BSONObj, std::allocator&lt;mongo::BSONObj&gt; &gt; &gt; &gt;' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEPS1_mT_SB_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1221' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-137'/>
+            <parameter type-id='type-id-529'/>
+            <parameter type-id='type-id-529'/>
+            <return type-id='type-id-141'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator=' mangled-name='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEaSERKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='436' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorIN5mongo7BSONObjESaIS1_EEaSERKS3_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-798'/>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-799'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-800'/>
+      <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-801'>
         <member-function access='public' static='yes'>
           <function-decl name='__destroy&lt;__gnu_cxx::__normal_iterator&lt;mongo::BSONObj *, std::vector&lt;mongo::BSONObj, std::allocator&lt;mongo::BSONObj&gt; &gt; &gt; &gt;' mangled-name='_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN5mongo7BSONObjESt6vectorIS5_SaIS5_EEEEEEvT_SB_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_construct.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-802'/>
+            <parameter type-id='type-id-802'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-803'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-804'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-805'/>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-806'/>
+      <class-decl name='__anonymous_struct__13' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-807'/>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-808'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;mongo::BSONObj *, mongo::BSONObj *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5mongo7BSONObjES4_EET0_T_S6_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__15' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-809'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;mongo::BSONObj *, mongo::BSONObj *&gt;' mangled-name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN5mongo7BSONObjES5_EET0_T_S7_S6_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;const mongo::BSONObj *, mongo::BSONObj *&gt;' mangled-name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN5mongo7BSONObjEPS4_EET0_T_S9_S8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='335' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70'/>
-            <parameter type-id='type-id-70'/>
-            <parameter type-id='type-id-63'/>
-            <return type-id='type-id-63'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-73'/>
+            <parameter type-id='type-id-65'/>
+            <return type-id='type-id-65'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__16' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-810'/>
+      <class-decl name='__anonymous_struct__17' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-811'/>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-812'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::BSONObj &amp;, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm1EJRKN5mongo7BSONObjENS0_6Date_tEEEC2IRS1_JRS4_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-813'>
         <member-function access='public'>
           <function-decl name='_Tuple_impl&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj &amp;, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt11_Tuple_implILm0EJN5mongo12FTDCBSONUtil8FTDCTypeERKNS0_7BSONObjENS0_6Date_tEEEC2IS2_JRS3_RS6_EvEEOT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='211' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-208'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
             <parameter type-id='type-id-61'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-814'>
         <member-function access='public'>
           <function-decl name='tuple&lt;mongo::FTDCBSONUtil::FTDCType, mongo::BSONObj &amp;, mongo::Date_t &amp;, void&gt;' mangled-name='_ZNSt5tupleIJN5mongo12FTDCBSONUtil8FTDCTypeERKNS0_7BSONObjENS0_6Date_tEEEC2IJS2_RS3_RS6_EvEEDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='479' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-208'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-304'/>
             <parameter type-id='type-id-61'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-815'>
         <member-function access='public'>
           <function-decl name='_Head_base&lt;mongo::BSONObj &amp;&gt;' mangled-name='_ZNSt10_Head_baseILm1ERKN5mongo7BSONObjELb0EEC2IRS1_EEOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple' line='114' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-61'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__22' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-816'/>
+      <class-decl name='__anonymous_struct__23' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-817'/>
+      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-818'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_default_n&lt;char *, unsigned long&gt;' mangled-name='_ZNSt27__uninitialized_default_n_1ILb1EE18__uninit_default_nIPcmEET_S3_T0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-64'/>
+            <parameter type-id='type-id-66'/>
             <parameter type-id='type-id-24'/>
-            <return type-id='type-id-64'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__25' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-819'>
         <member-function access='public' static='yes'>
           <function-decl name='__copy_m&lt;char&gt;' mangled-name='_ZNSt11__copy_moveILb1ELb1ESt26random_access_iterator_tagE8__copy_mIcEEPT_PKS3_S6_S4_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_algobase.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-64'/>
-            <return type-id='type-id-64'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-66'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__26' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__26' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-820'>
         <member-function access='public' static='yes'>
           <function-decl name='__uninit_copy&lt;std::move_iterator&lt;char *&gt;, char *&gt;' mangled-name='_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPcES3_EET0_T_S6_S5_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_uninitialized.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-64'/>
-            <return type-id='type-id-64'/>
+            <parameter type-id='type-id-821'/>
+            <parameter type-id='type-id-821'/>
+            <parameter type-id='type-id-66'/>
+            <return type-id='type-id-66'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='basic_filebuf&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='1920' visibility='default' is-declaration-only='yes' id='type-id-329'>
+      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-821'/>
+      <class-decl name='basic_filebuf&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='1920' visibility='default' is-declaration-only='yes' id='type-id-784'>
         <member-function access='public'>
           <function-decl name='is_open' mangled-name='_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='252' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-331' is-artificial='yes'/>
+            <parameter type-id='type-id-786' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='basic_ifstream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='4160' visibility='default' is-declaration-only='yes' id='type-id-334'>
+      <class-decl name='basic_ifstream&lt;char, std::char_traits&lt;char&gt; &gt;' size-in-bits='4160' visibility='default' is-declaration-only='yes' id='type-id-789'>
         <member-function access='public'>
           <function-decl name='close' mangled-name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='633' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-335' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-790' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='is_open' mangled-name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='574' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-335' is-artificial='yes'/>
+            <parameter type-id='type-id-790' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='open' mangled-name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='595' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-335' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-307'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-790' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-685'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' destructor='yes' vtable-offset='0'>
           <function-decl name='~basic_ifstream' mangled-name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/fstream' line='533' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-335' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-790' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='ios_base' size-in-bits='1728' visibility='default' is-declaration-only='yes' id='type-id-338'>
+      <class-decl name='ios_base' size-in-bits='1728' visibility='default' is-declaration-only='yes' id='type-id-822'>
         <member-type access='private'>
-          <typedef-decl name='iostate' type-id='type-id-336' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/ios_base.h' line='398' column='1' id='type-id-147'/>
+          <typedef-decl name='iostate' type-id='type-id-791' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/ios_base.h' line='398' column='1' id='type-id-160'/>
         </member-type>
         <member-type access='private'>
-          <typedef-decl name='openmode' type-id='type-id-337' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/ios_base.h' line='429' column='1' id='type-id-307'/>
+          <typedef-decl name='openmode' type-id='type-id-792' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/ios_base.h' line='429' column='1' id='type-id-685'/>
         </member-type>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-823'/>
         </member-type>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-824'/>
         </member-type>
       </class-decl>
       <function-decl name='operator+&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;' mangled-name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.tcc' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_'>
-        <parameter type-id='type-id-72' name='__lhs' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.tcc' line='1151' column='1'/>
-        <parameter type-id='type-id-157' name='__rhs' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.tcc' line='1152' column='1'/>
-        <return type-id='type-id-85'/>
+        <parameter type-id='type-id-75' name='__lhs' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.tcc' line='1151' column='1'/>
+        <parameter type-id='type-id-174' name='__rhs' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/basic_string.tcc' line='1152' column='1'/>
+        <return type-id='type-id-88'/>
       </function-decl>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-825'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-826'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-827'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-828'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-802'>
         <member-function access='public'>
           <function-decl name='__normal_iterator' mangled-name='_ZN9__gnu_cxx17__normal_iteratorIPN5mongo7BSONObjESt6vectorIS2_SaIS2_EEEC2ERKS3_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_iterator.h' line='740' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-171'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-209'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-829'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-830'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-831'/>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-832'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-833'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-834'/>
     </namespace-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-835'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [35]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA35_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-328'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-783'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [16]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA16_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-326'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-781'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [19]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA19_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-327'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-782'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -7392,204 +7392,204 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-836'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-837'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-838'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-839'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-840'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-841'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-842'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-843'>
         <member-function access='public' destructor='yes'>
           <function-decl name='~FTDCFileReader' mangled-name='_ZN5mongo14FTDCFileReaderD2Ev' filepath='src/mongo/db/ftdc/file_reader.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileReaderD2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='hasNext' mangled-name='_ZN5mongo14FTDCFileReader7hasNextEv' filepath='src/mongo/db/ftdc/file_reader.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileReader7hasNextEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='readDocument' mangled-name='_ZN5mongo14FTDCFileReader12readDocumentEv' filepath='src/mongo/db/ftdc/file_reader.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileReader12readDocumentEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='next' mangled-name='_ZN5mongo15BSONObjIterator4nextEv' filepath='src/mongo/db/ftdc/file_reader.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileReader4nextEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-195'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='open' mangled-name='_ZN5mongo14FTDCFileWriter4openERKN5boost10filesystem4pathE' filepath='src/mongo/db/ftdc/file_reader.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileReader4openERKN5boost10filesystem4pathE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-497'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-844'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-845'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-846'>
         <member-function access='public'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithIbEC2Eb' filepath='src/mongo/base/status_with.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-1'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-847'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-848'>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithINS_12FTDCBSONUtil8FTDCTypeEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-277'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-602'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-849'/>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-850'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-851'/>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-852'/>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-853'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-854'/>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-855'/>
+      <class-decl name='__anonymous_struct__18' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-856'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-857'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-858'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-859'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-860'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-861'/>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-862'>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZNK5mongo14ConstDataRange4readINS_9ValidatedINS_7BSONObjEEEEENS_6StatusEPT_m' filepath='src/mongo/base/data_range.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-844'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::Validated&lt;mongo::BSONObj&gt; &gt;' mangled-name='_ZNK5mongo14ConstDataRange4readINS_9ValidatedINS_7BSONObjEEEEENS_10StatusWithIT_EEm' filepath='src/mongo/base/data_range.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNK5mongo14ConstDataRange4readINS_9ValidatedINS_7BSONObjEEEEENS_10StatusWithIT_EEm'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-294'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__21' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-863'/>
+      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-864'/>
+      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-865'/>
+      <class-decl name='__anonymous_struct__24' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-866'/>
       <namespace-decl name='FTDCBSONUtil'>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-867'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-868'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-869'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-870'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-871'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-872'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-873'/>
       <namespace-decl name='filesystem'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-874'>
           <member-type access='private'>
-            <typedef-decl name='value_type' type-id='type-id-2' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='67' column='1' id='type-id-323'/>
+            <typedef-decl name='value_type' type-id='type-id-2' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='67' column='1' id='type-id-778'/>
           </member-type>
           <member-function access='public'>
             <function-decl name='c_str' mangled-name='_ZNK5boost10filesystem4path5c_strEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='398' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
-              <return type-id='type-id-325'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
+              <return type-id='type-id-780'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-875'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-876'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-877'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-878'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-879'/>
+        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-880'/>
+        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-881'/>
+        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-882'/>
+        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-883'/>
+        <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-884'/>
+        <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-885'/>
+        <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-886'/>
+        <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-887'/>
       </namespace-decl>
       <namespace-decl name='detail'>
-        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-888'/>
       </namespace-decl>
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/file_writer.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='632' id='type-id-339'>
-      <subrange length='79' type-id='type-id-4' id='type-id-340'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='632' id='type-id-889'>
+      <subrange length='79' type-id='type-id-4' id='type-id-890'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='632' id='type-id-341'>
-      <subrange length='79' type-id='type-id-4' id='type-id-340'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='632' id='type-id-891'>
+      <subrange length='79' type-id='type-id-4' id='type-id-890'/>
     </array-type-def>
-    <reference-type-def kind='lvalue' type-id='type-id-341' size-in-bits='64' id='type-id-342'/>
+    <reference-type-def kind='lvalue' type-id='type-id-891' size-in-bits='64' id='type-id-892'/>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-893'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-894'/>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-895'/>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-896'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-897'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-898'/>
+      <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-899'/>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-900'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-901'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-902'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-903'/>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-904'/>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-905'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-906'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-907'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-908'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-909'/>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-910'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-911'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-912'/>
     </namespace-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-913'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [79]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA79_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-342'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-892'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -7597,376 +7597,376 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-914'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-915'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-916'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-917'>
         <member-function access='public' destructor='yes'>
           <function-decl name='~FTDCFileWriter' mangled-name='_ZN5mongo14FTDCFileWriterD2Ev' filepath='src/mongo/db/ftdc/file_writer.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriterD2Ev'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='writeInterimFileBuffer' mangled-name='_ZN5mongo14FTDCFileWriter22writeInterimFileBufferENS_14ConstDataRangeE' filepath='src/mongo/db/ftdc/file_writer.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriter22writeInterimFileBufferENS_14ConstDataRangeE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-185'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='writeArchiveFileBuffer' mangled-name='_ZN5mongo14FTDCFileWriter22writeArchiveFileBufferENS_14ConstDataRangeE' filepath='src/mongo/db/ftdc/file_writer.h' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriter22writeArchiveFileBufferENS_14ConstDataRangeE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-70'/>
+            <return type-id='type-id-185'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='writeMetadata' mangled-name='_ZN5mongo14FTDCFileWriter13writeMetadataERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/file_writer.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriter13writeMetadataERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-354'/>
+            <return type-id='type-id-351'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='writeSample' mangled-name='_ZN5mongo14FTDCFileWriter11writeSampleERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/file_writer.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriter11writeSampleERKNS_7BSONObjENS_6Date_tE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-354'/>
+            <return type-id='type-id-351'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='flush' mangled-name='_ZN5mongo14FTDCFileWriter5flushERKN5boost8optionalINS_14ConstDataRangeEEENS_6Date_tE' filepath='src/mongo/db/ftdc/file_writer.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriter5flushERKN5boost8optionalINS_14ConstDataRangeEEENS_6Date_tE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-918'/>
+            <return type-id='type-id-914'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='closeWithoutFlushForTest' mangled-name='_ZN5mongo14FTDCFileWriter24closeWithoutFlushForTestEv' filepath='src/mongo/db/ftdc/file_writer.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14FTDCFileWriter24closeWithoutFlushForTestEv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-919'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-918'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-920'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-921'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-922'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-923'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-924'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-925'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-926'/>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-927'>
         <member-function access='public'>
           <function-decl name='getSampleCount' mangled-name='_ZNK5mongo14FTDCCompressor14getSampleCountEv' filepath='src/mongo/db/ftdc/compressor.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-27'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='hasDataToFlush' mangled-name='_ZNK5mongo14FTDCCompressor14hasDataToFlushEv' filepath='src/mongo/db/ftdc/compressor.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-928'/>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-929'/>
+      <class-decl name='__anonymous_struct__14' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-930'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-931'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-932'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-933'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-934'>
         <member-function access='public'>
           <function-decl name='getValue' mangled-name='_ZN5mongo10StatusWithIN5boost8optionalISt5tupleIJNS_14ConstDataRangeENS_14FTDCCompressor15CompressorStateENS_6Date_tEEEEEE8getValueEv' filepath='src/mongo/base/status_with.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-935'/>
       <namespace-decl name='logger'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-936'>
         </class-decl>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-937'>
         <member-type access='private'>
-          <typedef-decl name='argument_type' type-id='type-id-344' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='782' column='1' id='type-id-343'/>
+          <typedef-decl name='argument_type' type-id='type-id-939' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='782' column='1' id='type-id-938'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalIN5mongo14ConstDataRangeEEC2ENS_6none_tE' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='790' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-940'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='optional' mangled-name='_ZN5boost8optionalIN5mongo14ConstDataRangeEEC2ERKS2_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='794' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-343'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-938'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-940'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-941'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-942'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-943'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-944'/>
       <namespace-decl name='filesystem'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-945'/>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-946'>
           <member-function access='protected'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo14ConstDataRangeEEC2ENS_6none_tE' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='245' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-940'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='optional_base' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo14ConstDataRangeEEC2ERKS3_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='251' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-344'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-939'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='protected'>
             <function-decl name='construct' mangled-name='_ZN5boost15optional_detail13optional_baseIN5mongo14ConstDataRangeEE9constructERKS3_' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='472' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-344'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-939'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-947'>
           <member-type access='public'>
-            <typedef-decl name='argument_type' type-id='type-id-69' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='164' column='1' id='type-id-344'/>
+            <typedef-decl name='argument_type' type-id='type-id-72' filepath='src/third_party/boost-1.60.0/boost/optional/optional.hpp' line='164' column='1' id='type-id-939'/>
           </member-type>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-948'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-949'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-950'/>
+        <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-951'/>
+        <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-952'/>
       </namespace-decl>
       <namespace-decl name='system'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-953'/>
       </namespace-decl>
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/util.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='56' id='type-id-345'>
-      <subrange length='7' type-id='type-id-4' id='type-id-346'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='56' id='type-id-954'>
+      <subrange length='7' type-id='type-id-4' id='type-id-955'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='64' id='type-id-347'>
-      <subrange length='8' type-id='type-id-4' id='type-id-348'/>
+    <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='64' id='type-id-956'>
+      <subrange length='8' type-id='type-id-4' id='type-id-957'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='32' id='type-id-349'>
-      <subrange length='4' type-id='type-id-4' id='type-id-350'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='32' id='type-id-958'>
+      <subrange length='4' type-id='type-id-4' id='type-id-959'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='40' id='type-id-351'>
-      <subrange length='5' type-id='type-id-4' id='type-id-352'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='40' id='type-id-960'>
+      <subrange length='5' type-id='type-id-4' id='type-id-961'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='48' id='type-id-353'>
-      <subrange length='6' type-id='type-id-4' id='type-id-354'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='48' id='type-id-962'>
+      <subrange length='6' type-id='type-id-4' id='type-id-963'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='56' id='type-id-355'>
-      <subrange length='7' type-id='type-id-4' id='type-id-346'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='56' id='type-id-964'>
+      <subrange length='7' type-id='type-id-4' id='type-id-955'/>
     </array-type-def>
-    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-356'>
-      <subrange length='8' type-id='type-id-4' id='type-id-348'/>
+    <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-965'>
+      <subrange length='8' type-id='type-id-4' id='type-id-957'/>
     </array-type-def>
-    <type-decl name='signed char' size-in-bits='8' id='type-id-357'/>
-    <typedef-decl name='int64_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/sys/types.h' line='197' column='1' id='type-id-358'/>
-    <qualified-type-def type-id='type-id-209' const='yes' id='type-id-359'/>
-    <reference-type-def kind='lvalue' type-id='type-id-359' size-in-bits='64' id='type-id-360'/>
-    <reference-type-def kind='lvalue' type-id='type-id-355' size-in-bits='64' id='type-id-361'/>
-    <reference-type-def kind='lvalue' type-id='type-id-356' size-in-bits='64' id='type-id-362'/>
-    <qualified-type-def type-id='type-id-358' const='yes' id='type-id-363'/>
-    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-364'/>
-    <reference-type-def kind='lvalue' type-id='type-id-364' size-in-bits='64' id='type-id-365'/>
-    <reference-type-def kind='lvalue' type-id='type-id-16' size-in-bits='64' id='type-id-366'/>
-    <reference-type-def kind='rvalue' type-id='type-id-19' size-in-bits='64' id='type-id-367'/>
-    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-368'/>
-    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-369'/>
-    <pointer-type-def type-id='type-id-357' size-in-bits='64' id='type-id-370'/>
-    <reference-type-def kind='rvalue' type-id='type-id-23' size-in-bits='64' id='type-id-371'/>
+    <type-decl name='signed char' size-in-bits='8' id='type-id-966'/>
+    <typedef-decl name='int64_t' type-id='type-id-18' filepath='/usr/include/x86_64-linux-gnu/sys/types.h' line='197' column='1' id='type-id-967'/>
+    <qualified-type-def type-id='type-id-305' const='yes' id='type-id-968'/>
+    <reference-type-def kind='lvalue' type-id='type-id-968' size-in-bits='64' id='type-id-969'/>
+    <reference-type-def kind='lvalue' type-id='type-id-964' size-in-bits='64' id='type-id-970'/>
+    <reference-type-def kind='lvalue' type-id='type-id-965' size-in-bits='64' id='type-id-971'/>
+    <qualified-type-def type-id='type-id-967' const='yes' id='type-id-972'/>
+    <qualified-type-def type-id='type-id-19' const='yes' id='type-id-973'/>
+    <reference-type-def kind='lvalue' type-id='type-id-973' size-in-bits='64' id='type-id-974'/>
+    <reference-type-def kind='lvalue' type-id='type-id-16' size-in-bits='64' id='type-id-975'/>
+    <reference-type-def kind='rvalue' type-id='type-id-19' size-in-bits='64' id='type-id-976'/>
+    <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-977'/>
+    <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-978'/>
+    <pointer-type-def type-id='type-id-966' size-in-bits='64' id='type-id-979'/>
+    <reference-type-def kind='rvalue' type-id='type-id-23' size-in-bits='64' id='type-id-980'/>
     <namespace-decl name='std'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-981'>
         <member-type access='private'>
-          <typedef-decl name='const_reference' type-id='type-id-373' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='230' column='1' id='type-id-372'/>
+          <typedef-decl name='const_reference' type-id='type-id-983' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='230' column='1' id='type-id-982'/>
         </member-type>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;unsigned int&gt;' mangled-name='_ZNSt6vectorImSaImEE12emplace_backIJjEEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-371'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-980'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;long long&gt;' mangled-name='_ZNSt6vectorImSaImEE12emplace_backIJxEEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-367'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-976'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='emplace_back&lt;bool&gt;' mangled-name='_ZNSt6vectorImSaImEE12emplace_backIJbEEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='936' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-278'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-603'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator[]' mangled-name='_ZNKSt6vectorImSaImEEixEm' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='794' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-28'/>
-            <return type-id='type-id-372'/>
+            <return type-id='type-id-982'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;long long&gt;' mangled-name='_ZNSt6vectorImSaImEE19_M_emplace_back_auxIJxEEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorImSaImEE19_M_emplace_back_auxIJxEEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-367'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-976'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;bool&gt;' mangled-name='_ZNSt6vectorImSaImEE19_M_emplace_back_auxIJbEEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorImSaImEE19_M_emplace_back_auxIJbEEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-278'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-603'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='protected'>
           <function-decl name='_M_emplace_back_aux&lt;unsigned int&gt;' mangled-name='_ZNSt6vectorImSaImEE19_M_emplace_back_auxIJjEEEvDpOT_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/stl_vector.h' line='1417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNSt6vectorImSaImEE19_M_emplace_back_auxIJjEEEvDpOT_'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-371'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-980'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-984'>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;unsigned long, bool&gt;' mangled-name='_ZNSt16allocator_traitsISaImEE9constructImJbEEEvRS0_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
-            <parameter type-id='type-id-216'/>
-            <parameter type-id='type-id-278'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-312'/>
+            <parameter type-id='type-id-603'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;unsigned long, long long&gt;' mangled-name='_ZNSt16allocator_traitsISaImEE9constructImJxEEEvRS0_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
-            <parameter type-id='type-id-216'/>
-            <parameter type-id='type-id-367'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-312'/>
+            <parameter type-id='type-id-976'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='construct&lt;unsigned long, unsigned int&gt;' mangled-name='_ZNSt16allocator_traitsISaImEE9constructImJjEEEvRS0_PT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/alloc_traits.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-112'/>
-            <parameter type-id='type-id-216'/>
-            <parameter type-id='type-id-371'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-115'/>
+            <parameter type-id='type-id-312'/>
+            <parameter type-id='type-id-980'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-985'/>
+      <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-986'/>
+      <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-987'/>
+      <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-988'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-989'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-990'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-991'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-992'/>
+      <class-decl name='__anonymous_struct__9' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-993'/>
+      <class-decl name='__anonymous_struct__10' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-994'/>
+      <class-decl name='__anonymous_struct__11' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-995'/>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-996'/>
     </namespace-decl>
     <namespace-decl name='__gnu_cxx'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-997'>
         <member-type access='public'>
-          <typedef-decl name='const_reference' type-id='type-id-360' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='110' column='1' id='type-id-373'/>
+          <typedef-decl name='const_reference' type-id='type-id-969' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/alloc_traits.h' line='110' column='1' id='type-id-983'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-998'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-999'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1000'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1001'>
         <member-function access='public'>
           <function-decl name='construct&lt;unsigned long, bool&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorImE9constructImJbEEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-216'/>
-            <parameter type-id='type-id-278'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-312'/>
+            <parameter type-id='type-id-603'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='construct&lt;unsigned long, long long&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorImE9constructImJxEEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-216'/>
-            <parameter type-id='type-id-367'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-312'/>
+            <parameter type-id='type-id-976'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='construct&lt;unsigned long, unsigned int&gt;' mangled-name='_ZN9__gnu_cxx13new_allocatorImE9constructImJjEEEvPT_DpOT0_' filepath='/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-216'/>
-            <parameter type-id='type-id-371'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-312'/>
+            <parameter type-id='type-id-980'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
     </namespace-decl>
     <namespace-decl name='mongoutils'>
       <namespace-decl name='str'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1002'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [8]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA8_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-362'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-971'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;long long&gt;' mangled-name='_ZN10mongoutils3str6streamlsIxEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-365'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-974'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;&lt;char [7]&gt;' mangled-name='_ZN10mongoutils3str6streamlsIA7_cEERS1_RKT_' filepath='src/mongo/util/mongoutils/str.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-361'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-970'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
@@ -7974,679 +7974,679 @@
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1003'>
         <data-member access='public' static='yes'>
-          <var-decl name='kPeriodMillisDefault' type-id='type-id-363' mangled-name='_ZN5mongo10FTDCConfig20kPeriodMillisDefaultE' visibility='default' filepath='src/mongo/db/ftdc/config.h' line='88' column='1' elf-symbol-id='_ZN5mongo10FTDCConfig20kPeriodMillisDefaultE'/>
+          <var-decl name='kPeriodMillisDefault' type-id='type-id-972' mangled-name='_ZN5mongo10FTDCConfig20kPeriodMillisDefaultE' visibility='default' filepath='src/mongo/db/ftdc/config.h' line='88' column='1' elf-symbol-id='_ZN5mongo10FTDCConfig20kPeriodMillisDefaultE'/>
         </data-member>
       </class-decl>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1004'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1005'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1006'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1007'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1008'/>
+      <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1009'/>
+      <class-decl name='__anonymous_struct__7' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1010'/>
+      <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1011'/>
+      <class-decl name='__anonymous_struct__9' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1012'/>
+      <class-decl name='__anonymous_struct__10' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1013'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1014'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__11' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1015'>
         <member-function access='public'>
           <function-decl name='BSONObjIterator' mangled-name='_ZN5mongo15BSONObjIteratorC2ERKNS_7BSONObjE' filepath='src/mongo/bson/bsonobj.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='more' mangled-name='_ZN5mongo15BSONObjIterator4moreEv' filepath='src/mongo/bson/bsonobj.h' line='619' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__12' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1016'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1017'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1018'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1019'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIxvE10unsafeLoadEPxPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-368'/>
-                <parameter type-id='type-id-72'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-977'/>
+                <parameter type-id='type-id-75'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeStore' mangled-name='_ZN5mongo8DataType7HandlerIxvE11unsafeStoreERKxPcPm' filepath='src/mongo/base/data_type.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-365'/>
-                <parameter type-id='type-id-64'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-974'/>
+                <parameter type-id='type-id-66'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1020'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__4' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1021'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIyvE10unsafeLoadEPyPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-369'/>
-                <parameter type-id='type-id-72'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-978'/>
+                <parameter type-id='type-id-75'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1022'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__6' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1023'>
             <member-function access='public' static='yes'>
               <function-decl name='unsafeLoad' mangled-name='_ZN5mongo8DataType7HandlerIavE10unsafeLoadEPaPKcPm' filepath='src/mongo/base/data_type.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
-                <parameter type-id='type-id-370'/>
-                <parameter type-id='type-id-72'/>
-                <parameter type-id='type-id-194'/>
-                <return type-id='type-id-126'/>
+                <parameter type-id='type-id-979'/>
+                <parameter type-id='type-id-75'/>
+                <parameter type-id='type-id-232'/>
+                <return type-id='type-id-129'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1024'/>
         </member-type>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__8' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1025'/>
         </member-type>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;long long&gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadIxEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-368'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-977'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;mongo::LittleEndian&lt;long long&gt; &gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadINS_12LittleEndianIxEEEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;unsigned long long&gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadIyEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-369'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-978'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;mongo::LittleEndian&lt;unsigned long long&gt; &gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadINS_12LittleEndianIyEEEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeLoad&lt;signed char&gt;' mangled-name='_ZN5mongo8DataType10unsafeLoadIaEEvPT_PKcPm' filepath='src/mongo/base/data_type.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-370'/>
-            <parameter type-id='type-id-72'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-979'/>
+            <parameter type-id='type-id-75'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;long long&gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreIxEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-365'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-974'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public' static='yes'>
           <function-decl name='unsafeStore&lt;mongo::LittleEndian&lt;long long&gt; &gt;' mangled-name='_ZN5mongo8DataType11unsafeStoreINS_12LittleEndianIxEEEEvRKT_PcPm' filepath='src/mongo/base/data_type.h' line='155' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-69'/>
-            <parameter type-id='type-id-64'/>
-            <parameter type-id='type-id-194'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-66'/>
+            <parameter type-id='type-id-232'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__13' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1026'>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;long long&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIxEEEERKS0_PT_m' filepath='src/mongo/base/data_view.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-69'/>
+            <return type-id='type-id-72'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;long long&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIxEEEET_m' filepath='src/mongo/base/data_view.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-294'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;unsigned long long&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIyEEEERKS0_PT_m' filepath='src/mongo/base/data_view.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-63'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-65'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-69'/>
+            <return type-id='type-id-72'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;mongo::LittleEndian&lt;unsigned long long&gt; &gt;' mangled-name='_ZNK5mongo13ConstDataView4readINS_12LittleEndianIyEEEET_m' filepath='src/mongo/base/data_view.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-60'/>
+            <return type-id='type-id-294'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;signed char&gt;' mangled-name='_ZNK5mongo13ConstDataView4readIaEERKS0_PT_m' filepath='src/mongo/base/data_view.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-370'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-979'/>
             <parameter type-id='type-id-54'/>
-            <return type-id='type-id-69'/>
+            <return type-id='type-id-72'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='read&lt;signed char&gt;' mangled-name='_ZNK5mongo13ConstDataView4readIaEET_m' filepath='src/mongo/base/data_view.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <parameter type-id='type-id-27'/>
-            <return type-id='type-id-357'/>
+            <return type-id='type-id-966'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__14' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1027'>
         <member-function access='public'>
           <function-decl name='BSONElement' mangled-name='_ZN5mongo11BSONElementC2Ev' filepath='src/mongo/bson/bsonelement.h' line='560' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='BSONElement' mangled-name='_ZN5mongo11BSONElementC2EPKc' filepath='src/mongo/bson/bsonelement.h' line='657' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-72'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-75'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='eoo' mangled-name='_ZNK5mongo11BSONElement3eooEv' filepath='src/mongo/bson/bsonelement.h' line='224' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fieldName' mangled-name='_ZNK5mongo11BSONElement9fieldNameEv' filepath='src/mongo/bson/bsonelement.h' line='244' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-72'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-75'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fieldNameStringData' mangled-name='_ZNK5mongo11BSONElement19fieldNameStringDataEv' filepath='src/mongo/bson/bsonelement.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-68'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-71'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='fieldNameSize' mangled-name='_ZNK5mongo11BSONElement13fieldNameSizeEv' filepath='src/mongo/bson/bsonelement.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='value' mangled-name='_ZNK5mongo11BSONElement5valueEv' filepath='src/mongo/bson/bsonelement.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-72'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-75'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='boolean' mangled-name='_ZNK5mongo11BSONElement7booleanEv' filepath='src/mongo/bson/bsonelement.h' line='279' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='Bool' mangled-name='_ZNK5mongo11BSONElement4BoolEv' filepath='src/mongo/bson/bsonelement.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='type' mangled-name='_ZNK5mongo11BSONElement4typeEv' filepath='src/mongo/bson/bsonelement.h' line='206' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-162'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-186'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='isNumber' mangled-name='_ZNK5mongo11BSONElement8isNumberEv' filepath='src/mongo/bson/bsonelement.h' line='301' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-1'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='timestamp' mangled-name='_ZNK5mongo11BSONElement9timestampEv' filepath='src/mongo/bson/bsonelement.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-1028'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='Date' mangled-name='_ZNK5mongo11BSONElement4DateEv' filepath='src/mongo/bson/bsonelement.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-1028'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='date' mangled-name='_ZNK5mongo11BSONElement4dateEv' filepath='src/mongo/bson/bsonelement.h' line='291' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-1028'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='binData' mangled-name='_ZNK5mongo11BSONElement7binDataERi' filepath='src/mongo/bson/bsonelement.h' line='446' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-366'/>
-            <return type-id='type-id-72'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-975'/>
+            <return type-id='type-id-75'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='valuestrsize' mangled-name='_ZNK5mongo11BSONElement12valuestrsizeEv' filepath='src/mongo/bson/bsonelement.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_numberDouble' mangled-name='_ZNK5mongo11BSONElement13_numberDoubleEv' filepath='src/mongo/bson/bsonelement.h' line='304' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-14'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_numberInt' mangled-name='_ZNK5mongo11BSONElement10_numberIntEv' filepath='src/mongo/bson/bsonelement.h' line='309' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-16'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_numberLong' mangled-name='_ZNK5mongo11BSONElement11_numberLongEv' filepath='src/mongo/bson/bsonelement.h' line='321' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-19'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='_numberDecimal' mangled-name='_ZNK5mongo11BSONElement14_numberDecimalEv' filepath='src/mongo/bson/bsonelement.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-60'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-1028'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='numberLong' mangled-name='_ZNK5mongo11BSONElement10numberLongEv' filepath='src/mongo/bson/bsonelement.h' line='330' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNK5mongo11BSONElement10numberLongEv'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
             <return type-id='type-id-19'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='chk' mangled-name='_ZNK5mongo11BSONElement3chkENS_8BSONTypeE' filepath='src/mongo/bson/bsonelement.h' line='692' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZNK5mongo11BSONElement3chkENS_8BSONTypeE'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <parameter type-id='type-id-162'/>
-            <return type-id='type-id-69'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <return type-id='type-id-72'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__15' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1028'/>
+      <class-decl name='__anonymous_struct__16' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1029'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1030'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__17' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1031'/>
+      <class-decl name='__anonymous_struct__18' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1032'/>
+      <class-decl name='__anonymous_struct__19' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1033'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1034'/>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__20' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1035'>
         <member-function access='private'>
           <function-decl name='appendNumImpl&lt;int&gt;' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE13appendNumImplIiEEvT_' filepath='src/mongo/bson/util/builder.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendNum' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendNumEi' filepath='src/mongo/bson/util/builder.h' line='219' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-16'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='buf' mangled-name='_ZNK5mongo11_BufBuilderINS_21SharedBufferAllocatorEE3bufEv' filepath='src/mongo/bson/util/builder.h' line='196' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-72'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-75'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='appendNumImpl&lt;long long&gt;' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE13appendNumImplIxEEvT_' filepath='src/mongo/bson/util/builder.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-19'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendNum' mangled-name='_ZN5mongo11_BufBuilderINS_21SharedBufferAllocatorEE9appendNumEx' filepath='src/mongo/bson/util/builder.h' line='234' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-19'/>
-            <return type-id='type-id-126'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__21' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1036'/>
+      <class-decl name='__anonymous_struct__22' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1037'/>
+      <class-decl name='__anonymous_struct__23' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1038'>
         <member-function access='public'>
           <function-decl name='append' mangled-name='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataENS_9TimestampE' filepath='src/mongo/bson/bsonobjbuilder.h' line='437' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
+            <parameter type-id='type-id-1007'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendNumber' mangled-name='_ZN5mongo14BSONObjBuilder12appendNumberENS_10StringDataEi' filepath='src/mongo/bson/bsonobjbuilder.h' line='336' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendObject' mangled-name='_ZN5mongo14BSONObjBuilder12appendObjectENS_10StringDataEPKci' filepath='src/mongo/bson/bsonobjbuilder.h' line='208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder12appendObjectENS_10StringDataEPKci'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <parameter type-id='type-id-72'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
+            <parameter type-id='type-id-75'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='appendBinData' mangled-name='_ZN5mongo14BSONObjBuilder13appendBinDataENS_10StringDataEiNS_11BinDataTypeEPKv' filepath='src/mongo/bson/bsonobjbuilder.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder13appendBinDataENS_10StringDataEiNS_11BinDataTypeEPKv'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
             <parameter type-id='type-id-16'/>
-            <parameter type-id='type-id-162'/>
-            <parameter type-id='type-id-127'/>
+            <parameter type-id='type-id-186'/>
+            <parameter type-id='type-id-130'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='append' mangled-name='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEx' filepath='src/mongo/bson/bsonobjbuilder.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEx'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
             <parameter type-id='type-id-19'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='append' mangled-name='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEb' filepath='src/mongo/bson/bsonobjbuilder.h' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEb'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
             <parameter type-id='type-id-1'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='subarrayStart' mangled-name='_ZN5mongo14BSONObjBuilder13subarrayStartENS_10StringDataE' filepath='src/mongo/bson/bsonobjbuilder.h' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder13subarrayStartENS_10StringDataE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
-            <return type-id='type-id-185'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-279'/>
+            <return type-id='type-id-223'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='append' mangled-name='_ZN5mongo14BSONObjBuilder6appendERKNS_11BSONElementE' filepath='src/mongo/bson/bsonobjbuilder.h' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder6appendERKNS_11BSONElementE'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='append' mangled-name='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEi' filepath='src/mongo/bson/bsonobjbuilder.h' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo14BSONObjBuilder6appendENS_10StringDataEi'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-60'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-1013'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__24' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__24' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1039'>
         <member-function access='public'>
           <function-decl name='write&lt;mongo::LittleEndian&lt;long long&gt; &gt;' mangled-name='_ZN5mongo8DataView5writeINS_12LittleEndianIxEEEERS0_RKT_m' filepath='src/mongo/base/data_view.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-69'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-72'/>
             <parameter type-id='type-id-27'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__25' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__25' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1040'>
         <member-function access='public'>
           <function-decl name='StatusWith' mangled-name='_ZN5mongo10StatusWithINS_12FTDCBSONUtil8FTDCTypeEEC2ES2_' filepath='src/mongo/base/status_with.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-162'/>
-            <return type-id='type-id-126'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
+            <return type-id='type-id-129'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__26' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__26' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1041'>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsEx' filepath='src/mongo/bson/util/builder.h' line='412' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-19'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEElsENS_8BSONTypeE' filepath='src/mongo/bson/util/builder.h' line='443' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
-            <parameter type-id='type-id-162'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
+            <parameter type-id='type-id-186'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
         <member-function access='public'>
           <function-decl name='str' mangled-name='_ZNK5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE3strB5cxx11Ev' filepath='src/mongo/bson/util/builder.h' line='477' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-179'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-217'/>
           </function-decl>
         </member-function>
         <member-function access='private'>
           <function-decl name='appendIntegral&lt;long long&gt;' mangled-name='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIxEERS2_T_i' filepath='src/mongo/bson/util/builder.h' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo17StringBuilderImplINS_21SharedBufferAllocatorEE14appendIntegralIxEERS2_T_i'>
-            <parameter type-id='type-id-63' is-artificial='yes'/>
+            <parameter type-id='type-id-65' is-artificial='yes'/>
             <parameter type-id='type-id-19'/>
             <parameter type-id='type-id-16'/>
             <return type-id='type-id-61'/>
           </function-decl>
         </member-function>
       </class-decl>
-      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__27' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1042'>
       </class-decl>
-      <class-decl name='__anonymous_struct__28' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <var-decl name='kFTDCInterimFile' type-id='type-id-320' mangled-name='_ZN5mongo16kFTDCInterimFileE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='51' column='1' elf-symbol-id='_ZN5mongo16kFTDCInterimFileE'/>
-      <var-decl name='kFTDCArchiveFile' type-id='type-id-356' mangled-name='_ZN5mongo16kFTDCArchiveFileE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='53' column='1' elf-symbol-id='_ZN5mongo16kFTDCArchiveFileE'/>
-      <var-decl name='kFTDCIdField' type-id='type-id-349' mangled-name='_ZN5mongo12kFTDCIdFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='55' column='1' elf-symbol-id='_ZN5mongo12kFTDCIdFieldE'/>
-      <var-decl name='kFTDCTypeField' type-id='type-id-351' mangled-name='_ZN5mongo14kFTDCTypeFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='56' column='1' elf-symbol-id='_ZN5mongo14kFTDCTypeFieldE'/>
-      <var-decl name='kFTDCDataField' type-id='type-id-351' mangled-name='_ZN5mongo14kFTDCDataFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='58' column='1' elf-symbol-id='_ZN5mongo14kFTDCDataFieldE'/>
-      <var-decl name='kFTDCDocField' type-id='type-id-349' mangled-name='_ZN5mongo13kFTDCDocFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='59' column='1' elf-symbol-id='_ZN5mongo13kFTDCDocFieldE'/>
-      <var-decl name='kFTDCDocsField' type-id='type-id-351' mangled-name='_ZN5mongo14kFTDCDocsFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='61' column='1' elf-symbol-id='_ZN5mongo14kFTDCDocsFieldE'/>
-      <var-decl name='kFTDCCollectStartField' type-id='type-id-353' mangled-name='_ZN5mongo22kFTDCCollectStartFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='63' column='1' elf-symbol-id='_ZN5mongo22kFTDCCollectStartFieldE'/>
-      <var-decl name='kFTDCCollectEndField' type-id='type-id-349' mangled-name='_ZN5mongo20kFTDCCollectEndFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='64' column='1' elf-symbol-id='_ZN5mongo20kFTDCCollectEndFieldE'/>
+      <class-decl name='__anonymous_struct__28' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1043'/>
+      <var-decl name='kFTDCInterimFile' type-id='type-id-775' mangled-name='_ZN5mongo16kFTDCInterimFileE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='51' column='1' elf-symbol-id='_ZN5mongo16kFTDCInterimFileE'/>
+      <var-decl name='kFTDCArchiveFile' type-id='type-id-965' mangled-name='_ZN5mongo16kFTDCArchiveFileE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='53' column='1' elf-symbol-id='_ZN5mongo16kFTDCArchiveFileE'/>
+      <var-decl name='kFTDCIdField' type-id='type-id-958' mangled-name='_ZN5mongo12kFTDCIdFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='55' column='1' elf-symbol-id='_ZN5mongo12kFTDCIdFieldE'/>
+      <var-decl name='kFTDCTypeField' type-id='type-id-960' mangled-name='_ZN5mongo14kFTDCTypeFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='56' column='1' elf-symbol-id='_ZN5mongo14kFTDCTypeFieldE'/>
+      <var-decl name='kFTDCDataField' type-id='type-id-960' mangled-name='_ZN5mongo14kFTDCDataFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='58' column='1' elf-symbol-id='_ZN5mongo14kFTDCDataFieldE'/>
+      <var-decl name='kFTDCDocField' type-id='type-id-958' mangled-name='_ZN5mongo13kFTDCDocFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='59' column='1' elf-symbol-id='_ZN5mongo13kFTDCDocFieldE'/>
+      <var-decl name='kFTDCDocsField' type-id='type-id-960' mangled-name='_ZN5mongo14kFTDCDocsFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='61' column='1' elf-symbol-id='_ZN5mongo14kFTDCDocsFieldE'/>
+      <var-decl name='kFTDCCollectStartField' type-id='type-id-962' mangled-name='_ZN5mongo22kFTDCCollectStartFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='63' column='1' elf-symbol-id='_ZN5mongo22kFTDCCollectStartFieldE'/>
+      <var-decl name='kFTDCCollectEndField' type-id='type-id-958' mangled-name='_ZN5mongo20kFTDCCollectEndFieldE' visibility='default' filepath='src/mongo/db/ftdc/util.cpp' line='64' column='1' elf-symbol-id='_ZN5mongo20kFTDCCollectEndFieldE'/>
       <namespace-decl name='FTDCBSONUtil'>
         <function-decl name='extractMetricsFromDocument' mangled-name='_ZN5mongo12FTDCBSONUtil26extractMetricsFromDocumentERKNS_7BSONObjES3_PSt6vectorImSaImEE' filepath='src/mongo/db/ftdc/util.cpp' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil26extractMetricsFromDocumentERKNS_7BSONObjES3_PSt6vectorImSaImEE'>
-          <parameter type-id='type-id-69' name='referenceDoc' filepath='src/mongo/db/ftdc/util.cpp' line='233' column='1'/>
-          <parameter type-id='type-id-69' name='currentDoc' filepath='src/mongo/db/ftdc/util.cpp' line='234' column='1'/>
-          <parameter type-id='type-id-63' name='metrics' filepath='src/mongo/db/ftdc/util.cpp' line='235' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='referenceDoc' filepath='src/mongo/db/ftdc/util.cpp' line='233' column='1'/>
+          <parameter type-id='type-id-72' name='currentDoc' filepath='src/mongo/db/ftdc/util.cpp' line='234' column='1'/>
+          <parameter type-id='type-id-65' name='metrics' filepath='src/mongo/db/ftdc/util.cpp' line='235' column='1'/>
+          <return type-id='type-id-1004'/>
         </function-decl>
         <function-decl name='constructDocumentFromMetrics' mangled-name='_ZN5mongo12FTDCBSONUtil28constructDocumentFromMetricsERKNS_7BSONObjERKSt6vectorImSaImEE' filepath='src/mongo/db/ftdc/util.cpp' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil28constructDocumentFromMetricsERKNS_7BSONObjERKSt6vectorImSaImEE'>
-          <parameter type-id='type-id-69' name='ref' filepath='src/mongo/db/ftdc/util.cpp' line='334' column='1'/>
-          <parameter type-id='type-id-69' name='metrics' filepath='src/mongo/db/ftdc/util.cpp' line='335' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='ref' filepath='src/mongo/db/ftdc/util.cpp' line='334' column='1'/>
+          <parameter type-id='type-id-72' name='metrics' filepath='src/mongo/db/ftdc/util.cpp' line='335' column='1'/>
+          <return type-id='type-id-1006'/>
         </function-decl>
         <function-decl name='createBSONMetadataDocument' mangled-name='_ZN5mongo12FTDCBSONUtil26createBSONMetadataDocumentERKNS_7BSONObjENS_6Date_tE' filepath='src/mongo/db/ftdc/util.cpp' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil26createBSONMetadataDocumentERKNS_7BSONObjENS_6Date_tE'>
-          <parameter type-id='type-id-69' name='metadata' filepath='src/mongo/db/ftdc/util.cpp' line='346' column='1'/>
-          <parameter type-id='type-id-60' name='date' filepath='src/mongo/db/ftdc/util.cpp' line='346' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='metadata' filepath='src/mongo/db/ftdc/util.cpp' line='346' column='1'/>
+          <parameter type-id='type-id-1007' name='date' filepath='src/mongo/db/ftdc/util.cpp' line='346' column='1'/>
+          <return type-id='type-id-1005'/>
         </function-decl>
         <function-decl name='createBSONMetricChunkDocument' mangled-name='_ZN5mongo12FTDCBSONUtil29createBSONMetricChunkDocumentENS_14ConstDataRangeENS_6Date_tE' filepath='src/mongo/db/ftdc/util.cpp' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil29createBSONMetricChunkDocumentENS_14ConstDataRangeENS_6Date_tE'>
-          <parameter type-id='type-id-60' name='buf' filepath='src/mongo/db/ftdc/util.cpp' line='355' column='1'/>
-          <parameter type-id='type-id-60' name='date' filepath='src/mongo/db/ftdc/util.cpp' line='355' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-1008' name='buf' filepath='src/mongo/db/ftdc/util.cpp' line='355' column='1'/>
+          <parameter type-id='type-id-1007' name='date' filepath='src/mongo/db/ftdc/util.cpp' line='355' column='1'/>
+          <return type-id='type-id-1005'/>
         </function-decl>
         <function-decl name='getBSONDocumentId' mangled-name='_ZN5mongo12FTDCBSONUtil17getBSONDocumentIdERKNS_7BSONObjE' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil17getBSONDocumentIdERKNS_7BSONObjE'>
-          <parameter type-id='type-id-69' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1'/>
+          <return type-id='type-id-1009'/>
         </function-decl>
         <function-decl name='getBSONDocumentType' mangled-name='_ZN5mongo12FTDCBSONUtil19getBSONDocumentTypeERKNS_7BSONObjE' filepath='src/mongo/db/ftdc/util.cpp' line='376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil19getBSONDocumentTypeERKNS_7BSONObjE'>
-          <parameter type-id='type-id-69' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1'/>
+          <return type-id='type-id-1009'/>
         </function-decl>
         <function-decl name='getBSONDocumentFromMetadataDoc' mangled-name='_ZN5mongo12FTDCBSONUtil30getBSONDocumentFromMetadataDocERKNS_7BSONObjE' filepath='src/mongo/db/ftdc/util.cpp' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil30getBSONDocumentFromMetadataDocERKNS_7BSONObjE'>
-          <parameter type-id='type-id-69' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='365' column='1'/>
+          <return type-id='type-id-1009'/>
         </function-decl>
         <function-decl name='getMetricsFromMetricDoc' mangled-name='_ZN5mongo12FTDCBSONUtil23getMetricsFromMetricDocERKNS_7BSONObjEPNS_16FTDCDecompressorE' filepath='src/mongo/db/ftdc/util.cpp' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo12FTDCBSONUtil23getMetricsFromMetricDocERKNS_7BSONObjEPNS_16FTDCDecompressorE'>
-          <parameter type-id='type-id-69' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='412' column='1'/>
-          <parameter type-id='type-id-63' name='decompressor' filepath='src/mongo/db/ftdc/util.cpp' line='413' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='obj' filepath='src/mongo/db/ftdc/util.cpp' line='412' column='1'/>
+          <parameter type-id='type-id-65' name='decompressor' filepath='src/mongo/db/ftdc/util.cpp' line='413' column='1'/>
+          <return type-id='type-id-1010'/>
         </function-decl>
       </namespace-decl>
       <namespace-decl name='FTDCUtil'>
         <function-decl name='getInterimFile' mangled-name='_ZN5mongo8FTDCUtil14getInterimFileERKN5boost10filesystem4pathE' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8FTDCUtil14getInterimFileERKN5boost10filesystem4pathE'>
-          <parameter type-id='type-id-69' name='file' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='file' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1'/>
+          <return type-id='type-id-1044'/>
         </function-decl>
         <function-decl name='getInterimTempFile' mangled-name='_ZN5mongo8FTDCUtil18getInterimTempFileERKN5boost10filesystem4pathE' filepath='src/mongo/db/ftdc/util.cpp' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8FTDCUtil18getInterimTempFileERKN5boost10filesystem4pathE'>
-          <parameter type-id='type-id-69' name='file' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='file' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1'/>
+          <return type-id='type-id-1044'/>
         </function-decl>
         <function-decl name='roundTime' mangled-name='_ZN5mongo8FTDCUtil9roundTimeENS_6Date_tENS_8DurationISt5ratioILl1ELl1000EEEE' filepath='src/mongo/db/ftdc/util.cpp' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8FTDCUtil9roundTimeENS_6Date_tENS_8DurationISt5ratioILl1ELl1000EEEE'>
-          <parameter type-id='type-id-60' name='now' filepath='src/mongo/db/ftdc/util.cpp' line='93' column='1'/>
-          <parameter type-id='type-id-264' name='period' filepath='src/mongo/db/ftdc/util.cpp' line='93' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-1007' name='now' filepath='src/mongo/db/ftdc/util.cpp' line='93' column='1'/>
+          <parameter type-id='type-id-496' name='period' filepath='src/mongo/db/ftdc/util.cpp' line='93' column='1'/>
+          <return type-id='type-id-1007'/>
         </function-decl>
         <function-decl name='getMongoSPath' mangled-name='_ZN5mongo8FTDCUtil13getMongoSPathERKN5boost10filesystem4pathE' filepath='src/mongo/db/ftdc/util.cpp' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8FTDCUtil13getMongoSPathERKN5boost10filesystem4pathE'>
-          <parameter type-id='type-id-69' name='file' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1'/>
-          <return type-id='type-id-60'/>
+          <parameter type-id='type-id-72' name='file' filepath='src/mongo/db/ftdc/util.cpp' line='85' column='1'/>
+          <return type-id='type-id-1044'/>
         </function-decl>
       </namespace-decl>
       <namespace-decl name='logger'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1045'/>
+        <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1046'>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsENS_10StringDataE' filepath='src/mongo/logger/logstream_builder.h' line='131' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-60'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-1013'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator&lt;&lt;' mangled-name='_ZN5mongo6logger16LogstreamBuilderlsEi' filepath='src/mongo/logger/logstream_builder.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
               <parameter type-id='type-id-16'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
         </class-decl>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1047'/>
       </namespace-decl>
     </namespace-decl>
     <namespace-decl name='boost'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1048'/>
+      <class-decl name='__anonymous_struct__1' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1049'/>
+      <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1050'/>
+      <class-decl name='__anonymous_struct__3' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1051'/>
+      <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1052'/>
+      <class-decl name='__anonymous_struct__5' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1053'/>
       <namespace-decl name='filesystem'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1044'>
           <member-function access='public'>
             <function-decl name='path' mangled-name='_ZN5boost10filesystem4pathC2EPKc' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='143' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-325'/>
-              <return type-id='type-id-126'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-780'/>
+              <return type-id='type-id-129'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='has_extension' mangled-name='_ZNK5boost10filesystem4path13has_extensionEv' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='519' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-70' is-artificial='yes'/>
+              <parameter type-id='type-id-73' is-artificial='yes'/>
               <return type-id='type-id-1'/>
             </function-decl>
           </member-function>
           <member-function access='public'>
             <function-decl name='operator=' mangled-name='_ZN5boost10filesystem4pathaSERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' filepath='src/third_party/boost-1.60.0/boost/filesystem/path.hpp' line='212' column='1' visibility='default' binding='global' size-in-bits='64'>
-              <parameter type-id='type-id-63' is-artificial='yes'/>
-              <parameter type-id='type-id-286'/>
+              <parameter type-id='type-id-65' is-artificial='yes'/>
+              <parameter type-id='type-id-611'/>
               <return type-id='type-id-61'/>
             </function-decl>
           </member-function>
         </class-decl>
       </namespace-decl>
       <namespace-decl name='optional_detail'>
-        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
+        <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1054'/>
+        <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1055'/>
+        <class-decl name='__anonymous_struct__2' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1056'/>
+        <class-decl name='__anonymous_struct__3' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1057'/>
+        <class-decl name='__anonymous_struct__4' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1058'/>
+        <class-decl name='__anonymous_struct__5' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1059'/>
+        <class-decl name='__anonymous_struct__6' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1060'/>
+        <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1061'/>
+        <class-decl name='__anonymous_struct__8' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1062'/>
       </namespace-decl>
     </namespace-decl>
   </abi-instr>
   <abi-instr address-size='64' path='src/mongo/db/ftdc/varint.cpp' comp-dir-path='/home/andrew/Documents/10gen/dev/src/mongodb' language='LANG_C_plus_plus'>
     <namespace-decl name='mongo'>
-      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'/>
-      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1063'/>
+      <class-decl name='__anonymous_struct__1' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1064'>
         <member-type access='public'>
-          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+          <class-decl name='__anonymous_struct__' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1065'>
             <member-function access='public' static='yes'>
               <function-decl name='store' mangled-name='_ZN5mongo8DataType7HandlerINS_10FTDCVarIntEvE5storeERKS2_PcmPml' filepath='src/mongo/db/ftdc/varint.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN5mongo8DataType7HandlerINS_10FTDCVarIntEvE5storeERKS2_PcmPml'>
-                <parameter type-id='type-id-69'/>
-                <parameter type-id='type-id-64'/>
+                <parameter type-id='type-id-72'/>
+                <parameter type-id='type-id-66'/>
                 <parameter type-id='type-id-54'/>
-                <parameter type-id='type-id-194'/>
-                <parameter type-id='type-id-135'/>
-                <return type-id='type-id-60'/>
+                <parameter type-id='type-id-232'/>
+                <parameter type-id='type-id-138'/>
+                <return type-id='type-id-348'/>
               </function-decl>
             </member-function>
           </class-decl>
         </member-type>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-60'>
+      <class-decl name='__anonymous_struct__2' is-struct='yes' is-anonymous='yes' visibility='default' is-declaration-only='yes' id='type-id-1066'>
         <member-function access='public'>
           <function-decl name='operator unsigned long' mangled-name='_ZNK5mongo10FTDCVarIntcvmEv' filepath='src/mongo/db/ftdc/varint.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <parameter type-id='type-id-70' is-artificial='yes'/>
-            <return type-id='type-id-205'/>
+            <parameter type-id='type-id-73' is-artificial='yes'/>
+            <return type-id='type-id-301'/>
           </function-decl>
         </member-function>
       </class-decl>
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index f3e2e259b803..5d16731e4409 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -11479,46 +11479,46 @@
     </function-type>
   </abi-instr>
   <abi-instr address-size='64' path='drivers/mmc/host/sdhci.mod.c' comp-dir-path='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common' language='LANG_C89'>
-    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1086'/>
-    <class-decl name='audit_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1089'/>
-    <class-decl name='backing_dev_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1091'/>
-    <class-decl name='bio_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1094'/>
-    <class-decl name='blk_plug' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1095'/>
-    <class-decl name='capture_control' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1097'/>
-    <class-decl name='cfs_rq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1099'/>
-    <class-decl name='files_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1202'/>
-    <class-decl name='fs_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1205'/>
-    <class-decl name='ftrace_ret_stack' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1208'/>
-    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1342'/>
-    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1344'/>
-    <class-decl name='kioctx_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1348'/>
-    <class-decl name='kmem_cache' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1349'/>
-    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1359'/>
-    <class-decl name='mem_cgroup' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1365'/>
-    <class-decl name='module_notes_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1370'/>
-    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1371'/>
-    <class-decl name='module_sect_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1372'/>
-    <class-decl name='nameidata' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1374'/>
-    <class-decl name='perf_event' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1380'/>
-    <class-decl name='pipe_inode_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1382'/>
-    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1383'/>
-    <class-decl name='pollfd' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1385'/>
-    <class-decl name='rcu_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1394'/>
-    <class-decl name='reclaim_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1395'/>
-    <class-decl name='request_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1397'/>
-    <class-decl name='rt_mutex_waiter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1400'/>
-    <class-decl name='rt_rq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1401'/>
-    <class-decl name='sched_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1172'/>
-    <class-decl name='seccomp_filter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1405'/>
-    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1407'/>
-    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1411'/>
-    <class-decl name='task_group' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1416'/>
-    <class-decl name='trace_eval_map' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1420'/>
-    <class-decl name='trace_event_call' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1422'/>
-    <class-decl name='uprobe' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1471'/>
-    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1472'/>
-    <class-decl name='workqueue_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1551'/>
-    <class-decl name='xol_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1554'/>
+    <class-decl name='anon_vma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1555'/>
+    <class-decl name='audit_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1556'/>
+    <class-decl name='backing_dev_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1557'/>
+    <class-decl name='bio_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1558'/>
+    <class-decl name='blk_plug' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1559'/>
+    <class-decl name='capture_control' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1560'/>
+    <class-decl name='cfs_rq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1561'/>
+    <class-decl name='files_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1562'/>
+    <class-decl name='fs_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1563'/>
+    <class-decl name='ftrace_ret_stack' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1564'/>
+    <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1565'/>
+    <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1566'/>
+    <class-decl name='kioctx_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1567'/>
+    <class-decl name='kmem_cache' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1568'/>
+    <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1569'/>
+    <class-decl name='mem_cgroup' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1570'/>
+    <class-decl name='module_notes_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1571'/>
+    <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1572'/>
+    <class-decl name='module_sect_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1573'/>
+    <class-decl name='nameidata' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1574'/>
+    <class-decl name='perf_event' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1575'/>
+    <class-decl name='pipe_inode_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1576'/>
+    <class-decl name='poll_table_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1577'/>
+    <class-decl name='pollfd' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1578'/>
+    <class-decl name='rcu_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1579'/>
+    <class-decl name='reclaim_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1580'/>
+    <class-decl name='request_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1581'/>
+    <class-decl name='rt_mutex_waiter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1582'/>
+    <class-decl name='rt_rq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1583'/>
+    <class-decl name='sched_class' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1584'/>
+    <class-decl name='seccomp_filter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1585'/>
+    <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1586'/>
+    <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1587'/>
+    <class-decl name='task_group' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1588'/>
+    <class-decl name='trace_eval_map' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1589'/>
+    <class-decl name='trace_event_call' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1590'/>
+    <class-decl name='uprobe' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1591'/>
+    <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1592'/>
+    <class-decl name='workqueue_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1593'/>
+    <class-decl name='xol_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1594'/>
     <var-decl name='__this_module' type-id='type-id-789' mangled-name='__this_module' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/out/android-mainline/common/drivers/mmc/host/sdhci.mod.c' line='11' column='1' elf-symbol-id='__this_module'/>
   </abi-instr>
 </abi-corpus>
-- 
2.34.1.400.ga245620fadb-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 5/5] XML writer: resolve declaration-only enum definitions
  2021-12-03 11:46 [PATCH 0/5] Improvements for the XML Writer Matthias Maennich
                   ` (3 preceding siblings ...)
  2021-12-03 11:46 ` [PATCH 4/5] XML writer: map type ids " Matthias Maennich
@ 2021-12-03 11:46 ` Matthias Maennich
  2022-01-19 10:38   ` Dodji Seketeli
  4 siblings, 1 reply; 15+ messages in thread
From: Matthias Maennich @ 2021-12-03 11:46 UTC (permalink / raw)
  To: libabigail; +Cc: dodji, gprocida, kernel-team, maennich

Let the writer look through declaration-only enums for definitions.

This matches what get_preferred_type, write_class_decl and
write_union_decl do. No current test cases are affected.

	* src/abg-writer.cc (write_enum_type_decl): Look through
	declaration-only types the same as for structs and unions.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 src/abg-writer.cc | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 76e60eb92347..31667bf7ccea 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -3020,14 +3020,16 @@ write_array_type_def(const array_type_def_sptr& decl,
 ///
 /// @return true upon succesful completion, false otherwise.
 static bool
-write_enum_type_decl(const enum_type_decl_sptr& decl,
-		     const string&		id,
-		     write_context&		ctxt,
-		     unsigned			indent)
+write_enum_type_decl(const enum_type_decl_sptr& d,
+		     const string& id,
+		     write_context& ctxt,
+		     unsigned indent)
 {
-  if (!decl)
+  if (!d)
     return false;
 
+  enum_type_decl_sptr decl = is_enum_type(look_through_decl_only_enum(d));
+
   annotate(decl->get_canonical_type(), ctxt, indent);
 
   ostream& o = ctxt.get_ostream();
-- 
2.34.1.400.ga245620fadb-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking
  2021-12-03 11:46 ` [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking Matthias Maennich
@ 2021-12-09 17:57   ` Dodji Seketeli
  0 siblings, 0 replies; 15+ messages in thread
From: Dodji Seketeli @ 2021-12-09 17:57 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

> Insertion resolves the canonical type, if available, but look-up did
> not. Given that type id insertion and look-up also resolve canonical
> types, it makes sense to adjust the remaining code accordingly.
>
> Neither decl_only_type_is_emitted nor record_decl_only_type_as_emitted
> do the check, but very few types end up being recorded this way.
>
> The functions write_class_decl and write_union_decl (but not
> write_class_decl_opening_tag and write_union_decl_opening_tag which
> can be called in other contexts) resolve declaration-only types to a
> definition where possible.
>
> To ensure type ids consistently refer to the same resolved type we
> should resolve canonical types and definitions-of-declarations more
> consistently.
>
> This change introduces get_preferred_type to return the exemplar type
> that should be used for type id and emitted checks.
>
> However, it does not also change all the write functions to write out
> the exemplar types.
>
> 	* src/abg-writer.cc (get_preferred_type): new function.

You call this an "exemplar type" in other places, at least in commit
logs.  And, I quite like that naming.  So I went ahead and called this
function "get_exemplar_type".  Also, since I don't think it's specific
to the abixml writer in essence, I moved it to the abigail::ir
namespace in abg-ir.cc a free form function.

> 	(type_has_existing_id): use get_preferred_type for resolution.
> 	(get_id_for_type): Likewise.
> 	(record_type_as_emitted): Likewise.
> 	(type_is_emitted): Likewise.

I obviously updated these.

[...]


> +++ b/src/abg-writer.cc

[...]

> +  type_base*
> +  get_preferred_type(const type_base* type) const

I have added doxygen documentation to this one.

> +  {
> +    // declaration -> definition -> canonical is possible
> +    if (decl_base* decl = look_through_decl_only(is_decl(type)))
> +      {
> +	type = is_type(decl);
> +	ABG_ASSERT(type);
> +      }
> +    type_base* canonical = type->get_naked_canonical_type();
> +    return canonical ? canonical : const_cast<type_base*>(type);

When the type doesn't have any canonical type, I think we should assert
that the type belongs to the small subset of types that are allowed to
NOT have canonical types.  Namely, decl-only classes when we are looking
at C++ code.  In other words, assert that
is_non_canonicalized_type(examplar_type) returns true.

I've done that in the version of the patch that I've committed.

[...]

I am attaching below the version of the patch that I am applying to
master.

Thanks for the patches!

From 74a2866e4f8deec05d6ef08c54a9bf3414f953d2 Mon Sep 17 00:00:00 2001
From: Matthias Maennich <maennich@google.com>
Date: Fri, 3 Dec 2021 11:46:19 +0000
Subject: [PATCH] XML writer: use consistent type pointers for type ids and emission tracking

Insertion uses the canonical type, if available, but look-up did
not. Given that type id insertion and look-up also use canonical
types, it makes sense to adjust the remaining code accordingly.

Neither decl_only_type_is_emitted nor record_decl_only_type_as_emitted
do the check, but very few types end up being recorded this way.

The functions write_class_decl and write_union_decl (but not
write_class_decl_opening_tag and write_union_decl_opening_tag which
can be called in other contexts) resolve declaration-only types to a
definition where possible.

To ensure type ids consistently refer to the same canonical type we
should use canonical types and definitions-of-declarations more
consistently.

This change introduces get_exemplar_type to return the exemplar type
that should be used for type id and emitted checks.  That exemplar
type is the canonical type of a given type, or the canonical type of
the definition-of-declaration-only-type when applicable.

However, it does not also change all the write functions to write out
the exemplar types.

	* include/abg-fwd.h (get_exemplar_type): Declare new function.
	* src/abg-ir.cc (get_exemplar_type): Define new function.
	* src/abg-writer.cc (type_has_existing_id): use get_exemplar_type
	for resolution.
	(get_id_for_type): Likewise.
	(record_type_as_emitted): Likewise.
	(type_is_emitted): Likewise.

Reviewed-by: Giuliano Procida <gprocida@google.com>
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
 include/abg-fwd.h | 13 +++++++++++++
 src/abg-ir.cc     | 32 ++++++++++++++++++++++++++++++++
 src/abg-writer.cc | 24 ++++++++++--------------
 3 files changed, 55 insertions(+), 14 deletions(-)

diff --git a/include/abg-fwd.h b/include/abg-fwd.h
index 36a99c3b..c5e98afe 100644
--- a/include/abg-fwd.h
+++ b/include/abg-fwd.h
@@ -1393,6 +1393,19 @@ is_non_canonicalized_type(const type_base *);
 bool
 is_non_canonicalized_type(const type_base_sptr&);
 
+/// For a given type, return its exemplar type.
+///
+/// For a given type, its exemplar type is either its canonical type
+/// or the canonical type of the definition type of a given
+/// declaration-only type.  If the neither of those two types exist,
+/// then the exemplar type is the given type itself.
+///
+/// @param type the input to consider.
+///
+/// @return the exemplar type.
+type_base*
+get_exemplar_type(const type_base* type);
+
 bool
 function_decl_is_less_than(const function_decl&f, const function_decl &s);
 
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 03b38c3a..8d0c72a9 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -25232,6 +25232,38 @@ is_non_canonicalized_type(const type_base *t)
   return is_declaration_only_class_or_union_type(t) || env->is_void_type(t);
 }
 
+/// For a given type, return its exemplar type.
+///
+/// For a given type, its exemplar type is either its canonical type
+/// or the canonical type of the definition type of a given
+/// declaration-only type.  If neither of those two types exist,
+/// then the exemplar type is the given type itself.
+///
+/// @param type the input to consider.
+///
+/// @return the exemplar type.
+type_base*
+get_exemplar_type(const type_base* type)
+{
+  if (decl_base * decl = is_decl(type))
+    {
+      // Make sure we get the real definition of a decl-only type.
+      decl = look_through_decl_only(decl);
+      type = is_type(decl);
+      ABG_ASSERT(type);
+    }
+  type_base *exemplar = type->get_naked_canonical_type();
+  if (!exemplar)
+    {
+      // The type has no canonical type.  Let's be sure that it's one
+      // of those rare types that are allowed to be non canonicalized
+      // in the system.
+      exemplar = const_cast<type_base*>(type);
+      ABG_ASSERT(is_non_canonicalized_type(exemplar));
+    }
+  return exemplar;
+}
+
 /// Test if a given type is allowed to be non canonicalized
 ///
 /// This is a subroutine of hash_as_canonical_type_or_constant.
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 21b79e88..c1935e01 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -37,6 +37,7 @@ ABG_BEGIN_EXPORT_DECLARATIONS
 
 #include "abg-writer.h"
 #include "abg-libxml-utils.h"
+#include "abg-fwd.h"
 
 ABG_END_EXPORT_DECLARATIONS
 // </headers defining libabigail's API>
@@ -394,10 +395,8 @@ public:
   bool
   type_has_existing_id(type_base* type) const
   {
-    type_base *c = type->get_naked_canonical_type();
-    if (c == 0)
-      c = const_cast<type_base*>(type);
-    return (m_type_id_map.find(c) != m_type_id_map.end());
+    type = get_exemplar_type(type);
+    return m_type_id_map.find(type) != m_type_id_map.end();
   }
 
   /// Associate a unique id to a given type.  For that, put the type
@@ -413,11 +412,9 @@ public:
   /// associated to it, create a new one and return it.  Otherwise,
   /// return the existing id for that type.
   interned_string
-  get_id_for_type(const type_base* t) const
+  get_id_for_type(type_base* type) const
   {
-    type_base *c = t->get_naked_canonical_type();
-    if (c == 0)
-      c = const_cast<type_base*>(t);
+    type_base* c = get_exemplar_type(type);
 
     type_ptr_map::const_iterator it = m_type_id_map.find(c);
     if (it != m_type_id_map.end())
@@ -715,11 +712,9 @@ public:
   ///
   /// @param t the type to flag.
   void
-  record_type_as_emitted(const type_base *t)
+  record_type_as_emitted(const type_base* t)
   {
-    type_base *c = t->get_naked_canonical_type();
-    if (c == 0)
-      c = const_cast<type_base*>(t);
+    type_base* c = get_exemplar_type(t);
     m_emitted_type_set.insert(c);
   }
 
@@ -730,9 +725,10 @@ public:
   /// @return true if the type has already been emitted, false
   /// otherwise.
   bool
-  type_is_emitted(const type_base *t) const
+  type_is_emitted(const type_base* t) const
   {
-    return m_emitted_type_set.find(t) != m_emitted_type_set.end();
+    type_base* c = get_exemplar_type(t);
+    return m_emitted_type_set.find(c) != m_emitted_type_set.end();
   }
 
   /// Test if a given type has been written out to the XML output.
-- 
2.33.1


Cheers,


-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/5] XML writer: use exemplar types for tracking referenced types
  2021-12-03 11:46 ` [PATCH 2/5] XML writer: use exemplar types for tracking referenced types Matthias Maennich
@ 2021-12-10 10:42   ` Dodji Seketeli
  0 siblings, 0 replies; 15+ messages in thread
From: Dodji Seketeli @ 2021-12-10 10:42 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> The emitted type sets are used with some referenced type sets (which use
> bare type pointers). To keep consistency between what is being recorded
> in each set, switch to storing exemplar type pointers in the referenced
> type sets.
>
> This change results in the omission of a small number of duplicate
> types from various test cases. In each case the duplicates were
> previously caused by a referenced type being emitted for one
> translation unit and then the same type being emitted as a canonical
> type for a later translation unit.
>
> It also causes the movement of some function types in some test cases.
> Some of those types are now considered referenced and appear earlier as
> a result.
>
> 	* src/abg-writer.cc (record_type_as_referenced): Use preferred
> 	type with referenced type sets.
> 	(type_is_referenced): Likewise.
> 	(tests/data/test-annotate/test14-pr18893.so.abi): Duplicate
> 	type(s) removed, as described above.
> 	(tests/data/test-read-dwarf/test14-pr18893.so.abi): Likewise.
> 	(tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi):
> 	Likewise.
> 	(tests/data/test-read-dwarf/test16-pr18904.so.abi): Likewise.
> 	(tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi):
> 	Likewise.
> 	(tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi):
> 	Likewise.
> 	(tests/data/test-read-dwarf/PR25007-sdhci.ko.abi): Some
> 	function type(s) reordered, as described above.
> 	(tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi):
> 	Likewise.
> 	(tests/data/test-annotate/test15-pr18892.so.abi):: Duplicate
> 	type(s) removed and some function type(s) reordered, as
> 	described above.
> 	(tests/data/test-read-dwarf/test15-pr18892.so.abi): Likewise.
> 	(tests/data/test-annotate/test21-pr19092.so.abi): Likewise.
> 	(tests/data/test-read-dwarf/test21-pr19092.so.abi): Likewise
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master, thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/5] XML writer: track emitted types by bare pointer
  2021-12-03 11:46 ` [PATCH 3/5] XML writer: track emitted types by bare pointer Matthias Maennich
@ 2021-12-10 10:50   ` Dodji Seketeli
  2021-12-16 16:07     ` Matthias Maennich
  2022-01-18 17:15   ` Dodji Seketeli
  1 sibling, 1 reply; 15+ messages in thread
From: Dodji Seketeli @ 2021-12-10 10:50 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Hello,

Matthias Maennich <maennich@google.com> a écrit:

[...]

> This is a performance and safety improvement made possible by the
> previous changes which ensure that the same pointers are inserted and
> looked up.
>
> This essentially removes the now unnecessary deep comparison.

[...]

> +++ b/src/abg-writer.cc
> @@ -123,14 +123,10 @@ typedef unordered_map<type_base*,
>  		      abigail::diff_utils::deep_ptr_eq_functor> type_ptr_map;
>  
>  // A convenience typedef for a set of type_base*.
> -typedef unordered_set<const type_base*, type_hasher,
> -		      abigail::diff_utils::deep_ptr_eq_functor>
> -type_ptr_set_type;
> +typedef std::unordered_set<const type_base*> type_ptr_set_type;
>  
>  /// A convenience typedef for a set of function type*.
> -typedef unordered_set<function_type*, type_hasher,
> -		      abigail::diff_utils::deep_ptr_eq_functor>
> -fn_type_ptr_set_type;
> +typedef std::unordered_set<function_type*> fn_type_ptr_set_type;

The problem I see with doing this is that it's possible that two
declaration-only classes, that are equivalent but that have different
pointer values get into these sets.

In that case, they would be considered different even though they are
not.

So maybe it would be better have an equality operator that uses
is_non_canonicalized_type() to detect those rare cases and use
structural comparison in those cases?

What do you think?

-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/5] XML writer: track emitted types by bare pointer
  2021-12-10 10:50   ` Dodji Seketeli
@ 2021-12-16 16:07     ` Matthias Maennich
  2022-01-10 17:00       ` Dodji Seketeli
  0 siblings, 1 reply; 15+ messages in thread
From: Matthias Maennich @ 2021-12-16 16:07 UTC (permalink / raw)
  To: Dodji Seketeli; +Cc: libabigail, gprocida, kernel-team

Hi Dodji!

Thanks for the review and thanks for your thoughts!

On Fri, Dec 10, 2021 at 11:50:49AM +0100, Dodji Seketeli wrote:
>Hello,
>
>Matthias Maennich <maennich@google.com> a écrit:
>
>[...]
>
>> This is a performance and safety improvement made possible by the
>> previous changes which ensure that the same pointers are inserted and
>> looked up.
>>
>> This essentially removes the now unnecessary deep comparison.
>
>[...]
>
>> +++ b/src/abg-writer.cc
>> @@ -123,14 +123,10 @@ typedef unordered_map<type_base*,
>>  		      abigail::diff_utils::deep_ptr_eq_functor> type_ptr_map;
>>
>>  // A convenience typedef for a set of type_base*.
>> -typedef unordered_set<const type_base*, type_hasher,
>> -		      abigail::diff_utils::deep_ptr_eq_functor>
>> -type_ptr_set_type;
>> +typedef std::unordered_set<const type_base*> type_ptr_set_type;
>>
>>  /// A convenience typedef for a set of function type*.
>> -typedef unordered_set<function_type*, type_hasher,
>> -		      abigail::diff_utils::deep_ptr_eq_functor>
>> -fn_type_ptr_set_type;
>> +typedef std::unordered_set<function_type*> fn_type_ptr_set_type;
>
>The problem I see with doing this is that it's possible that two
>declaration-only classes, that are equivalent but that have different
>pointer values get into these sets.
>
>In that case, they would be considered different even though they are
>not.

If the XML writer considers two equivalent declaration-only types to be
different, one question to ask is: what is the real difference, that is,
how will this affect the outcome of abidiff? If the types never change
(kind, name or declaration/definition status), nothing should ever be
reported. If a type does change... there are two possibilities: either
the types were really one type and now perhaps abidiff reports diffs for
the same name in two different ways; or the types were really two
different ones and abidiff has a simpler job. In my experience, abidiff
doesn't always report declaration-only/defined transitions. It doesn't
sound like there will be any really bad impact on diffs from having this
kind of duplication. However, if someone can come up with a test case of
the kind you mention, that would give some extra reassurance.

>
>So maybe it would be better have an equality operator that uses
>is_non_canonicalized_type() to detect those rare cases and use
>structural comparison in those cases?

That might come at higher cost than it is beneficial.

>
>What do you think?

For us specifically - building with clang and for our use cases - if we
keep structural equality of any kind then we need a hash function to go
along with this and, as we've sadly found out, this isn't working well
at the moment. We are currently on a bit dated version of libabigail for
our production use, but would like to close that gap again to come
closer to master.

The risk of infinite loops and the reality of 30x slowdowns for certain
workloads mean we would need to apply these changes to remove structural
equality testing from the XML writer and then maintain an Android
version of libabigail as a more heavily-patched fork, to whatever extent
is feasible. I would rather we find a good solution that works for all
to get again close to upstream and not having to maintain such a fork.

Yet, as an additional piece of assurance: the testing we have done does
not only include kernels, but of course we heavily examined the
libabigail test suite. Additionally, we maintain a large set of small
test cases specifically created for ABI stability testing and to cover
corner cases of all sorts. We are in the process of publishing those as
well. So far, this has served as great input for this patch series as
well.

Does this make sense? What do you think?

Cheers,
Matthias

>
>-- 
>		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/5] XML writer: track emitted types by bare pointer
  2021-12-16 16:07     ` Matthias Maennich
@ 2022-01-10 17:00       ` Dodji Seketeli
  2022-01-17 18:03         ` Matthias Maennich
  0 siblings, 1 reply; 15+ messages in thread
From: Dodji Seketeli @ 2022-01-10 17:00 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

[...]

> If the XML writer considers two equivalent declaration-only types to be
> different, one question to ask is: what is the real difference, that is,
> how will this affect the outcome of abidiff?

The problem is not necessarily at the abidiff level per say.

The problem would be duplication of decl-only types in the abixml
output, I think, and maybe infinite loops in those cases.  The infinite
loops are easy to debug, though.  So I am not concerned about them.

> If the types never change
> (kind, name or declaration/definition status), nothing should ever be
> reported. If a type does change... there are two possibilities: either
> the types were really one type and now perhaps abidiff reports diffs for
> the same name in two different ways; or the types were really two
> different ones and abidiff has a simpler job. In my experience, abidiff
> doesn't always report declaration-only/defined transitions. It doesn't
> sound like there will be any really bad impact on diffs from having this
> kind of duplication. However, if someone can come up with a test case of
> the kind you mention, that would give some extra reassurance.

The reason why I was pointing to this "general" issue is to make sure
you are aware of this.  As type duplications in abixml was something you
guys were tracking (and rightly so) I thought I'd point out that we
still have the risk here.

But because the type id map (writer_context::m_type_id_map) is not
affected, the duplicated types will correctly be identified as such by
the reader; thus I don't think abidiff is going to be affected.

>>So maybe it would be better have an equality operator that uses
>>is_non_canonicalized_type() to detect those rare cases and use
>>structural comparison in those cases?
>
> That might come at higher cost than it is beneficial.

I could not tell, as I don't necessarily have the right binaries at
hand.  I trust you.

>
>>
>>What do you think?
>
> For us specifically - building with clang and for our use cases - if we
> keep structural equality of any kind then we need a hash function to go
> along with this and, as we've sadly found out, this isn't working well
> at the moment. We are currently on a bit dated version of libabigail for
> our production use, but would like to close that gap again to come
> closer to master.
>
> The risk of infinite loops and the reality of 30x slowdowns for certain
> workloads mean we would need to apply these changes to remove structural
> equality testing from the XML writer and then maintain an Android
> version of libabigail as a more heavily-patched fork, to whatever extent
> is feasible. I would rather we find a good solution that works for all
> to get again close to upstream and not having to maintain such a fork.
>
> Yet, as an additional piece of assurance: the testing we have done does
> not only include kernels, but of course we heavily examined the
> libabigail test suite. Additionally, we maintain a large set of small
> test cases specifically created for ABI stability testing and to cover
> corner cases of all sorts. We are in the process of publishing those as
> well. So far, this has served as great input for this patch series as
> well.
>
> Does this make sense? What do you think?

If you don't really care about the potential type duplication in the
abixml as stated above, frankly, let's just get this patch in.

Are you okay with that?

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/5] XML writer: track emitted types by bare pointer
  2022-01-10 17:00       ` Dodji Seketeli
@ 2022-01-17 18:03         ` Matthias Maennich
  0 siblings, 0 replies; 15+ messages in thread
From: Matthias Maennich @ 2022-01-17 18:03 UTC (permalink / raw)
  To: Dodji Seketeli; +Cc: libabigail, gprocida, kernel-team

Thanks Dodji for having a look and for sharing your thoughts! That is -
as always - very helpful to get a good full picture!

On Mon, Jan 10, 2022 at 06:00:04PM +0100, Dodji Seketeli wrote:
>Matthias Maennich <maennich@google.com> a écrit:
>
>[...]
>
>> If the XML writer considers two equivalent declaration-only types to be
>> different, one question to ask is: what is the real difference, that is,
>> how will this affect the outcome of abidiff?
>
>The problem is not necessarily at the abidiff level per say.
>
>The problem would be duplication of decl-only types in the abixml
>output, I think, and maybe infinite loops in those cases.  The infinite
>loops are easy to debug, though.  So I am not concerned about them.
>

Agreed there might be some duplication. See for example the commentary
about tests/data/test-read-dwarf/PR22122-libftdc.so.abi in PATCH 4/5.

This series is specifically to eliminate the risk of infinite loops in
the libabigail version we have downstream; and also to improve
performance. After these fixes there are some more changes that should
make infinite loops even less likely. In our case the infinite loops
only happened when using Clang's library (hash tables) and were not so
easy to debug!

>> If the types never change
>> (kind, name or declaration/definition status), nothing should ever be
>> reported. If a type does change... there are two possibilities: either
>> the types were really one type and now perhaps abidiff reports diffs for
>> the same name in two different ways; or the types were really two
>> different ones and abidiff has a simpler job. In my experience, abidiff
>> doesn't always report declaration-only/defined transitions. It doesn't
>> sound like there will be any really bad impact on diffs from having this
>> kind of duplication. However, if someone can come up with a test case of
>> the kind you mention, that would give some extra reassurance.
>
>The reason why I was pointing to this "general" issue is to make sure
>you are aware of this.  As type duplications in abixml was something you
>guys were tracking (and rightly so) I thought I'd point out that we
>still have the risk here.
>
>But because the type id map (writer_context::m_type_id_map) is not
>affected, the duplicated types will correctly be identified as such by
>the reader; thus I don't think abidiff is going to be affected.
>

Duplicates with different type ids could still appear after these
changes. But they should not hurt abidiff and may point to problems
earlier in the pipeline (even the compiler - we found a Clang bug during
the investigation).

Duplicates with the same type id can be conflicting or not conflicting.
Not conflicting is not ideal, but abidiff can handle this. Conflicting
means we have some problem interpreting the XML - which definition is
the right one?

PATCH 4/5 does indeed affect the type id map specifically so that we
avoid the risk of conflicting definitions.


>>>So maybe it would be better have an equality operator that uses
>>>is_non_canonicalized_type() to detect those rare cases and use
>>>structural comparison in those cases?
>>
>> That might come at higher cost than it is beneficial.
>
>I could not tell, as I don't necessarily have the right binaries at
>hand.  I trust you.

It is having the binaries but also the tool chain (the prebuilt clang
version that we use to build Android is very close to upstream releases,
but differences can be subtle - as always). Clang produces different
DWARF and has different bugs from GCC but the standard library is also
more sensitive to how unordered_map and unordered_set are used.

>
>>
>>>
>>>What do you think?
>>
>> For us specifically - building with clang and for our use cases - if we
>> keep structural equality of any kind then we need a hash function to go
>> along with this and, as we've sadly found out, this isn't working well
>> at the moment. We are currently on a bit dated version of libabigail for
>> our production use, but would like to close that gap again to come
>> closer to master.
>>
>> The risk of infinite loops and the reality of 30x slowdowns for certain
>> workloads mean we would need to apply these changes to remove structural
>> equality testing from the XML writer and then maintain an Android
>> version of libabigail as a more heavily-patched fork, to whatever extent
>> is feasible. I would rather we find a good solution that works for all
>> to get again close to upstream and not having to maintain such a fork.
>>
>> Yet, as an additional piece of assurance: the testing we have done does
>> not only include kernels, but of course we heavily examined the
>> libabigail test suite. Additionally, we maintain a large set of small
>> test cases specifically created for ABI stability testing and to cover
>> corner cases of all sorts. We are in the process of publishing those as
>> well. So far, this has served as great input for this patch series as
>> well.
>>
>> Does this make sense? What do you think?
>
>If you don't really care about the potential type duplication in the
>abixml as stated above, frankly, let's just get this patch in.
>
>Are you okay with that?

Yes. Though I think it's important you are somewhat happy with PATCH 4/5
as well as they go together.

Cheers,
Matthias

>
>Cheers,
>
>-- 
>		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/5] XML writer: track emitted types by bare pointer
  2021-12-03 11:46 ` [PATCH 3/5] XML writer: track emitted types by bare pointer Matthias Maennich
  2021-12-10 10:50   ` Dodji Seketeli
@ 2022-01-18 17:15   ` Dodji Seketeli
  1 sibling, 0 replies; 15+ messages in thread
From: Dodji Seketeli @ 2022-01-18 17:15 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> This is a performance and safety improvement made possible by the
> previous changes which ensure that the same pointers are inserted and
> looked up.
>
> This essentially removes the now unnecessary deep comparison.
>
> 	* src/abg-writer.cc (type_ptr_set_type): Change typedef
> 	container type to use default equality and hashing for pointer
> 	keys.
> 	(fn_type_ptr_set_type): Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master, thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 4/5] XML writer: map type ids by bare pointer
  2021-12-03 11:46 ` [PATCH 4/5] XML writer: map type ids " Matthias Maennich
@ 2022-01-19 10:12   ` Dodji Seketeli
  0 siblings, 0 replies; 15+ messages in thread
From: Dodji Seketeli @ 2022-01-19 10:12 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> This is a performance and safety improvement made possible by previous
> changes which ensure that the same pointers are used for insertion and
> look-up.
>
> This change affects two test cases. In more detail:
>
> The test case test-read-dwarf/PR22122-libftdc.so.abi has many
> duplicate type-id-60 which appear to all be types defined with a DWARF
> DW_AT_signature attribute. These are made into separate types by this
> change, but remain incomplete.
>
> The test case test-read-dwarf/PR25007-sdhci.ko.abi has duplicate
> declarations and these get split into duplicate declarations with new
> type ids following this change. The test suite runs with an implicit
> --no-linux-kernel-mode so the duplicates are treated separately. They
> presumably had the same type ids before this change due to deep
> equality considering them equal.
>
> 	* src/abg-writer.cc (type_ptr_map): use default equality on
> 	type_base pointer.
> 	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Refresh
> 	test case, as described above.
> 	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master, thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 5/5] XML writer: resolve declaration-only enum definitions
  2021-12-03 11:46 ` [PATCH 5/5] XML writer: resolve declaration-only enum definitions Matthias Maennich
@ 2022-01-19 10:38   ` Dodji Seketeli
  0 siblings, 0 replies; 15+ messages in thread
From: Dodji Seketeli @ 2022-01-19 10:38 UTC (permalink / raw)
  To: Matthias Maennich; +Cc: libabigail, gprocida, kernel-team

Matthias Maennich <maennich@google.com> a écrit:

> Let the writer look through declaration-only enums for definitions.
>
> This matches what get_preferred_type, write_class_decl and
> write_union_decl do. No current test cases are affected.
>
> 	* src/abg-writer.cc (write_enum_type_decl): Look through
> 	declaration-only types the same as for structs and unions.
>
> Reviewed-by: Giuliano Procida <gprocida@google.com>
> Signed-off-by: Matthias Maennich <maennich@google.com>

Applied to master, thanks!

[...]

Cheers,

-- 
		Dodji

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-01-19 10:39 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-03 11:46 [PATCH 0/5] Improvements for the XML Writer Matthias Maennich
2021-12-03 11:46 ` [PATCH 1/5] XML writer: use consistent type pointers for type ids and emission tracking Matthias Maennich
2021-12-09 17:57   ` Dodji Seketeli
2021-12-03 11:46 ` [PATCH 2/5] XML writer: use exemplar types for tracking referenced types Matthias Maennich
2021-12-10 10:42   ` Dodji Seketeli
2021-12-03 11:46 ` [PATCH 3/5] XML writer: track emitted types by bare pointer Matthias Maennich
2021-12-10 10:50   ` Dodji Seketeli
2021-12-16 16:07     ` Matthias Maennich
2022-01-10 17:00       ` Dodji Seketeli
2022-01-17 18:03         ` Matthias Maennich
2022-01-18 17:15   ` Dodji Seketeli
2021-12-03 11:46 ` [PATCH 4/5] XML writer: map type ids " Matthias Maennich
2022-01-19 10:12   ` Dodji Seketeli
2021-12-03 11:46 ` [PATCH 5/5] XML writer: resolve declaration-only enum definitions Matthias Maennich
2022-01-19 10:38   ` Dodji Seketeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).