From 6f3e6edd0e50f256bd69ebc89d1086bf21be7ac1 Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Mon, 18 Nov 2024 14:17:13 +0000
Subject: [PATCH 1/8] C++: Implement compilation_build_mode

---
 cpp/ql/lib/semmle/code/cpp/Compilation.qll |  3 +++
 cpp/ql/lib/semmlecode.cpp.dbscheme         | 14 ++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/cpp/ql/lib/semmle/code/cpp/Compilation.qll b/cpp/ql/lib/semmle/code/cpp/Compilation.qll
index 1a8d90f991c1..407dc31e05f1 100644
--- a/cpp/ql/lib/semmle/code/cpp/Compilation.qll
+++ b/cpp/ql/lib/semmle/code/cpp/Compilation.qll
@@ -112,4 +112,7 @@ class Compilation extends @compilation {
    * termination, but crashing due to something like a segfault is not.
    */
   predicate normalTermination() { compilation_finished(this, _, _) }
+
+  /** Holds if this compilation was compiled using the "none" build mode. */
+  predicate buildModeNone() { compilation_build_mode(this, 0) }
 }
diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme
index e51fad7a2436..0c8b8927c0c4 100644
--- a/cpp/ql/lib/semmlecode.cpp.dbscheme
+++ b/cpp/ql/lib/semmlecode.cpp.dbscheme
@@ -46,6 +46,20 @@ compilation_args(
     string arg : string ref
 );
 
+/**
+ * Optionally, record the build mode for each compilation.
+ * The build mode should be the same for all compilations.
+ * Build mode:
+ *   0 = none
+ *   1 = manual
+ *   2 = auto
+ */
+#keyset[id, mode]
+compilation_build_mode(
+    int id : @compilation ref,
+    int mode : int ref
+);
+
 /**
  * The source files that are compiled by a compiler invocation.
  * If `id` is for the compiler invocation

From ac4121dd6ceffe195f30bfbd5e6bf7fb278c22cb Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Mon, 18 Nov 2024 17:20:48 +0000
Subject: [PATCH 2/8] C++: Describe compilation_build_mode using a case

---
 cpp/ql/lib/semmlecode.cpp.dbscheme | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme
index 0c8b8927c0c4..54b0075a9d86 100644
--- a/cpp/ql/lib/semmlecode.cpp.dbscheme
+++ b/cpp/ql/lib/semmlecode.cpp.dbscheme
@@ -49,10 +49,6 @@ compilation_args(
 /**
  * Optionally, record the build mode for each compilation.
  * The build mode should be the same for all compilations.
- * Build mode:
- *   0 = none
- *   1 = manual
- *   2 = auto
  */
 #keyset[id, mode]
 compilation_build_mode(
@@ -60,6 +56,14 @@ compilation_build_mode(
     int mode : int ref
 );
 
+/*
+case @compilation_build_mode.mode of
+  0 = @build_mode_none
+| 1 = @build_mode_manual
+| 2 = @build_mode_auto
+;
+/*
+
 /**
  * The source files that are compiled by a compiler invocation.
  * If `id` is for the compiler invocation

From d3e8292db990f2839efe61eee3f9fe38f067abd5 Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Tue, 19 Nov 2024 10:50:21 +0000
Subject: [PATCH 3/8] C++: Update dbscheme

---
 cpp/ql/lib/semmlecode.cpp.dbscheme | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme
index 54b0075a9d86..f0156f5f88ab 100644
--- a/cpp/ql/lib/semmlecode.cpp.dbscheme
+++ b/cpp/ql/lib/semmlecode.cpp.dbscheme
@@ -48,11 +48,9 @@ compilation_args(
 
 /**
  * Optionally, record the build mode for each compilation.
- * The build mode should be the same for all compilations.
  */
-#keyset[id, mode]
 compilation_build_mode(
-    int id : @compilation ref,
+    unique int id : @compilation ref,
     int mode : int ref
 );
 
@@ -62,7 +60,7 @@ case @compilation_build_mode.mode of
 | 1 = @build_mode_manual
 | 2 = @build_mode_auto
 ;
-/*
+*/
 
 /**
  * The source files that are compiled by a compiler invocation.

From 10f692b57cfb0cd7be1be70945db676390f5be39 Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Tue, 19 Nov 2024 12:18:38 +0000
Subject: [PATCH 4/8] C++: DB upgrade scripts

---
 .../old.dbscheme                              | 2339 +++++++++++++++++
 .../semmlecode.cpp.dbscheme                   | 2323 ++++++++++++++++
 .../upgrade.properties                        |    2 +
 .../old.dbscheme                              | 2323 ++++++++++++++++
 .../semmlecode.cpp.dbscheme                   | 2339 +++++++++++++++++
 .../upgrade.properties                        |    2 +
 6 files changed, 9328 insertions(+)
 create mode 100644 cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/old.dbscheme
 create mode 100644 cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/semmlecode.cpp.dbscheme
 create mode 100644 cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
 create mode 100644 cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/old.dbscheme
 create mode 100644 cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/semmlecode.cpp.dbscheme
 create mode 100644 cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/upgrade.properties

diff --git a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/old.dbscheme b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/old.dbscheme
new file mode 100644
index 000000000000..f0156f5f88ab
--- /dev/null
+++ b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/old.dbscheme
@@ -0,0 +1,2339 @@
+
+/**
+ * An invocation of the compiler. Note that more than one file may be
+ * compiled per invocation. For example, this command compiles three
+ * source files:
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * The `id` simply identifies the invocation, while `cwd` is the working
+ * directory from which the compiler was invoked.
+ */
+compilations(
+    /**
+     * An invocation of the compiler. Note that more than one file may
+     * be compiled per invocation. For example, this command compiles
+     * three source files:
+     *
+     *   gcc -c f1.c f2.c f3.c
+     */
+    unique int id : @compilation,
+    string cwd : string ref
+);
+
+/**
+ * The arguments that were passed to the extractor for a compiler
+ * invocation. If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then typically there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | *path to extractor*
+ * 1   | `--mimic`
+ * 2   | `/usr/bin/gcc`
+ * 3   | `-c`
+ * 4   | f1.c
+ * 5   | f2.c
+ * 6   | f3.c
+ */
+#keyset[id, num]
+compilation_args(
+    int id : @compilation ref,
+    int num : int ref,
+    string arg : string ref
+);
+
+/**
+ * Optionally, record the build mode for each compilation.
+ */
+compilation_build_mode(
+    unique int id : @compilation ref,
+    int mode : int ref
+);
+
+/*
+case @compilation_build_mode.mode of
+  0 = @build_mode_none
+| 1 = @build_mode_manual
+| 2 = @build_mode_auto
+;
+*/
+
+/**
+ * The source files that are compiled by a compiler invocation.
+ * If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | f1.c
+ * 1   | f2.c
+ * 2   | f3.c
+ *
+ * Note that even if those files `#include` headers, those headers
+ * do not appear as rows.
+ */
+#keyset[id, num]
+compilation_compiling_files(
+    int id : @compilation ref,
+    int num : int ref,
+    int file : @file ref
+);
+
+/**
+ * The time taken by the extractor for a compiler invocation.
+ *
+ * For each file `num`, there will be rows for
+ *
+ * kind | seconds
+ * ---- | ---
+ * 1    | CPU seconds used by the extractor frontend
+ * 2    | Elapsed seconds during the extractor frontend
+ * 3    | CPU seconds used by the extractor backend
+ * 4    | Elapsed seconds during the extractor backend
+ */
+#keyset[id, num, kind]
+compilation_time(
+    int id : @compilation ref,
+    int num : int ref,
+    /* kind:
+       1 = frontend_cpu_seconds
+       2 = frontend_elapsed_seconds
+       3 = extractor_cpu_seconds
+       4 = extractor_elapsed_seconds
+    */
+    int kind : int ref,
+    float seconds : float ref
+);
+
+/**
+ * An error or warning generated by the extractor.
+ * The diagnostic message `diagnostic` was generated during compiler
+ * invocation `compilation`, and is the `file_number_diagnostic_number`th
+ * message generated while extracting the `file_number`th file of that
+ * invocation.
+ */
+#keyset[compilation, file_number, file_number_diagnostic_number]
+diagnostic_for(
+    int diagnostic : @diagnostic ref,
+    int compilation : @compilation ref,
+    int file_number : int ref,
+    int file_number_diagnostic_number : int ref
+);
+
+/**
+ * If extraction was successful, then `cpu_seconds` and
+ * `elapsed_seconds` are the CPU time and elapsed time (respectively)
+ * that extraction took for compiler invocation `id`.
+ */
+compilation_finished(
+    unique int id : @compilation ref,
+    float cpu_seconds : float ref,
+    float elapsed_seconds : float ref
+);
+
+
+/**
+ * External data, loaded from CSV files during snapshot creation. See
+ * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data)
+ * for more information.
+ */
+externalData(
+    int id : @externalDataElement,
+    string path : string ref,
+    int column: int ref,
+    string value : string ref
+);
+
+/**
+ * The source location of the snapshot.
+ */
+sourceLocationPrefix(string prefix : string ref);
+
+/**
+ * Information about packages that provide code used during compilation.
+ * The `id` is just a unique identifier.
+ * The `namespace` is typically the name of the package manager that
+ * provided the package (e.g. "dpkg" or "yum").
+ * The `package_name` is the name of the package, and `version` is its
+ * version (as a string).
+ */
+external_packages(
+    unique int id: @external_package,
+    string namespace : string ref,
+    string package_name : string ref,
+    string version : string ref
+);
+
+/**
+ * Holds if File `fileid` was provided by package `package`.
+ */
+header_to_external_package(
+    int fileid : @file ref,
+    int package : @external_package ref
+);
+
+/*
+ * Version history
+ */
+
+svnentries(
+    unique int id : @svnentry,
+    string revision : string ref,
+    string author : string ref,
+    date revisionDate : date ref,
+    int changeSize : int ref
+)
+
+svnaffectedfiles(
+    int id : @svnentry ref,
+    int file : @file ref,
+    string action : string ref
+)
+
+svnentrymsg(
+    unique int id : @svnentry ref,
+    string message : string ref
+)
+
+svnchurn(
+    int commit : @svnentry ref,
+    int file : @file ref,
+    int addedLines : int ref,
+    int deletedLines : int ref
+)
+
+/*
+ * C++ dbscheme
+ */
+
+extractor_version(
+    string codeql_version: string ref,
+    string frontend_version: string ref
+)
+
+@location = @location_stmt | @location_expr | @location_default ;
+
+/**
+ * The location of an element that is not an expression or a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_default(
+    /** The location of an element that is not an expression or a statement. */
+    unique int id: @location_default,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_stmt(
+    /** The location of a statement. */
+    unique int id: @location_stmt,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of an expression.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_expr(
+    /** The location of an expression. */
+    unique int id: @location_expr,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/** An element for which line-count information is available. */
+@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable;
+
+numlines(
+    int element_id: @sourceline ref,
+    int num_lines: int ref,
+    int num_code: int ref,
+    int num_comment: int ref
+);
+
+diagnostics(
+    unique int id: @diagnostic,
+    int severity: int ref,
+    string error_tag: string ref,
+    string error_message: string ref,
+    string full_error_message: string ref,
+    int location: @location_default ref
+);
+
+files(
+    unique int id: @file,
+    string name: string ref
+);
+
+folders(
+    unique int id: @folder,
+    string name: string ref
+);
+
+@container = @folder | @file
+
+containerparent(
+    int parent: @container ref,
+    unique int child: @container ref
+);
+
+fileannotations(
+    int id: @file ref,
+    int kind: int ref,
+    string name: string ref,
+    string value: string ref
+);
+
+inmacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+affectedbymacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+case @macroinvocation.kind of
+  1 = @macro_expansion
+| 2 = @other_macro_reference
+;
+
+macroinvocations(
+    unique int id: @macroinvocation,
+    int macro_id: @ppd_define ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+macroparent(
+    unique int id: @macroinvocation ref,
+    int parent_id: @macroinvocation ref
+);
+
+// a macroinvocation may be part of another location
+// the way to find a constant expression that uses a macro
+// is thus to find a constant expression that has a location
+// to which a macro invocation is bound
+macrolocationbind(
+    int id: @macroinvocation ref,
+    int location: @location ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_unexpanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_expanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+/*
+case @function.kind of
+  1 = @normal_function
+| 2 = @constructor
+| 3 = @destructor
+| 4 = @conversion_function
+| 5 = @operator
+| 6 = @builtin_function     // GCC built-in functions, e.g. __builtin___memcpy_chk
+| 7 = @user_defined_literal
+| 8 = @deduction_guide
+;
+*/
+
+functions(
+    unique int id: @function,
+    string name: string ref,
+    int kind: int ref
+);
+
+function_entry_point(
+    int id: @function ref,
+    unique int entry_point: @stmt ref
+);
+
+function_return_type(
+    int id: @function ref,
+    int return_type: @type ref
+);
+
+/**
+ * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits`
+ * instance associated with it, and the variables representing the `handle` and `promise`
+ * for it.
+ */
+coroutine(
+  unique int function: @function ref,
+  int traits: @type ref
+);
+
+/*
+case @coroutine_placeholder_variable.kind of
+  1 = @handle
+| 2 = @promise
+| 3 = @init_await_resume
+;
+*/
+
+coroutine_placeholder_variable(
+  unique int placeholder_variable: @variable ref,
+  int kind: int ref,
+  int function: @function ref
+)
+
+/** The `new` function used for allocating the coroutine state, if any. */
+coroutine_new(
+  unique int function: @function ref,
+  int new: @function ref
+);
+
+/** The `delete` function used for deallocating the coroutine state, if any. */
+coroutine_delete(
+  unique int function: @function ref,
+  int delete: @function ref
+);
+
+purefunctions(unique int id: @function ref);
+
+function_deleted(unique int id: @function ref);
+
+function_defaulted(unique int id: @function ref);
+
+function_prototyped(unique int id: @function ref)
+
+deduction_guide_for_class(
+    int id: @function ref,
+    int class_template: @usertype ref
+)
+
+member_function_this_type(
+    unique int id: @function ref,
+    int this_type: @type ref
+);
+
+#keyset[id, type_id]
+fun_decls(
+    int id: @fun_decl,
+    int function: @function ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+fun_def(unique int id: @fun_decl ref);
+fun_specialized(unique int id: @fun_decl ref);
+fun_implicit(unique int id: @fun_decl ref);
+fun_decl_specifiers(
+    int id: @fun_decl ref,
+    string name: string ref
+)
+#keyset[fun_decl, index]
+fun_decl_throws(
+    int fun_decl: @fun_decl ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+/* an empty throw specification is different from none */
+fun_decl_empty_throws(unique int fun_decl: @fun_decl ref);
+fun_decl_noexcept(
+    int fun_decl: @fun_decl ref,
+    int constant: @expr ref
+);
+fun_decl_empty_noexcept(int fun_decl: @fun_decl ref);
+fun_decl_typedef_type(
+    unique int fun_decl: @fun_decl ref,
+    int typedeftype_id: @usertype ref
+);
+
+param_decl_bind(
+    unique int id: @var_decl ref,
+    int index: int ref,
+    int fun_decl: @fun_decl ref
+);
+
+#keyset[id, type_id]
+var_decls(
+    int id: @var_decl,
+    int variable: @variable ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+var_def(unique int id: @var_decl ref);
+var_decl_specifiers(
+    int id: @var_decl ref,
+    string name: string ref
+)
+is_structured_binding(unique int id: @variable ref);
+
+type_decls(
+    unique int id: @type_decl,
+    int type_id: @type ref,
+    int location: @location_default ref
+);
+type_def(unique int id: @type_decl ref);
+type_decl_top(
+    unique int type_decl: @type_decl ref
+);
+
+namespace_decls(
+    unique int id: @namespace_decl,
+    int namespace_id: @namespace ref,
+    int location: @location_default ref,
+    int bodylocation: @location_default ref
+);
+
+case @using.kind of
+  1 = @using_declaration
+| 2 = @using_directive
+| 3 = @using_enum_declaration
+;
+
+usings(
+    unique int id: @using,
+    int element_id: @element ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+/** The element which contains the `using` declaration. */
+using_container(
+    int parent: @element ref,
+    int child: @using ref
+);
+
+static_asserts(
+    unique int id: @static_assert,
+    int condition : @expr ref,
+    string message : string ref,
+    int location: @location_default ref,
+    int enclosing : @element ref
+);
+
+// each function has an ordered list of parameters
+#keyset[id, type_id]
+#keyset[function, index, type_id]
+params(
+    int id: @parameter,
+    int function: @parameterized_element ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+overrides(
+    int new: @function ref,
+    int old: @function ref
+);
+
+#keyset[id, type_id]
+membervariables(
+    int id: @membervariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+globalvariables(
+    int id: @globalvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+localvariables(
+    int id: @localvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+autoderivation(
+    unique int var: @variable ref,
+    int derivation_type: @type ref
+);
+
+orphaned_variables(
+    int var: @localvariable ref,
+    int function: @function ref
+)
+
+enumconstants(
+    unique int id: @enumconstant,
+    int parent: @usertype ref,
+    int index: int ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+
+@variable = @localscopevariable | @globalvariable | @membervariable;
+
+@localscopevariable = @localvariable | @parameter;
+
+/**
+ * Built-in types are the fundamental types, e.g., integral, floating, and void.
+ */
+case @builtintype.kind of
+   1 = @errortype
+|  2 = @unknowntype
+|  3 = @void
+|  4 = @boolean
+|  5 = @char
+|  6 = @unsigned_char
+|  7 = @signed_char
+|  8 = @short
+|  9 = @unsigned_short
+| 10 = @signed_short
+| 11 = @int
+| 12 = @unsigned_int
+| 13 = @signed_int
+| 14 = @long
+| 15 = @unsigned_long
+| 16 = @signed_long
+| 17 = @long_long
+| 18 = @unsigned_long_long
+| 19 = @signed_long_long
+// ... 20 Microsoft-specific __int8
+// ... 21 Microsoft-specific __int16
+// ... 22 Microsoft-specific __int32
+// ... 23 Microsoft-specific __int64
+| 24 = @float
+| 25 = @double
+| 26 = @long_double
+| 27 = @complex_float         // C99-specific _Complex float
+| 28 = @complex_double        // C99-specific _Complex double
+| 29 = @complex_long_double   // C99-specific _Complex long double
+| 30 = @imaginary_float       // C99-specific _Imaginary float
+| 31 = @imaginary_double      // C99-specific _Imaginary double
+| 32 = @imaginary_long_double // C99-specific _Imaginary long double
+| 33 = @wchar_t               // Microsoft-specific
+| 34 = @decltype_nullptr      // C++11
+| 35 = @int128                // __int128
+| 36 = @unsigned_int128       // unsigned __int128
+| 37 = @signed_int128         // signed __int128
+| 38 = @float128              // __float128
+| 39 = @complex_float128      // _Complex __float128
+| 40 = @decimal32             // _Decimal32
+| 41 = @decimal64             // _Decimal64
+| 42 = @decimal128            // _Decimal128
+| 43 = @char16_t
+| 44 = @char32_t
+| 45 = @std_float32           // _Float32
+| 46 = @float32x              // _Float32x
+| 47 = @std_float64           // _Float64
+| 48 = @float64x              // _Float64x
+| 49 = @std_float128          // _Float128
+// ... 50 _Float128x
+| 51 = @char8_t
+| 52 = @float16               // _Float16
+| 53 = @complex_float16       // _Complex _Float16
+| 54 = @fp16                  // __fp16
+| 55 = @std_bfloat16          // __bf16
+| 56 = @std_float16           // std::float16_t
+| 57 = @complex_std_float32   // _Complex _Float32
+| 58 = @complex_float32x      // _Complex _Float32x
+| 59 = @complex_std_float64   // _Complex _Float64
+| 60 = @complex_float64x      // _Complex _Float64x
+| 61 = @complex_std_float128  // _Complex _Float128
+;
+
+builtintypes(
+    unique int id: @builtintype,
+    string name: string ref,
+    int kind: int ref,
+    int size: int ref,
+    int sign: int ref,
+    int alignment: int ref
+);
+
+/**
+ * Derived types are types that are directly derived from existing types and
+ * point to, refer to, transform type data to return a new type.
+ */
+case @derivedtype.kind of
+   1 = @pointer
+|  2 = @reference
+|  3 = @type_with_specifiers
+|  4 = @array
+|  5 = @gnu_vector
+|  6 = @routineptr
+|  7 = @routinereference
+|  8 = @rvalue_reference // C++11
+// ... 9 type_conforming_to_protocols deprecated
+| 10 = @block
+;
+
+derivedtypes(
+    unique int id: @derivedtype,
+    string name: string ref,
+    int kind: int ref,
+    int type_id: @type ref
+);
+
+pointerishsize(unique int id: @derivedtype ref,
+    int size: int ref,
+    int alignment: int ref);
+
+arraysizes(
+    unique int id: @derivedtype ref,
+    int num_elements: int ref,
+    int bytesize: int ref,
+    int alignment: int ref
+);
+
+typedefbase(
+    unique int id: @usertype ref,
+    int type_id: @type ref
+);
+
+/**
+ * An instance of the C++11 `decltype` operator.  For example:
+ * ```
+ * int a;
+ * decltype(1+a) b;
+ * ```
+ * Here `expr` is `1+a`.
+ *
+ * Sometimes an additional pair of parentheses around the expression
+ * would change the semantics of this decltype, e.g.
+ * ```
+ * struct A { double x; };
+ * const A* a = new A();
+ * decltype( a->x ); // type is double
+ * decltype((a->x)); // type is const double&
+ * ```
+ * (Please consult the C++11 standard for more details).
+ * `parentheses_would_change_meaning` is `true` iff that is the case.
+ */
+#keyset[id, expr]
+decltypes(
+    int id: @decltype,
+    int expr: @expr ref,
+    int base_type: @type ref,
+    boolean parentheses_would_change_meaning: boolean ref
+);
+
+/*
+case @usertype.kind of
+   1 = @struct
+|  2 = @class
+|  3 = @union
+|  4 = @enum
+|  5 = @typedef                       // classic C: typedef typedef type name
+|  6 = @template
+|  7 = @template_parameter
+|  8 = @template_template_parameter
+|  9 = @proxy_class                   // a proxy class associated with a template parameter
+// ... 10 objc_class deprecated
+// ... 11 objc_protocol deprecated
+// ... 12 objc_category deprecated
+| 13 = @scoped_enum
+| 14 = @using_alias                  // a using name = type style typedef
+;
+*/
+
+usertypes(
+    unique int id: @usertype,
+    string name: string ref,
+    int kind: int ref
+);
+
+usertypesize(
+    unique int id: @usertype ref,
+    int size: int ref,
+    int alignment: int ref
+);
+
+usertype_final(unique int id: @usertype ref);
+
+usertype_uuid(
+    unique int id: @usertype ref,
+    string uuid: string ref
+);
+
+mangled_name(
+    unique int id: @declaration ref,
+    int mangled_name : @mangledname,
+    boolean is_complete: boolean ref
+);
+
+is_pod_class(unique int id: @usertype ref);
+is_standard_layout_class(unique int id: @usertype ref);
+
+is_complete(unique int id: @usertype ref);
+
+is_class_template(unique int id: @usertype ref);
+class_instantiation(
+    int to: @usertype ref,
+    int from: @usertype ref
+);
+class_template_argument(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+class_template_argument_value(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_proxy_class_for(
+    unique int id: @usertype ref,
+    unique int templ_param_id: @usertype ref
+);
+
+type_mentions(
+    unique int id: @type_mention,
+    int type_id: @type ref,
+    int location: @location ref,
+    // a_symbol_reference_kind from the frontend.
+    int kind: int ref
+);
+
+is_function_template(unique int id: @function ref);
+function_instantiation(
+    unique int to: @function ref,
+    int from: @function ref
+);
+function_template_argument(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+function_template_argument_value(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_variable_template(unique int id: @variable ref);
+variable_instantiation(
+    unique int to: @variable ref,
+    int from: @variable ref
+);
+variable_template_argument(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+variable_template_argument_value(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+routinetypes(
+    unique int id: @routinetype,
+    int return_type: @type ref
+);
+
+routinetypeargs(
+    int routine: @routinetype ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+ptrtomembers(
+    unique int id: @ptrtomember,
+    int type_id: @type ref,
+    int class_id: @type ref
+);
+
+/*
+ specifiers for types, functions, and variables
+
+    "public",
+    "protected",
+    "private",
+
+    "const",
+    "volatile",
+    "static",
+
+    "pure",
+    "virtual",
+    "sealed", // Microsoft
+    "__interface", // Microsoft
+    "inline",
+    "explicit",
+
+    "near", // near far extension
+    "far", // near far extension
+    "__ptr32", // Microsoft
+    "__ptr64", // Microsoft
+    "__sptr", // Microsoft
+    "__uptr", // Microsoft
+    "dllimport", // Microsoft
+    "dllexport", // Microsoft
+    "thread", // Microsoft
+    "naked", // Microsoft
+    "microsoft_inline", // Microsoft
+    "forceinline", // Microsoft
+    "selectany", // Microsoft
+    "nothrow", // Microsoft
+    "novtable", // Microsoft
+    "noreturn", // Microsoft
+    "noinline", // Microsoft
+    "noalias", // Microsoft
+    "restrict", // Microsoft
+*/
+
+specifiers(
+    unique int id: @specifier,
+    unique string str: string ref
+);
+
+typespecifiers(
+    int type_id: @type ref,
+    int spec_id: @specifier ref
+);
+
+funspecifiers(
+    int func_id: @function ref,
+    int spec_id: @specifier ref
+);
+
+varspecifiers(
+    int var_id: @accessible ref,
+    int spec_id: @specifier ref
+);
+
+explicit_specifier_exprs(
+    unique int func_id: @function ref,
+    int constant: @expr ref
+)
+
+attributes(
+    unique int id: @attribute,
+    int kind: int ref,
+    string name: string ref,
+    string name_space: string ref,
+    int location: @location_default ref
+);
+
+case @attribute.kind of
+  0 = @gnuattribute
+| 1 = @stdattribute
+| 2 = @declspec
+| 3 = @msattribute
+| 4 = @alignas
+// ... 5 @objc_propertyattribute deprecated
+;
+
+attribute_args(
+    unique int id: @attribute_arg,
+    int kind: int ref,
+    int attribute: @attribute ref,
+    int index: int ref,
+    int location: @location_default ref
+);
+
+case @attribute_arg.kind of
+  0 = @attribute_arg_empty
+| 1 = @attribute_arg_token
+| 2 = @attribute_arg_constant
+| 3 = @attribute_arg_type
+| 4 = @attribute_arg_constant_expr
+| 5 = @attribute_arg_expr
+;
+
+attribute_arg_value(
+    unique int arg: @attribute_arg ref,
+    string value: string ref
+);
+attribute_arg_type(
+    unique int arg: @attribute_arg ref,
+    int type_id: @type ref
+);
+attribute_arg_constant(
+    unique int arg: @attribute_arg ref,
+    int constant: @expr ref
+)
+attribute_arg_expr(
+    unique int arg: @attribute_arg ref,
+    int expr: @expr ref
+)
+attribute_arg_name(
+    unique int arg: @attribute_arg ref,
+    string name: string ref
+);
+
+typeattributes(
+    int type_id: @type ref,
+    int spec_id: @attribute ref
+);
+
+funcattributes(
+    int func_id: @function ref,
+    int spec_id: @attribute ref
+);
+
+varattributes(
+    int var_id: @accessible ref,
+    int spec_id: @attribute ref
+);
+
+stmtattributes(
+    int stmt_id: @stmt ref,
+    int spec_id: @attribute ref
+);
+
+@type = @builtintype
+      | @derivedtype
+      | @usertype
+      /* TODO | @fixedpointtype */
+      | @routinetype
+      | @ptrtomember
+      | @decltype;
+
+unspecifiedtype(
+    unique int type_id: @type ref,
+    int unspecified_type_id: @type ref
+);
+
+member(
+    int parent: @type ref,
+    int index: int ref,
+    int child: @member ref
+);
+
+@enclosingfunction_child = @usertype | @variable | @namespace
+
+enclosingfunction(
+    unique int child: @enclosingfunction_child ref,
+    int parent: @function ref
+);
+
+derivations(
+    unique int derivation: @derivation,
+    int sub: @type ref,
+    int index: int ref,
+    int super: @type ref,
+    int location: @location_default ref
+);
+
+derspecifiers(
+    int der_id: @derivation ref,
+    int spec_id: @specifier ref
+);
+
+/**
+ * Contains the byte offset of the base class subobject within the derived
+ * class. Only holds for non-virtual base classes, but see table
+ * `virtual_base_offsets` for offsets of virtual base class subobjects.
+ */
+direct_base_offsets(
+    unique int der_id: @derivation ref,
+    int offset: int ref
+);
+
+/**
+ * Contains the byte offset of the virtual base class subobject for class
+ * `super` within a most-derived object of class `sub`. `super` can be either a
+ * direct or indirect base class.
+ */
+#keyset[sub, super]
+virtual_base_offsets(
+    int sub: @usertype ref,
+    int super: @usertype ref,
+    int offset: int ref
+);
+
+frienddecls(
+    unique int id: @frienddecl,
+    int type_id: @type ref,
+    int decl_id: @declaration ref,
+    int location: @location_default ref
+);
+
+@declaredtype = @usertype ;
+
+@declaration = @function
+             | @declaredtype
+             | @variable
+             | @enumconstant
+             | @frienddecl;
+
+@member = @membervariable
+        | @function
+        | @declaredtype
+        | @enumconstant;
+
+@locatable = @diagnostic
+           | @declaration
+           | @ppd_include
+           | @ppd_define
+           | @macroinvocation
+           /*| @funcall*/
+           | @xmllocatable
+           | @attribute
+           | @attribute_arg;
+
+@namedscope = @namespace | @usertype;
+
+@element = @locatable
+         | @file
+         | @folder
+         | @specifier
+         | @type
+         | @expr
+         | @namespace
+         | @initialiser
+         | @stmt
+         | @derivation
+         | @comment
+         | @preprocdirect
+         | @fun_decl
+         | @var_decl
+         | @type_decl
+         | @namespace_decl
+         | @using
+         | @namequalifier
+         | @specialnamequalifyingelement
+         | @static_assert
+         | @type_mention
+         | @lambdacapture;
+
+@exprparent = @element;
+
+comments(
+    unique int id: @comment,
+    string contents: string ref,
+    int location: @location_default ref
+);
+
+commentbinding(
+    int id: @comment ref,
+    int element: @element ref
+);
+
+exprconv(
+    int converted: @expr ref,
+    unique int conversion: @expr ref
+);
+
+compgenerated(unique int id: @element ref);
+
+/**
+ * `destructor_call` destructs the `i`'th entity that should be
+ * destructed following `element`. Note that entities should be
+ * destructed in reverse construction order, so for a given `element`
+ * these should be called from highest to lowest `i`.
+ */
+#keyset[element, destructor_call]
+#keyset[element, i]
+synthetic_destructor_call(
+    int element: @element ref,
+    int i: int ref,
+    int destructor_call: @routineexpr ref
+);
+
+namespaces(
+    unique int id: @namespace,
+    string name: string ref
+);
+
+namespace_inline(
+    unique int id: @namespace ref
+);
+
+namespacembrs(
+    int parentid: @namespace ref,
+    unique int memberid: @namespacembr ref
+);
+
+@namespacembr = @declaration | @namespace;
+
+exprparents(
+    int expr_id: @expr ref,
+    int child_index: int ref,
+    int parent_id: @exprparent ref
+);
+
+expr_isload(unique int expr_id: @expr ref);
+
+@cast = @c_style_cast
+      | @const_cast
+      | @dynamic_cast
+      | @reinterpret_cast
+      | @static_cast
+      ;
+
+/*
+case @conversion.kind of
+  0 = @simple_conversion           // a numeric conversion, qualification conversion, or a reinterpret_cast
+| 1 = @bool_conversion             // conversion to 'bool'
+| 2 = @base_class_conversion       // a derived-to-base conversion
+| 3 = @derived_class_conversion    // a base-to-derived conversion
+| 4 = @pm_base_class_conversion    // a derived-to-base conversion of a pointer to member
+| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member
+| 6 = @glvalue_adjust              // an adjustment of the type of a glvalue
+| 7 = @prvalue_adjust              // an adjustment of the type of a prvalue
+;
+*/
+/**
+ * Describes the semantics represented by a cast expression. This is largely
+ * independent of the source syntax of the cast, so it is separate from the
+ * regular expression kind.
+ */
+conversionkinds(
+    unique int expr_id: @cast ref,
+    int kind: int ref
+);
+
+@conversion = @cast
+            | @array_to_pointer
+            | @parexpr
+            | @reference_to
+            | @ref_indirect
+            | @temp_init
+            | @c11_generic
+            ;
+
+/*
+case @funbindexpr.kind of
+  0 = @normal_call  // a normal call
+| 1 = @virtual_call // a virtual call
+| 2 = @adl_call     // a call whose target is only found by ADL
+;
+*/
+iscall(
+    unique int caller: @funbindexpr ref,
+    int kind: int ref
+);
+
+numtemplatearguments(
+    unique int expr_id: @expr ref,
+    int num: int ref
+);
+
+specialnamequalifyingelements(
+    unique int id: @specialnamequalifyingelement,
+    unique string name: string ref
+);
+
+@namequalifiableelement = @expr | @namequalifier;
+@namequalifyingelement = @namespace
+                       | @specialnamequalifyingelement
+                       | @usertype;
+
+namequalifiers(
+    unique int id: @namequalifier,
+    unique int qualifiableelement: @namequalifiableelement ref,
+    int qualifyingelement: @namequalifyingelement ref,
+    int location: @location_default ref
+);
+
+varbind(
+    int expr: @varbindexpr ref,
+    int var: @accessible ref
+);
+
+funbind(
+    int expr: @funbindexpr ref,
+    int fun: @function ref
+);
+
+@any_new_expr = @new_expr
+              | @new_array_expr;
+
+@new_or_delete_expr = @any_new_expr
+                    | @delete_expr
+                    | @delete_array_expr;
+
+@prefix_crement_expr = @preincrexpr | @predecrexpr;
+
+@postfix_crement_expr = @postincrexpr | @postdecrexpr;
+
+@increment_expr = @preincrexpr | @postincrexpr;
+
+@decrement_expr = @predecrexpr | @postdecrexpr;
+
+@crement_expr = @increment_expr | @decrement_expr;
+
+@un_arith_op_expr = @arithnegexpr
+                  | @unaryplusexpr
+                  | @conjugation
+                  | @realpartexpr
+                  | @imagpartexpr
+                  | @crement_expr
+                  ;
+
+@un_bitwise_op_expr = @complementexpr;
+
+@un_log_op_expr = @notexpr;
+
+@un_op_expr = @address_of
+            | @indirect
+            | @un_arith_op_expr
+            | @un_bitwise_op_expr
+            | @builtinaddressof
+            | @vec_fill
+            | @un_log_op_expr
+            | @co_await
+            | @co_yield
+            ;
+
+@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr;
+
+@cmp_op_expr = @eq_op_expr | @rel_op_expr;
+
+@eq_op_expr = @eqexpr | @neexpr;
+
+@rel_op_expr = @gtexpr
+             | @ltexpr
+             | @geexpr
+             | @leexpr
+             | @spaceshipexpr
+             ;
+
+@bin_bitwise_op_expr = @lshiftexpr
+                     | @rshiftexpr
+                     | @andexpr
+                     | @orexpr
+                     | @xorexpr
+                     ;
+
+@p_arith_op_expr = @paddexpr
+                 | @psubexpr
+                 | @pdiffexpr
+                 ;
+
+@bin_arith_op_expr = @addexpr
+                   | @subexpr
+                   | @mulexpr
+                   | @divexpr
+                   | @remexpr
+                   | @jmulexpr
+                   | @jdivexpr
+                   | @fjaddexpr
+                   | @jfaddexpr
+                   | @fjsubexpr
+                   | @jfsubexpr
+                   | @minexpr
+                   | @maxexpr
+                   | @p_arith_op_expr
+                   ;
+
+@bin_op_expr = @bin_arith_op_expr
+             | @bin_bitwise_op_expr
+             | @cmp_op_expr
+             | @bin_log_op_expr
+             ;
+
+@op_expr = @un_op_expr
+         | @bin_op_expr
+         | @assign_expr
+         | @conditionalexpr
+         ;
+
+@assign_arith_expr = @assignaddexpr
+                   | @assignsubexpr
+                   | @assignmulexpr
+                   | @assigndivexpr
+                   | @assignremexpr
+                   ;
+
+@assign_bitwise_expr = @assignandexpr
+                     | @assignorexpr
+                     | @assignxorexpr
+                     | @assignlshiftexpr
+                     | @assignrshiftexpr
+                     ;
+
+@assign_pointer_expr = @assignpaddexpr
+                     | @assignpsubexpr
+                     ;
+
+@assign_op_expr = @assign_arith_expr
+                | @assign_bitwise_expr
+                | @assign_pointer_expr
+                ;
+
+@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr
+
+/*
+  Binary encoding of the allocator form.
+
+  case @allocator.form of
+    0 = plain
+  | 1 = alignment
+  ;
+*/
+
+/**
+ * The allocator function associated with a `new` or `new[]` expression.
+ * The `form` column specified whether the allocation call contains an alignment
+ * argument.
+ */
+expr_allocator(
+    unique int expr: @any_new_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/*
+  Binary encoding of the deallocator form.
+
+  case @deallocator.form of
+    0 = plain
+  | 1 = size
+  | 2 = alignment
+  | 4 = destroying_delete
+  ;
+*/
+
+/**
+ * The deallocator function associated with a `delete`, `delete[]`, `new`, or
+ * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the
+ * one used to free memory if the initialization throws an exception.
+ * The `form` column specifies whether the deallocation call contains a size
+ * argument, and alignment argument, or both.
+ */
+expr_deallocator(
+    unique int expr: @new_or_delete_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/**
+ * Holds if the `@conditionalexpr` is of the two operand form
+ * `guard ? : false`.
+ */
+expr_cond_two_operand(
+    unique int cond: @conditionalexpr ref
+);
+
+/**
+ * The guard of `@conditionalexpr` `guard ? true : false`
+ */
+expr_cond_guard(
+    unique int cond: @conditionalexpr ref,
+    int guard: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` holds. For the two operand form
+ * `guard ?: false` consider using `expr_cond_guard` instead.
+ */
+expr_cond_true(
+    unique int cond: @conditionalexpr ref,
+    int true: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` does not hold.
+ */
+expr_cond_false(
+    unique int cond: @conditionalexpr ref,
+    int false: @expr ref
+);
+
+/** A string representation of the value. */
+values(
+    unique int id: @value,
+    string str: string ref
+);
+
+/** The actual text in the source code for the value, if any. */
+valuetext(
+    unique int id: @value ref,
+    string text: string ref
+);
+
+valuebind(
+    int val: @value ref,
+    unique int expr: @expr ref
+);
+
+fieldoffsets(
+    unique int id: @variable ref,
+    int byteoffset: int ref,
+    int bitoffset: int ref
+);
+
+bitfield(
+    unique int id: @variable ref,
+    int bits: int ref,
+    int declared_bits: int ref
+);
+
+/* TODO
+memberprefix(
+    int member: @expr ref,
+    int prefix: @expr ref
+);
+*/
+
+/*
+   kind(1) = mbrcallexpr
+   kind(2) = mbrptrcallexpr
+   kind(3) = mbrptrmbrcallexpr
+   kind(4) = ptrmbrptrmbrcallexpr
+   kind(5) = mbrreadexpr // x.y
+   kind(6) = mbrptrreadexpr // p->y
+   kind(7) = mbrptrmbrreadexpr // x.*pm
+   kind(8) = mbrptrmbrptrreadexpr // x->*pm
+   kind(9) = staticmbrreadexpr // static x.y
+   kind(10) = staticmbrptrreadexpr // static p->y
+*/
+/* TODO
+memberaccess(
+    int member: @expr ref,
+    int kind: int ref
+);
+*/
+
+initialisers(
+    unique int init: @initialiser,
+    int var: @accessible ref,
+    unique int expr: @expr ref,
+    int location: @location_expr ref
+);
+
+braced_initialisers(
+    int init: @initialiser ref
+);
+
+/**
+ * An ancestor for the expression, for cases in which we cannot
+ * otherwise find the expression's parent.
+ */
+expr_ancestor(
+    int exp: @expr ref,
+    int ancestor: @element ref
+);
+
+exprs(
+    unique int id: @expr,
+    int kind: int ref,
+    int location: @location_expr ref
+);
+
+expr_reuse(
+    int reuse: @expr ref,
+    int original: @expr ref,
+    int value_category: int ref
+)
+
+/*
+  case @value.category of
+    1 = prval
+  | 2 = xval
+  | 3 = lval
+  ;
+*/
+expr_types(
+    int id: @expr ref,
+    int typeid: @type ref,
+    int value_category: int ref
+);
+
+case @expr.kind of
+    1 = @errorexpr
+|   2 = @address_of // & AddressOfExpr
+|   3 = @reference_to // ReferenceToExpr (implicit?)
+|   4 = @indirect // * PointerDereferenceExpr
+|   5 = @ref_indirect // ReferenceDereferenceExpr (implicit?)
+// ...
+|   8 = @array_to_pointer // (???)
+|   9 = @vacuous_destructor_call // VacuousDestructorCall
+// ...
+|  11 = @assume // Microsoft
+|  12 = @parexpr
+|  13 = @arithnegexpr
+|  14 = @unaryplusexpr
+|  15 = @complementexpr
+|  16 = @notexpr
+|  17 = @conjugation // GNU ~ operator
+|  18 = @realpartexpr // GNU __real
+|  19 = @imagpartexpr // GNU __imag
+|  20 = @postincrexpr
+|  21 = @postdecrexpr
+|  22 = @preincrexpr
+|  23 = @predecrexpr
+|  24 = @conditionalexpr
+|  25 = @addexpr
+|  26 = @subexpr
+|  27 = @mulexpr
+|  28 = @divexpr
+|  29 = @remexpr
+|  30 = @jmulexpr // C99 mul imaginary
+|  31 = @jdivexpr // C99 div imaginary
+|  32 = @fjaddexpr // C99 add real + imaginary
+|  33 = @jfaddexpr // C99 add imaginary + real
+|  34 = @fjsubexpr // C99 sub real - imaginary
+|  35 = @jfsubexpr // C99 sub imaginary - real
+|  36 = @paddexpr // pointer add (pointer + int or int + pointer)
+|  37 = @psubexpr // pointer sub (pointer - integer)
+|  38 = @pdiffexpr // difference between two pointers
+|  39 = @lshiftexpr
+|  40 = @rshiftexpr
+|  41 = @andexpr
+|  42 = @orexpr
+|  43 = @xorexpr
+|  44 = @eqexpr
+|  45 = @neexpr
+|  46 = @gtexpr
+|  47 = @ltexpr
+|  48 = @geexpr
+|  49 = @leexpr
+|  50 = @minexpr // GNU minimum
+|  51 = @maxexpr // GNU maximum
+|  52 = @assignexpr
+|  53 = @assignaddexpr
+|  54 = @assignsubexpr
+|  55 = @assignmulexpr
+|  56 = @assigndivexpr
+|  57 = @assignremexpr
+|  58 = @assignlshiftexpr
+|  59 = @assignrshiftexpr
+|  60 = @assignandexpr
+|  61 = @assignorexpr
+|  62 = @assignxorexpr
+|  63 = @assignpaddexpr // assign pointer add
+|  64 = @assignpsubexpr // assign pointer sub
+|  65 = @andlogicalexpr
+|  66 = @orlogicalexpr
+|  67 = @commaexpr
+|  68 = @subscriptexpr // access to member of an array, e.g., a[5]
+// ...  69 @objc_subscriptexpr deprecated
+// ...  70 @cmdaccess deprecated
+// ...
+|  73 = @virtfunptrexpr
+|  74 = @callexpr
+// ...  75 @msgexpr_normal deprecated
+// ...  76 @msgexpr_super deprecated
+// ...  77 @atselectorexpr deprecated
+// ...  78 @atprotocolexpr deprecated
+|  79 = @vastartexpr
+|  80 = @vaargexpr
+|  81 = @vaendexpr
+|  82 = @vacopyexpr
+// ...  83 @atencodeexpr deprecated
+|  84 = @varaccess
+|  85 = @thisaccess
+// ...  86 @objc_box_expr deprecated
+|  87 = @new_expr
+|  88 = @delete_expr
+|  89 = @throw_expr
+|  90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2)
+|  91 = @braced_init_list
+|  92 = @type_id
+|  93 = @runtime_sizeof
+|  94 = @runtime_alignof
+|  95 = @sizeof_pack
+|  96 = @expr_stmt // GNU extension
+|  97 = @routineexpr
+|  98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....)
+|  99 = @offsetofexpr // offsetof ::= type and field
+| 100 = @hasassignexpr // __has_assign ::= type
+| 101 = @hascopyexpr // __has_copy ::= type
+| 102 = @hasnothrowassign // __has_nothrow_assign ::= type
+| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type
+| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type
+| 105 = @hastrivialassign // __has_trivial_assign ::= type
+| 106 = @hastrivialconstr // __has_trivial_constructor ::= type
+| 107 = @hastrivialcopy // __has_trivial_copy ::= type
+| 108 = @hasuserdestr // __has_user_destructor ::= type
+| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type
+| 110 = @isabstractexpr // __is_abstract ::= type
+| 111 = @isbaseofexpr // __is_base_of ::= type type
+| 112 = @isclassexpr // __is_class ::= type
+| 113 = @isconvtoexpr // __is_convertible_to ::= type type
+| 114 = @isemptyexpr // __is_empty ::= type
+| 115 = @isenumexpr // __is_enum ::= type
+| 116 = @ispodexpr // __is_pod ::= type
+| 117 = @ispolyexpr // __is_polymorphic ::= type
+| 118 = @isunionexpr // __is_union ::= type
+| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type
+| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof
+// ...
+| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type
+| 123 = @literal
+| 124 = @uuidof
+| 127 = @aggregateliteral
+| 128 = @delete_array_expr
+| 129 = @new_array_expr
+// ... 130 @objc_array_literal deprecated
+// ... 131 @objc_dictionary_literal deprecated
+| 132 = @foldexpr
+// ...
+| 200 = @ctordirectinit
+| 201 = @ctorvirtualinit
+| 202 = @ctorfieldinit
+| 203 = @ctordelegatinginit
+| 204 = @dtordirectdestruct
+| 205 = @dtorvirtualdestruct
+| 206 = @dtorfielddestruct
+// ...
+| 210 = @static_cast
+| 211 = @reinterpret_cast
+| 212 = @const_cast
+| 213 = @dynamic_cast
+| 214 = @c_style_cast
+| 215 = @lambdaexpr
+| 216 = @param_ref
+| 217 = @noopexpr
+// ...
+| 294 = @istriviallyconstructibleexpr
+| 295 = @isdestructibleexpr
+| 296 = @isnothrowdestructibleexpr
+| 297 = @istriviallydestructibleexpr
+| 298 = @istriviallyassignableexpr
+| 299 = @isnothrowassignableexpr
+| 300 = @istrivialexpr
+| 301 = @isstandardlayoutexpr
+| 302 = @istriviallycopyableexpr
+| 303 = @isliteraltypeexpr
+| 304 = @hastrivialmoveconstructorexpr
+| 305 = @hastrivialmoveassignexpr
+| 306 = @hasnothrowmoveassignexpr
+| 307 = @isconstructibleexpr
+| 308 = @isnothrowconstructibleexpr
+| 309 = @hasfinalizerexpr
+| 310 = @isdelegateexpr
+| 311 = @isinterfaceclassexpr
+| 312 = @isrefarrayexpr
+| 313 = @isrefclassexpr
+| 314 = @issealedexpr
+| 315 = @issimplevalueclassexpr
+| 316 = @isvalueclassexpr
+| 317 = @isfinalexpr
+| 319 = @noexceptexpr
+| 320 = @builtinshufflevector
+| 321 = @builtinchooseexpr
+| 322 = @builtinaddressof
+| 323 = @vec_fill
+| 324 = @builtinconvertvector
+| 325 = @builtincomplex
+| 326 = @spaceshipexpr
+| 327 = @co_await
+| 328 = @co_yield
+| 329 = @temp_init
+| 330 = @isassignable
+| 331 = @isaggregate
+| 332 = @hasuniqueobjectrepresentations
+| 333 = @builtinbitcast
+| 334 = @builtinshuffle
+| 335 = @blockassignexpr
+| 336 = @issame
+| 337 = @isfunction
+| 338 = @islayoutcompatible
+| 339 = @ispointerinterconvertiblebaseof
+| 340 = @isarray
+| 341 = @arrayrank
+| 342 = @arrayextent
+| 343 = @isarithmetic
+| 344 = @iscompletetype
+| 345 = @iscompound
+| 346 = @isconst
+| 347 = @isfloatingpoint
+| 348 = @isfundamental
+| 349 = @isintegral
+| 350 = @islvaluereference
+| 351 = @ismemberfunctionpointer
+| 352 = @ismemberobjectpointer
+| 353 = @ismemberpointer
+| 354 = @isobject
+| 355 = @ispointer
+| 356 = @isreference
+| 357 = @isrvaluereference
+| 358 = @isscalar
+| 359 = @issigned
+| 360 = @isunsigned
+| 361 = @isvoid
+| 362 = @isvolatile
+| 363 = @reuseexpr
+| 364 = @istriviallycopyassignable
+| 365 = @isassignablenopreconditioncheck
+| 366 = @referencebindstotemporary
+| 367 = @issameas
+| 368 = @builtinhasattribute
+| 369 = @ispointerinterconvertiblewithclass
+| 370 = @builtinispointerinterconvertiblewithclass
+| 371 = @iscorrespondingmember
+| 372 = @builtiniscorrespondingmember
+| 373 = @isboundedarray
+| 374 = @isunboundedarray
+| 375 = @isreferenceable
+| 378 = @isnothrowconvertible
+| 379 = @referenceconstructsfromtemporary
+| 380 = @referenceconvertsfromtemporary
+| 381 = @isconvertible
+| 382 = @isvalidwinrttype
+| 383 = @iswinclass
+| 384 = @iswininterface
+| 385 = @istriviallyequalitycomparable
+| 386 = @isscopedenum
+| 387 = @istriviallyrelocatable
+| 388 = @datasizeof
+| 389 = @c11_generic
+| 390 = @requires_expr
+| 391 = @nested_requirement
+| 392 = @compound_requirement
+| 393 = @concept_id
+;
+
+@var_args_expr = @vastartexpr
+               | @vaendexpr
+               | @vaargexpr
+               | @vacopyexpr
+               ;
+
+@builtin_op = @var_args_expr
+            | @noopexpr
+            | @offsetofexpr
+            | @intaddrexpr
+            | @hasassignexpr
+            | @hascopyexpr
+            | @hasnothrowassign
+            | @hasnothrowconstr
+            | @hasnothrowcopy
+            | @hastrivialassign
+            | @hastrivialconstr
+            | @hastrivialcopy
+            | @hastrivialdestructor
+            | @hasuserdestr
+            | @hasvirtualdestr
+            | @isabstractexpr
+            | @isbaseofexpr
+            | @isclassexpr
+            | @isconvtoexpr
+            | @isemptyexpr
+            | @isenumexpr
+            | @ispodexpr
+            | @ispolyexpr
+            | @isunionexpr
+            | @typescompexpr
+            | @builtinshufflevector
+            | @builtinconvertvector
+            | @builtinaddressof
+            | @istriviallyconstructibleexpr
+            | @isdestructibleexpr
+            | @isnothrowdestructibleexpr
+            | @istriviallydestructibleexpr
+            | @istriviallyassignableexpr
+            | @isnothrowassignableexpr
+            | @istrivialexpr
+            | @isstandardlayoutexpr
+            | @istriviallycopyableexpr
+            | @isliteraltypeexpr
+            | @hastrivialmoveconstructorexpr
+            | @hastrivialmoveassignexpr
+            | @hasnothrowmoveassignexpr
+            | @isconstructibleexpr
+            | @isnothrowconstructibleexpr
+            | @hasfinalizerexpr
+            | @isdelegateexpr
+            | @isinterfaceclassexpr
+            | @isrefarrayexpr
+            | @isrefclassexpr
+            | @issealedexpr
+            | @issimplevalueclassexpr
+            | @isvalueclassexpr
+            | @isfinalexpr
+            | @builtinchooseexpr
+            | @builtincomplex
+            | @isassignable
+            | @isaggregate
+            | @hasuniqueobjectrepresentations
+            | @builtinbitcast
+            | @builtinshuffle
+            | @issame
+            | @isfunction
+            | @islayoutcompatible
+            | @ispointerinterconvertiblebaseof
+            | @isarray
+            | @arrayrank
+            | @arrayextent
+            | @isarithmetic
+            | @iscompletetype
+            | @iscompound
+            | @isconst
+            | @isfloatingpoint
+            | @isfundamental
+            | @isintegral
+            | @islvaluereference
+            | @ismemberfunctionpointer
+            | @ismemberobjectpointer
+            | @ismemberpointer
+            | @isobject
+            | @ispointer
+            | @isreference
+            | @isrvaluereference
+            | @isscalar
+            | @issigned
+            | @isunsigned
+            | @isvoid
+            | @isvolatile
+            | @istriviallycopyassignable
+            | @isassignablenopreconditioncheck
+            | @referencebindstotemporary
+            | @issameas
+            | @builtinhasattribute
+            | @ispointerinterconvertiblewithclass
+            | @builtinispointerinterconvertiblewithclass
+            | @iscorrespondingmember
+            | @builtiniscorrespondingmember
+            | @isboundedarray
+            | @isunboundedarray
+            | @isreferenceable
+            | @isnothrowconvertible
+            | @referenceconstructsfromtemporary
+            | @referenceconvertsfromtemporary
+            | @isconvertible
+            | @isvalidwinrttype
+            | @iswinclass
+            | @iswininterface
+            | @istriviallyequalitycomparable
+            | @isscopedenum
+            | @istriviallyrelocatable
+            ;
+
+compound_requirement_is_noexcept(
+    int expr: @compound_requirement ref
+);
+
+new_allocated_type(
+    unique int expr: @new_expr ref,
+    int type_id: @type ref
+);
+
+new_array_allocated_type(
+    unique int expr: @new_array_expr ref,
+    int type_id: @type ref
+);
+
+/**
+ * The field being initialized by an initializer expression within an aggregate
+ * initializer for a class/struct/union. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_field_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int field: @membervariable ref,
+    int position: int ref
+);
+
+/**
+ * The index of the element being initialized by an initializer expression
+ * within an aggregate initializer for an array. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_array_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int element_index: int ref,
+    int position: int ref
+);
+
+@ctorinit = @ctordirectinit
+          | @ctorvirtualinit
+          | @ctorfieldinit
+          | @ctordelegatinginit;
+@dtordestruct = @dtordirectdestruct
+              | @dtorvirtualdestruct
+              | @dtorfielddestruct;
+
+
+condition_decl_bind(
+    unique int expr: @condition_decl ref,
+    unique int decl: @declaration ref
+);
+
+typeid_bind(
+    unique int expr: @type_id ref,
+    int type_id: @type ref
+);
+
+uuidof_bind(
+    unique int expr: @uuidof ref,
+    int type_id: @type ref
+);
+
+@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof;
+
+sizeof_bind(
+    unique int expr: @runtime_sizeof_or_alignof ref,
+    int type_id: @type ref
+);
+
+code_block(
+    unique int block: @literal ref,
+    unique int routine: @function ref
+);
+
+lambdas(
+    unique int expr: @lambdaexpr ref,
+    string default_capture: string ref,
+    boolean has_explicit_return_type: boolean ref
+);
+
+lambda_capture(
+    unique int id: @lambdacapture,
+    int lambda: @lambdaexpr ref,
+    int index: int ref,
+    int field: @membervariable ref,
+    boolean captured_by_reference: boolean ref,
+    boolean is_implicit: boolean ref,
+    int location: @location_default ref
+);
+
+@funbindexpr = @routineexpr
+             | @new_expr
+             | @delete_expr
+             | @delete_array_expr
+             | @ctordirectinit
+             | @ctorvirtualinit
+             | @ctordelegatinginit
+             | @dtordirectdestruct
+             | @dtorvirtualdestruct;
+
+@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct;
+@addressable = @function | @variable ;
+@accessible = @addressable | @enumconstant ;
+
+@access = @varaccess | @routineexpr ;
+
+fold(
+    int expr: @foldexpr ref,
+    string operator: string ref,
+    boolean is_left_fold: boolean ref
+);
+
+stmts(
+    unique int id: @stmt,
+    int kind: int ref,
+    int location: @location_stmt ref
+);
+
+case @stmt.kind of
+    1 = @stmt_expr
+|   2 = @stmt_if
+|   3 = @stmt_while
+|   4 = @stmt_goto
+|   5 = @stmt_label
+|   6 = @stmt_return
+|   7 = @stmt_block
+|   8 = @stmt_end_test_while // do { ... } while ( ... )
+|   9 = @stmt_for
+|  10 = @stmt_switch_case
+|  11 = @stmt_switch
+|  13 = @stmt_asm // "asm" statement or the body of an asm function
+|  15 = @stmt_try_block
+|  16 = @stmt_microsoft_try // Microsoft
+|  17 = @stmt_decl
+|  18 = @stmt_set_vla_size // C99
+|  19 = @stmt_vla_decl // C99
+|  25 = @stmt_assigned_goto // GNU
+|  26 = @stmt_empty
+|  27 = @stmt_continue
+|  28 = @stmt_break
+|  29 = @stmt_range_based_for // C++11
+// ...  30 @stmt_at_autoreleasepool_block deprecated
+// ...  31 @stmt_objc_for_in deprecated
+// ...  32 @stmt_at_synchronized deprecated
+|  33 = @stmt_handler
+// ...  34 @stmt_finally_end deprecated
+|  35 = @stmt_constexpr_if
+|  37 = @stmt_co_return
+;
+
+type_vla(
+    int type_id: @type ref,
+    int decl: @stmt_vla_decl ref
+);
+
+variable_vla(
+    int var: @variable ref,
+    int decl: @stmt_vla_decl ref
+);
+
+if_initialization(
+    unique int if_stmt: @stmt_if ref,
+    int init_id: @stmt ref
+);
+
+if_then(
+    unique int if_stmt: @stmt_if ref,
+    int then_id: @stmt ref
+);
+
+if_else(
+    unique int if_stmt: @stmt_if ref,
+    int else_id: @stmt ref
+);
+
+constexpr_if_initialization(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int init_id: @stmt ref
+);
+
+constexpr_if_then(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int then_id: @stmt ref
+);
+
+constexpr_if_else(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int else_id: @stmt ref
+);
+
+while_body(
+    unique int while_stmt: @stmt_while ref,
+    int body_id: @stmt ref
+);
+
+do_body(
+    unique int do_stmt: @stmt_end_test_while ref,
+    int body_id: @stmt ref
+);
+
+switch_initialization(
+    unique int switch_stmt: @stmt_switch ref,
+    int init_id: @stmt ref
+);
+
+#keyset[switch_stmt, index]
+switch_case(
+    int switch_stmt: @stmt_switch ref,
+    int index: int ref,
+    int case_id: @stmt_switch_case ref
+);
+
+switch_body(
+    unique int switch_stmt: @stmt_switch ref,
+    int body_id: @stmt ref
+);
+
+@stmt_for_or_range_based_for = @stmt_for
+                             | @stmt_range_based_for;
+
+for_initialization(
+    unique int for_stmt: @stmt_for_or_range_based_for ref,
+    int init_id: @stmt ref
+);
+
+for_condition(
+    unique int for_stmt: @stmt_for ref,
+    int condition_id: @expr ref
+);
+
+for_update(
+    unique int for_stmt: @stmt_for ref,
+    int update_id: @expr ref
+);
+
+for_body(
+    unique int for_stmt: @stmt_for ref,
+    int body_id: @stmt ref
+);
+
+@stmtparent = @stmt | @expr_stmt ;
+stmtparents(
+    unique int id: @stmt ref,
+    int index: int ref,
+    int parent: @stmtparent ref
+);
+
+ishandler(unique int block: @stmt_block ref);
+
+@cfgnode = @stmt | @expr | @function | @initialiser ;
+
+stmt_decl_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl: @declaration ref
+);
+
+stmt_decl_entry_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl_entry: @element ref
+);
+
+@parameterized_element = @function | @stmt_block | @requires_expr;
+
+blockscope(
+    unique int block: @stmt_block ref,
+    int enclosing: @parameterized_element ref
+);
+
+@jump = @stmt_goto | @stmt_break | @stmt_continue;
+
+@jumporlabel = @jump | @stmt_label | @literal;
+
+jumpinfo(
+    unique int id: @jumporlabel ref,
+    string str: string ref,
+    int target: @stmt ref
+);
+
+preprocdirects(
+    unique int id: @preprocdirect,
+    int kind: int ref,
+    int location: @location_default ref
+);
+case @preprocdirect.kind of
+   0 = @ppd_if
+|  1 = @ppd_ifdef
+|  2 = @ppd_ifndef
+|  3 = @ppd_elif
+|  4 = @ppd_else
+|  5 = @ppd_endif
+|  6 = @ppd_plain_include
+|  7 = @ppd_define
+|  8 = @ppd_undef
+|  9 = @ppd_line
+| 10 = @ppd_error
+| 11 = @ppd_pragma
+| 12 = @ppd_objc_import
+| 13 = @ppd_include_next
+| 18 = @ppd_warning
+;
+
+@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next;
+
+@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif;
+
+preprocpair(
+    int begin : @ppd_branch ref,
+    int elseelifend : @preprocdirect ref
+);
+
+preproctrue(int branch : @ppd_branch ref);
+preprocfalse(int branch : @ppd_branch ref);
+
+preproctext(
+    unique int id: @preprocdirect ref,
+    string head: string ref,
+    string body: string ref
+);
+
+includes(
+    unique int id: @ppd_include ref,
+    int included: @file ref
+);
+
+link_targets(
+    int id: @link_target,
+    int binary: @file ref
+);
+
+link_parent(
+    int element : @element ref,
+    int link_target : @link_target ref
+);
+
+/* XML Files */
+
+xmlEncoding(unique int id: @file ref, string encoding: string ref);
+
+xmlDTDs(
+    unique int id: @xmldtd,
+    string root: string ref,
+    string publicId: string ref,
+    string systemId: string ref,
+    int fileid: @file ref
+);
+
+xmlElements(
+    unique int id: @xmlelement,
+    string name: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlAttrs(
+    unique int id: @xmlattribute,
+    int elementid: @xmlelement ref,
+    string name: string ref,
+    string value: string ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlNs(
+    int id: @xmlnamespace,
+    string prefixName: string ref,
+    string URI: string ref,
+    int fileid: @file ref
+);
+
+xmlHasNs(
+    int elementId: @xmlnamespaceable ref,
+    int nsId: @xmlnamespace ref,
+    int fileid: @file ref
+);
+
+xmlComments(
+    unique int id: @xmlcomment,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int fileid: @file ref
+);
+
+xmlChars(
+    unique int id: @xmlcharacters,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int isCDATA: int ref,
+    int fileid: @file ref
+);
+
+@xmlparent = @file | @xmlelement;
+@xmlnamespaceable = @xmlelement | @xmlattribute;
+
+xmllocations(
+    int xmlElement: @xmllocatable ref,
+    int location: @location_default ref
+);
+
+@xmllocatable = @xmlcharacters
+              | @xmlelement
+              | @xmlcomment
+              | @xmlattribute
+              | @xmldtd
+              | @file
+              | @xmlnamespace;
diff --git a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/semmlecode.cpp.dbscheme b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/semmlecode.cpp.dbscheme
new file mode 100644
index 000000000000..e51fad7a2436
--- /dev/null
+++ b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/semmlecode.cpp.dbscheme
@@ -0,0 +1,2323 @@
+
+/**
+ * An invocation of the compiler. Note that more than one file may be
+ * compiled per invocation. For example, this command compiles three
+ * source files:
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * The `id` simply identifies the invocation, while `cwd` is the working
+ * directory from which the compiler was invoked.
+ */
+compilations(
+    /**
+     * An invocation of the compiler. Note that more than one file may
+     * be compiled per invocation. For example, this command compiles
+     * three source files:
+     *
+     *   gcc -c f1.c f2.c f3.c
+     */
+    unique int id : @compilation,
+    string cwd : string ref
+);
+
+/**
+ * The arguments that were passed to the extractor for a compiler
+ * invocation. If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then typically there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | *path to extractor*
+ * 1   | `--mimic`
+ * 2   | `/usr/bin/gcc`
+ * 3   | `-c`
+ * 4   | f1.c
+ * 5   | f2.c
+ * 6   | f3.c
+ */
+#keyset[id, num]
+compilation_args(
+    int id : @compilation ref,
+    int num : int ref,
+    string arg : string ref
+);
+
+/**
+ * The source files that are compiled by a compiler invocation.
+ * If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | f1.c
+ * 1   | f2.c
+ * 2   | f3.c
+ *
+ * Note that even if those files `#include` headers, those headers
+ * do not appear as rows.
+ */
+#keyset[id, num]
+compilation_compiling_files(
+    int id : @compilation ref,
+    int num : int ref,
+    int file : @file ref
+);
+
+/**
+ * The time taken by the extractor for a compiler invocation.
+ *
+ * For each file `num`, there will be rows for
+ *
+ * kind | seconds
+ * ---- | ---
+ * 1    | CPU seconds used by the extractor frontend
+ * 2    | Elapsed seconds during the extractor frontend
+ * 3    | CPU seconds used by the extractor backend
+ * 4    | Elapsed seconds during the extractor backend
+ */
+#keyset[id, num, kind]
+compilation_time(
+    int id : @compilation ref,
+    int num : int ref,
+    /* kind:
+       1 = frontend_cpu_seconds
+       2 = frontend_elapsed_seconds
+       3 = extractor_cpu_seconds
+       4 = extractor_elapsed_seconds
+    */
+    int kind : int ref,
+    float seconds : float ref
+);
+
+/**
+ * An error or warning generated by the extractor.
+ * The diagnostic message `diagnostic` was generated during compiler
+ * invocation `compilation`, and is the `file_number_diagnostic_number`th
+ * message generated while extracting the `file_number`th file of that
+ * invocation.
+ */
+#keyset[compilation, file_number, file_number_diagnostic_number]
+diagnostic_for(
+    int diagnostic : @diagnostic ref,
+    int compilation : @compilation ref,
+    int file_number : int ref,
+    int file_number_diagnostic_number : int ref
+);
+
+/**
+ * If extraction was successful, then `cpu_seconds` and
+ * `elapsed_seconds` are the CPU time and elapsed time (respectively)
+ * that extraction took for compiler invocation `id`.
+ */
+compilation_finished(
+    unique int id : @compilation ref,
+    float cpu_seconds : float ref,
+    float elapsed_seconds : float ref
+);
+
+
+/**
+ * External data, loaded from CSV files during snapshot creation. See
+ * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data)
+ * for more information.
+ */
+externalData(
+    int id : @externalDataElement,
+    string path : string ref,
+    int column: int ref,
+    string value : string ref
+);
+
+/**
+ * The source location of the snapshot.
+ */
+sourceLocationPrefix(string prefix : string ref);
+
+/**
+ * Information about packages that provide code used during compilation.
+ * The `id` is just a unique identifier.
+ * The `namespace` is typically the name of the package manager that
+ * provided the package (e.g. "dpkg" or "yum").
+ * The `package_name` is the name of the package, and `version` is its
+ * version (as a string).
+ */
+external_packages(
+    unique int id: @external_package,
+    string namespace : string ref,
+    string package_name : string ref,
+    string version : string ref
+);
+
+/**
+ * Holds if File `fileid` was provided by package `package`.
+ */
+header_to_external_package(
+    int fileid : @file ref,
+    int package : @external_package ref
+);
+
+/*
+ * Version history
+ */
+
+svnentries(
+    unique int id : @svnentry,
+    string revision : string ref,
+    string author : string ref,
+    date revisionDate : date ref,
+    int changeSize : int ref
+)
+
+svnaffectedfiles(
+    int id : @svnentry ref,
+    int file : @file ref,
+    string action : string ref
+)
+
+svnentrymsg(
+    unique int id : @svnentry ref,
+    string message : string ref
+)
+
+svnchurn(
+    int commit : @svnentry ref,
+    int file : @file ref,
+    int addedLines : int ref,
+    int deletedLines : int ref
+)
+
+/*
+ * C++ dbscheme
+ */
+
+extractor_version(
+    string codeql_version: string ref,
+    string frontend_version: string ref
+)
+
+@location = @location_stmt | @location_expr | @location_default ;
+
+/**
+ * The location of an element that is not an expression or a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_default(
+    /** The location of an element that is not an expression or a statement. */
+    unique int id: @location_default,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_stmt(
+    /** The location of a statement. */
+    unique int id: @location_stmt,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of an expression.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_expr(
+    /** The location of an expression. */
+    unique int id: @location_expr,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/** An element for which line-count information is available. */
+@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable;
+
+numlines(
+    int element_id: @sourceline ref,
+    int num_lines: int ref,
+    int num_code: int ref,
+    int num_comment: int ref
+);
+
+diagnostics(
+    unique int id: @diagnostic,
+    int severity: int ref,
+    string error_tag: string ref,
+    string error_message: string ref,
+    string full_error_message: string ref,
+    int location: @location_default ref
+);
+
+files(
+    unique int id: @file,
+    string name: string ref
+);
+
+folders(
+    unique int id: @folder,
+    string name: string ref
+);
+
+@container = @folder | @file
+
+containerparent(
+    int parent: @container ref,
+    unique int child: @container ref
+);
+
+fileannotations(
+    int id: @file ref,
+    int kind: int ref,
+    string name: string ref,
+    string value: string ref
+);
+
+inmacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+affectedbymacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+case @macroinvocation.kind of
+  1 = @macro_expansion
+| 2 = @other_macro_reference
+;
+
+macroinvocations(
+    unique int id: @macroinvocation,
+    int macro_id: @ppd_define ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+macroparent(
+    unique int id: @macroinvocation ref,
+    int parent_id: @macroinvocation ref
+);
+
+// a macroinvocation may be part of another location
+// the way to find a constant expression that uses a macro
+// is thus to find a constant expression that has a location
+// to which a macro invocation is bound
+macrolocationbind(
+    int id: @macroinvocation ref,
+    int location: @location ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_unexpanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_expanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+/*
+case @function.kind of
+  1 = @normal_function
+| 2 = @constructor
+| 3 = @destructor
+| 4 = @conversion_function
+| 5 = @operator
+| 6 = @builtin_function     // GCC built-in functions, e.g. __builtin___memcpy_chk
+| 7 = @user_defined_literal
+| 8 = @deduction_guide
+;
+*/
+
+functions(
+    unique int id: @function,
+    string name: string ref,
+    int kind: int ref
+);
+
+function_entry_point(
+    int id: @function ref,
+    unique int entry_point: @stmt ref
+);
+
+function_return_type(
+    int id: @function ref,
+    int return_type: @type ref
+);
+
+/**
+ * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits`
+ * instance associated with it, and the variables representing the `handle` and `promise`
+ * for it.
+ */
+coroutine(
+  unique int function: @function ref,
+  int traits: @type ref
+);
+
+/*
+case @coroutine_placeholder_variable.kind of
+  1 = @handle
+| 2 = @promise
+| 3 = @init_await_resume
+;
+*/
+
+coroutine_placeholder_variable(
+  unique int placeholder_variable: @variable ref,
+  int kind: int ref,
+  int function: @function ref
+)
+
+/** The `new` function used for allocating the coroutine state, if any. */
+coroutine_new(
+  unique int function: @function ref,
+  int new: @function ref
+);
+
+/** The `delete` function used for deallocating the coroutine state, if any. */
+coroutine_delete(
+  unique int function: @function ref,
+  int delete: @function ref
+);
+
+purefunctions(unique int id: @function ref);
+
+function_deleted(unique int id: @function ref);
+
+function_defaulted(unique int id: @function ref);
+
+function_prototyped(unique int id: @function ref)
+
+deduction_guide_for_class(
+    int id: @function ref,
+    int class_template: @usertype ref
+)
+
+member_function_this_type(
+    unique int id: @function ref,
+    int this_type: @type ref
+);
+
+#keyset[id, type_id]
+fun_decls(
+    int id: @fun_decl,
+    int function: @function ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+fun_def(unique int id: @fun_decl ref);
+fun_specialized(unique int id: @fun_decl ref);
+fun_implicit(unique int id: @fun_decl ref);
+fun_decl_specifiers(
+    int id: @fun_decl ref,
+    string name: string ref
+)
+#keyset[fun_decl, index]
+fun_decl_throws(
+    int fun_decl: @fun_decl ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+/* an empty throw specification is different from none */
+fun_decl_empty_throws(unique int fun_decl: @fun_decl ref);
+fun_decl_noexcept(
+    int fun_decl: @fun_decl ref,
+    int constant: @expr ref
+);
+fun_decl_empty_noexcept(int fun_decl: @fun_decl ref);
+fun_decl_typedef_type(
+    unique int fun_decl: @fun_decl ref,
+    int typedeftype_id: @usertype ref
+);
+
+param_decl_bind(
+    unique int id: @var_decl ref,
+    int index: int ref,
+    int fun_decl: @fun_decl ref
+);
+
+#keyset[id, type_id]
+var_decls(
+    int id: @var_decl,
+    int variable: @variable ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+var_def(unique int id: @var_decl ref);
+var_decl_specifiers(
+    int id: @var_decl ref,
+    string name: string ref
+)
+is_structured_binding(unique int id: @variable ref);
+
+type_decls(
+    unique int id: @type_decl,
+    int type_id: @type ref,
+    int location: @location_default ref
+);
+type_def(unique int id: @type_decl ref);
+type_decl_top(
+    unique int type_decl: @type_decl ref
+);
+
+namespace_decls(
+    unique int id: @namespace_decl,
+    int namespace_id: @namespace ref,
+    int location: @location_default ref,
+    int bodylocation: @location_default ref
+);
+
+case @using.kind of
+  1 = @using_declaration
+| 2 = @using_directive
+| 3 = @using_enum_declaration
+;
+
+usings(
+    unique int id: @using,
+    int element_id: @element ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+/** The element which contains the `using` declaration. */
+using_container(
+    int parent: @element ref,
+    int child: @using ref
+);
+
+static_asserts(
+    unique int id: @static_assert,
+    int condition : @expr ref,
+    string message : string ref,
+    int location: @location_default ref,
+    int enclosing : @element ref
+);
+
+// each function has an ordered list of parameters
+#keyset[id, type_id]
+#keyset[function, index, type_id]
+params(
+    int id: @parameter,
+    int function: @parameterized_element ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+overrides(
+    int new: @function ref,
+    int old: @function ref
+);
+
+#keyset[id, type_id]
+membervariables(
+    int id: @membervariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+globalvariables(
+    int id: @globalvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+localvariables(
+    int id: @localvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+autoderivation(
+    unique int var: @variable ref,
+    int derivation_type: @type ref
+);
+
+orphaned_variables(
+    int var: @localvariable ref,
+    int function: @function ref
+)
+
+enumconstants(
+    unique int id: @enumconstant,
+    int parent: @usertype ref,
+    int index: int ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+
+@variable = @localscopevariable | @globalvariable | @membervariable;
+
+@localscopevariable = @localvariable | @parameter;
+
+/**
+ * Built-in types are the fundamental types, e.g., integral, floating, and void.
+ */
+case @builtintype.kind of
+   1 = @errortype
+|  2 = @unknowntype
+|  3 = @void
+|  4 = @boolean
+|  5 = @char
+|  6 = @unsigned_char
+|  7 = @signed_char
+|  8 = @short
+|  9 = @unsigned_short
+| 10 = @signed_short
+| 11 = @int
+| 12 = @unsigned_int
+| 13 = @signed_int
+| 14 = @long
+| 15 = @unsigned_long
+| 16 = @signed_long
+| 17 = @long_long
+| 18 = @unsigned_long_long
+| 19 = @signed_long_long
+// ... 20 Microsoft-specific __int8
+// ... 21 Microsoft-specific __int16
+// ... 22 Microsoft-specific __int32
+// ... 23 Microsoft-specific __int64
+| 24 = @float
+| 25 = @double
+| 26 = @long_double
+| 27 = @complex_float         // C99-specific _Complex float
+| 28 = @complex_double        // C99-specific _Complex double
+| 29 = @complex_long_double   // C99-specific _Complex long double
+| 30 = @imaginary_float       // C99-specific _Imaginary float
+| 31 = @imaginary_double      // C99-specific _Imaginary double
+| 32 = @imaginary_long_double // C99-specific _Imaginary long double
+| 33 = @wchar_t               // Microsoft-specific
+| 34 = @decltype_nullptr      // C++11
+| 35 = @int128                // __int128
+| 36 = @unsigned_int128       // unsigned __int128
+| 37 = @signed_int128         // signed __int128
+| 38 = @float128              // __float128
+| 39 = @complex_float128      // _Complex __float128
+| 40 = @decimal32             // _Decimal32
+| 41 = @decimal64             // _Decimal64
+| 42 = @decimal128            // _Decimal128
+| 43 = @char16_t
+| 44 = @char32_t
+| 45 = @std_float32           // _Float32
+| 46 = @float32x              // _Float32x
+| 47 = @std_float64           // _Float64
+| 48 = @float64x              // _Float64x
+| 49 = @std_float128          // _Float128
+// ... 50 _Float128x
+| 51 = @char8_t
+| 52 = @float16               // _Float16
+| 53 = @complex_float16       // _Complex _Float16
+| 54 = @fp16                  // __fp16
+| 55 = @std_bfloat16          // __bf16
+| 56 = @std_float16           // std::float16_t
+| 57 = @complex_std_float32   // _Complex _Float32
+| 58 = @complex_float32x      // _Complex _Float32x
+| 59 = @complex_std_float64   // _Complex _Float64
+| 60 = @complex_float64x      // _Complex _Float64x
+| 61 = @complex_std_float128  // _Complex _Float128
+;
+
+builtintypes(
+    unique int id: @builtintype,
+    string name: string ref,
+    int kind: int ref,
+    int size: int ref,
+    int sign: int ref,
+    int alignment: int ref
+);
+
+/**
+ * Derived types are types that are directly derived from existing types and
+ * point to, refer to, transform type data to return a new type.
+ */
+case @derivedtype.kind of
+   1 = @pointer
+|  2 = @reference
+|  3 = @type_with_specifiers
+|  4 = @array
+|  5 = @gnu_vector
+|  6 = @routineptr
+|  7 = @routinereference
+|  8 = @rvalue_reference // C++11
+// ... 9 type_conforming_to_protocols deprecated
+| 10 = @block
+;
+
+derivedtypes(
+    unique int id: @derivedtype,
+    string name: string ref,
+    int kind: int ref,
+    int type_id: @type ref
+);
+
+pointerishsize(unique int id: @derivedtype ref,
+    int size: int ref,
+    int alignment: int ref);
+
+arraysizes(
+    unique int id: @derivedtype ref,
+    int num_elements: int ref,
+    int bytesize: int ref,
+    int alignment: int ref
+);
+
+typedefbase(
+    unique int id: @usertype ref,
+    int type_id: @type ref
+);
+
+/**
+ * An instance of the C++11 `decltype` operator.  For example:
+ * ```
+ * int a;
+ * decltype(1+a) b;
+ * ```
+ * Here `expr` is `1+a`.
+ *
+ * Sometimes an additional pair of parentheses around the expression
+ * would change the semantics of this decltype, e.g.
+ * ```
+ * struct A { double x; };
+ * const A* a = new A();
+ * decltype( a->x ); // type is double
+ * decltype((a->x)); // type is const double&
+ * ```
+ * (Please consult the C++11 standard for more details).
+ * `parentheses_would_change_meaning` is `true` iff that is the case.
+ */
+#keyset[id, expr]
+decltypes(
+    int id: @decltype,
+    int expr: @expr ref,
+    int base_type: @type ref,
+    boolean parentheses_would_change_meaning: boolean ref
+);
+
+/*
+case @usertype.kind of
+   1 = @struct
+|  2 = @class
+|  3 = @union
+|  4 = @enum
+|  5 = @typedef                       // classic C: typedef typedef type name
+|  6 = @template
+|  7 = @template_parameter
+|  8 = @template_template_parameter
+|  9 = @proxy_class                   // a proxy class associated with a template parameter
+// ... 10 objc_class deprecated
+// ... 11 objc_protocol deprecated
+// ... 12 objc_category deprecated
+| 13 = @scoped_enum
+| 14 = @using_alias                  // a using name = type style typedef
+;
+*/
+
+usertypes(
+    unique int id: @usertype,
+    string name: string ref,
+    int kind: int ref
+);
+
+usertypesize(
+    unique int id: @usertype ref,
+    int size: int ref,
+    int alignment: int ref
+);
+
+usertype_final(unique int id: @usertype ref);
+
+usertype_uuid(
+    unique int id: @usertype ref,
+    string uuid: string ref
+);
+
+mangled_name(
+    unique int id: @declaration ref,
+    int mangled_name : @mangledname,
+    boolean is_complete: boolean ref
+);
+
+is_pod_class(unique int id: @usertype ref);
+is_standard_layout_class(unique int id: @usertype ref);
+
+is_complete(unique int id: @usertype ref);
+
+is_class_template(unique int id: @usertype ref);
+class_instantiation(
+    int to: @usertype ref,
+    int from: @usertype ref
+);
+class_template_argument(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+class_template_argument_value(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_proxy_class_for(
+    unique int id: @usertype ref,
+    unique int templ_param_id: @usertype ref
+);
+
+type_mentions(
+    unique int id: @type_mention,
+    int type_id: @type ref,
+    int location: @location ref,
+    // a_symbol_reference_kind from the frontend.
+    int kind: int ref
+);
+
+is_function_template(unique int id: @function ref);
+function_instantiation(
+    unique int to: @function ref,
+    int from: @function ref
+);
+function_template_argument(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+function_template_argument_value(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_variable_template(unique int id: @variable ref);
+variable_instantiation(
+    unique int to: @variable ref,
+    int from: @variable ref
+);
+variable_template_argument(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+variable_template_argument_value(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+routinetypes(
+    unique int id: @routinetype,
+    int return_type: @type ref
+);
+
+routinetypeargs(
+    int routine: @routinetype ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+ptrtomembers(
+    unique int id: @ptrtomember,
+    int type_id: @type ref,
+    int class_id: @type ref
+);
+
+/*
+ specifiers for types, functions, and variables
+
+    "public",
+    "protected",
+    "private",
+
+    "const",
+    "volatile",
+    "static",
+
+    "pure",
+    "virtual",
+    "sealed", // Microsoft
+    "__interface", // Microsoft
+    "inline",
+    "explicit",
+
+    "near", // near far extension
+    "far", // near far extension
+    "__ptr32", // Microsoft
+    "__ptr64", // Microsoft
+    "__sptr", // Microsoft
+    "__uptr", // Microsoft
+    "dllimport", // Microsoft
+    "dllexport", // Microsoft
+    "thread", // Microsoft
+    "naked", // Microsoft
+    "microsoft_inline", // Microsoft
+    "forceinline", // Microsoft
+    "selectany", // Microsoft
+    "nothrow", // Microsoft
+    "novtable", // Microsoft
+    "noreturn", // Microsoft
+    "noinline", // Microsoft
+    "noalias", // Microsoft
+    "restrict", // Microsoft
+*/
+
+specifiers(
+    unique int id: @specifier,
+    unique string str: string ref
+);
+
+typespecifiers(
+    int type_id: @type ref,
+    int spec_id: @specifier ref
+);
+
+funspecifiers(
+    int func_id: @function ref,
+    int spec_id: @specifier ref
+);
+
+varspecifiers(
+    int var_id: @accessible ref,
+    int spec_id: @specifier ref
+);
+
+explicit_specifier_exprs(
+    unique int func_id: @function ref,
+    int constant: @expr ref
+)
+
+attributes(
+    unique int id: @attribute,
+    int kind: int ref,
+    string name: string ref,
+    string name_space: string ref,
+    int location: @location_default ref
+);
+
+case @attribute.kind of
+  0 = @gnuattribute
+| 1 = @stdattribute
+| 2 = @declspec
+| 3 = @msattribute
+| 4 = @alignas
+// ... 5 @objc_propertyattribute deprecated
+;
+
+attribute_args(
+    unique int id: @attribute_arg,
+    int kind: int ref,
+    int attribute: @attribute ref,
+    int index: int ref,
+    int location: @location_default ref
+);
+
+case @attribute_arg.kind of
+  0 = @attribute_arg_empty
+| 1 = @attribute_arg_token
+| 2 = @attribute_arg_constant
+| 3 = @attribute_arg_type
+| 4 = @attribute_arg_constant_expr
+| 5 = @attribute_arg_expr
+;
+
+attribute_arg_value(
+    unique int arg: @attribute_arg ref,
+    string value: string ref
+);
+attribute_arg_type(
+    unique int arg: @attribute_arg ref,
+    int type_id: @type ref
+);
+attribute_arg_constant(
+    unique int arg: @attribute_arg ref,
+    int constant: @expr ref
+)
+attribute_arg_expr(
+    unique int arg: @attribute_arg ref,
+    int expr: @expr ref
+)
+attribute_arg_name(
+    unique int arg: @attribute_arg ref,
+    string name: string ref
+);
+
+typeattributes(
+    int type_id: @type ref,
+    int spec_id: @attribute ref
+);
+
+funcattributes(
+    int func_id: @function ref,
+    int spec_id: @attribute ref
+);
+
+varattributes(
+    int var_id: @accessible ref,
+    int spec_id: @attribute ref
+);
+
+stmtattributes(
+    int stmt_id: @stmt ref,
+    int spec_id: @attribute ref
+);
+
+@type = @builtintype
+      | @derivedtype
+      | @usertype
+      /* TODO | @fixedpointtype */
+      | @routinetype
+      | @ptrtomember
+      | @decltype;
+
+unspecifiedtype(
+    unique int type_id: @type ref,
+    int unspecified_type_id: @type ref
+);
+
+member(
+    int parent: @type ref,
+    int index: int ref,
+    int child: @member ref
+);
+
+@enclosingfunction_child = @usertype | @variable | @namespace
+
+enclosingfunction(
+    unique int child: @enclosingfunction_child ref,
+    int parent: @function ref
+);
+
+derivations(
+    unique int derivation: @derivation,
+    int sub: @type ref,
+    int index: int ref,
+    int super: @type ref,
+    int location: @location_default ref
+);
+
+derspecifiers(
+    int der_id: @derivation ref,
+    int spec_id: @specifier ref
+);
+
+/**
+ * Contains the byte offset of the base class subobject within the derived
+ * class. Only holds for non-virtual base classes, but see table
+ * `virtual_base_offsets` for offsets of virtual base class subobjects.
+ */
+direct_base_offsets(
+    unique int der_id: @derivation ref,
+    int offset: int ref
+);
+
+/**
+ * Contains the byte offset of the virtual base class subobject for class
+ * `super` within a most-derived object of class `sub`. `super` can be either a
+ * direct or indirect base class.
+ */
+#keyset[sub, super]
+virtual_base_offsets(
+    int sub: @usertype ref,
+    int super: @usertype ref,
+    int offset: int ref
+);
+
+frienddecls(
+    unique int id: @frienddecl,
+    int type_id: @type ref,
+    int decl_id: @declaration ref,
+    int location: @location_default ref
+);
+
+@declaredtype = @usertype ;
+
+@declaration = @function
+             | @declaredtype
+             | @variable
+             | @enumconstant
+             | @frienddecl;
+
+@member = @membervariable
+        | @function
+        | @declaredtype
+        | @enumconstant;
+
+@locatable = @diagnostic
+           | @declaration
+           | @ppd_include
+           | @ppd_define
+           | @macroinvocation
+           /*| @funcall*/
+           | @xmllocatable
+           | @attribute
+           | @attribute_arg;
+
+@namedscope = @namespace | @usertype;
+
+@element = @locatable
+         | @file
+         | @folder
+         | @specifier
+         | @type
+         | @expr
+         | @namespace
+         | @initialiser
+         | @stmt
+         | @derivation
+         | @comment
+         | @preprocdirect
+         | @fun_decl
+         | @var_decl
+         | @type_decl
+         | @namespace_decl
+         | @using
+         | @namequalifier
+         | @specialnamequalifyingelement
+         | @static_assert
+         | @type_mention
+         | @lambdacapture;
+
+@exprparent = @element;
+
+comments(
+    unique int id: @comment,
+    string contents: string ref,
+    int location: @location_default ref
+);
+
+commentbinding(
+    int id: @comment ref,
+    int element: @element ref
+);
+
+exprconv(
+    int converted: @expr ref,
+    unique int conversion: @expr ref
+);
+
+compgenerated(unique int id: @element ref);
+
+/**
+ * `destructor_call` destructs the `i`'th entity that should be
+ * destructed following `element`. Note that entities should be
+ * destructed in reverse construction order, so for a given `element`
+ * these should be called from highest to lowest `i`.
+ */
+#keyset[element, destructor_call]
+#keyset[element, i]
+synthetic_destructor_call(
+    int element: @element ref,
+    int i: int ref,
+    int destructor_call: @routineexpr ref
+);
+
+namespaces(
+    unique int id: @namespace,
+    string name: string ref
+);
+
+namespace_inline(
+    unique int id: @namespace ref
+);
+
+namespacembrs(
+    int parentid: @namespace ref,
+    unique int memberid: @namespacembr ref
+);
+
+@namespacembr = @declaration | @namespace;
+
+exprparents(
+    int expr_id: @expr ref,
+    int child_index: int ref,
+    int parent_id: @exprparent ref
+);
+
+expr_isload(unique int expr_id: @expr ref);
+
+@cast = @c_style_cast
+      | @const_cast
+      | @dynamic_cast
+      | @reinterpret_cast
+      | @static_cast
+      ;
+
+/*
+case @conversion.kind of
+  0 = @simple_conversion           // a numeric conversion, qualification conversion, or a reinterpret_cast
+| 1 = @bool_conversion             // conversion to 'bool'
+| 2 = @base_class_conversion       // a derived-to-base conversion
+| 3 = @derived_class_conversion    // a base-to-derived conversion
+| 4 = @pm_base_class_conversion    // a derived-to-base conversion of a pointer to member
+| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member
+| 6 = @glvalue_adjust              // an adjustment of the type of a glvalue
+| 7 = @prvalue_adjust              // an adjustment of the type of a prvalue
+;
+*/
+/**
+ * Describes the semantics represented by a cast expression. This is largely
+ * independent of the source syntax of the cast, so it is separate from the
+ * regular expression kind.
+ */
+conversionkinds(
+    unique int expr_id: @cast ref,
+    int kind: int ref
+);
+
+@conversion = @cast
+            | @array_to_pointer
+            | @parexpr
+            | @reference_to
+            | @ref_indirect
+            | @temp_init
+            | @c11_generic
+            ;
+
+/*
+case @funbindexpr.kind of
+  0 = @normal_call  // a normal call
+| 1 = @virtual_call // a virtual call
+| 2 = @adl_call     // a call whose target is only found by ADL
+;
+*/
+iscall(
+    unique int caller: @funbindexpr ref,
+    int kind: int ref
+);
+
+numtemplatearguments(
+    unique int expr_id: @expr ref,
+    int num: int ref
+);
+
+specialnamequalifyingelements(
+    unique int id: @specialnamequalifyingelement,
+    unique string name: string ref
+);
+
+@namequalifiableelement = @expr | @namequalifier;
+@namequalifyingelement = @namespace
+                       | @specialnamequalifyingelement
+                       | @usertype;
+
+namequalifiers(
+    unique int id: @namequalifier,
+    unique int qualifiableelement: @namequalifiableelement ref,
+    int qualifyingelement: @namequalifyingelement ref,
+    int location: @location_default ref
+);
+
+varbind(
+    int expr: @varbindexpr ref,
+    int var: @accessible ref
+);
+
+funbind(
+    int expr: @funbindexpr ref,
+    int fun: @function ref
+);
+
+@any_new_expr = @new_expr
+              | @new_array_expr;
+
+@new_or_delete_expr = @any_new_expr
+                    | @delete_expr
+                    | @delete_array_expr;
+
+@prefix_crement_expr = @preincrexpr | @predecrexpr;
+
+@postfix_crement_expr = @postincrexpr | @postdecrexpr;
+
+@increment_expr = @preincrexpr | @postincrexpr;
+
+@decrement_expr = @predecrexpr | @postdecrexpr;
+
+@crement_expr = @increment_expr | @decrement_expr;
+
+@un_arith_op_expr = @arithnegexpr
+                  | @unaryplusexpr
+                  | @conjugation
+                  | @realpartexpr
+                  | @imagpartexpr
+                  | @crement_expr
+                  ;
+
+@un_bitwise_op_expr = @complementexpr;
+
+@un_log_op_expr = @notexpr;
+
+@un_op_expr = @address_of
+            | @indirect
+            | @un_arith_op_expr
+            | @un_bitwise_op_expr
+            | @builtinaddressof
+            | @vec_fill
+            | @un_log_op_expr
+            | @co_await
+            | @co_yield
+            ;
+
+@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr;
+
+@cmp_op_expr = @eq_op_expr | @rel_op_expr;
+
+@eq_op_expr = @eqexpr | @neexpr;
+
+@rel_op_expr = @gtexpr
+             | @ltexpr
+             | @geexpr
+             | @leexpr
+             | @spaceshipexpr
+             ;
+
+@bin_bitwise_op_expr = @lshiftexpr
+                     | @rshiftexpr
+                     | @andexpr
+                     | @orexpr
+                     | @xorexpr
+                     ;
+
+@p_arith_op_expr = @paddexpr
+                 | @psubexpr
+                 | @pdiffexpr
+                 ;
+
+@bin_arith_op_expr = @addexpr
+                   | @subexpr
+                   | @mulexpr
+                   | @divexpr
+                   | @remexpr
+                   | @jmulexpr
+                   | @jdivexpr
+                   | @fjaddexpr
+                   | @jfaddexpr
+                   | @fjsubexpr
+                   | @jfsubexpr
+                   | @minexpr
+                   | @maxexpr
+                   | @p_arith_op_expr
+                   ;
+
+@bin_op_expr = @bin_arith_op_expr
+             | @bin_bitwise_op_expr
+             | @cmp_op_expr
+             | @bin_log_op_expr
+             ;
+
+@op_expr = @un_op_expr
+         | @bin_op_expr
+         | @assign_expr
+         | @conditionalexpr
+         ;
+
+@assign_arith_expr = @assignaddexpr
+                   | @assignsubexpr
+                   | @assignmulexpr
+                   | @assigndivexpr
+                   | @assignremexpr
+                   ;
+
+@assign_bitwise_expr = @assignandexpr
+                     | @assignorexpr
+                     | @assignxorexpr
+                     | @assignlshiftexpr
+                     | @assignrshiftexpr
+                     ;
+
+@assign_pointer_expr = @assignpaddexpr
+                     | @assignpsubexpr
+                     ;
+
+@assign_op_expr = @assign_arith_expr
+                | @assign_bitwise_expr
+                | @assign_pointer_expr
+                ;
+
+@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr
+
+/*
+  Binary encoding of the allocator form.
+
+  case @allocator.form of
+    0 = plain
+  | 1 = alignment
+  ;
+*/
+
+/**
+ * The allocator function associated with a `new` or `new[]` expression.
+ * The `form` column specified whether the allocation call contains an alignment
+ * argument.
+ */
+expr_allocator(
+    unique int expr: @any_new_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/*
+  Binary encoding of the deallocator form.
+
+  case @deallocator.form of
+    0 = plain
+  | 1 = size
+  | 2 = alignment
+  | 4 = destroying_delete
+  ;
+*/
+
+/**
+ * The deallocator function associated with a `delete`, `delete[]`, `new`, or
+ * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the
+ * one used to free memory if the initialization throws an exception.
+ * The `form` column specifies whether the deallocation call contains a size
+ * argument, and alignment argument, or both.
+ */
+expr_deallocator(
+    unique int expr: @new_or_delete_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/**
+ * Holds if the `@conditionalexpr` is of the two operand form
+ * `guard ? : false`.
+ */
+expr_cond_two_operand(
+    unique int cond: @conditionalexpr ref
+);
+
+/**
+ * The guard of `@conditionalexpr` `guard ? true : false`
+ */
+expr_cond_guard(
+    unique int cond: @conditionalexpr ref,
+    int guard: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` holds. For the two operand form
+ * `guard ?: false` consider using `expr_cond_guard` instead.
+ */
+expr_cond_true(
+    unique int cond: @conditionalexpr ref,
+    int true: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` does not hold.
+ */
+expr_cond_false(
+    unique int cond: @conditionalexpr ref,
+    int false: @expr ref
+);
+
+/** A string representation of the value. */
+values(
+    unique int id: @value,
+    string str: string ref
+);
+
+/** The actual text in the source code for the value, if any. */
+valuetext(
+    unique int id: @value ref,
+    string text: string ref
+);
+
+valuebind(
+    int val: @value ref,
+    unique int expr: @expr ref
+);
+
+fieldoffsets(
+    unique int id: @variable ref,
+    int byteoffset: int ref,
+    int bitoffset: int ref
+);
+
+bitfield(
+    unique int id: @variable ref,
+    int bits: int ref,
+    int declared_bits: int ref
+);
+
+/* TODO
+memberprefix(
+    int member: @expr ref,
+    int prefix: @expr ref
+);
+*/
+
+/*
+   kind(1) = mbrcallexpr
+   kind(2) = mbrptrcallexpr
+   kind(3) = mbrptrmbrcallexpr
+   kind(4) = ptrmbrptrmbrcallexpr
+   kind(5) = mbrreadexpr // x.y
+   kind(6) = mbrptrreadexpr // p->y
+   kind(7) = mbrptrmbrreadexpr // x.*pm
+   kind(8) = mbrptrmbrptrreadexpr // x->*pm
+   kind(9) = staticmbrreadexpr // static x.y
+   kind(10) = staticmbrptrreadexpr // static p->y
+*/
+/* TODO
+memberaccess(
+    int member: @expr ref,
+    int kind: int ref
+);
+*/
+
+initialisers(
+    unique int init: @initialiser,
+    int var: @accessible ref,
+    unique int expr: @expr ref,
+    int location: @location_expr ref
+);
+
+braced_initialisers(
+    int init: @initialiser ref
+);
+
+/**
+ * An ancestor for the expression, for cases in which we cannot
+ * otherwise find the expression's parent.
+ */
+expr_ancestor(
+    int exp: @expr ref,
+    int ancestor: @element ref
+);
+
+exprs(
+    unique int id: @expr,
+    int kind: int ref,
+    int location: @location_expr ref
+);
+
+expr_reuse(
+    int reuse: @expr ref,
+    int original: @expr ref,
+    int value_category: int ref
+)
+
+/*
+  case @value.category of
+    1 = prval
+  | 2 = xval
+  | 3 = lval
+  ;
+*/
+expr_types(
+    int id: @expr ref,
+    int typeid: @type ref,
+    int value_category: int ref
+);
+
+case @expr.kind of
+    1 = @errorexpr
+|   2 = @address_of // & AddressOfExpr
+|   3 = @reference_to // ReferenceToExpr (implicit?)
+|   4 = @indirect // * PointerDereferenceExpr
+|   5 = @ref_indirect // ReferenceDereferenceExpr (implicit?)
+// ...
+|   8 = @array_to_pointer // (???)
+|   9 = @vacuous_destructor_call // VacuousDestructorCall
+// ...
+|  11 = @assume // Microsoft
+|  12 = @parexpr
+|  13 = @arithnegexpr
+|  14 = @unaryplusexpr
+|  15 = @complementexpr
+|  16 = @notexpr
+|  17 = @conjugation // GNU ~ operator
+|  18 = @realpartexpr // GNU __real
+|  19 = @imagpartexpr // GNU __imag
+|  20 = @postincrexpr
+|  21 = @postdecrexpr
+|  22 = @preincrexpr
+|  23 = @predecrexpr
+|  24 = @conditionalexpr
+|  25 = @addexpr
+|  26 = @subexpr
+|  27 = @mulexpr
+|  28 = @divexpr
+|  29 = @remexpr
+|  30 = @jmulexpr // C99 mul imaginary
+|  31 = @jdivexpr // C99 div imaginary
+|  32 = @fjaddexpr // C99 add real + imaginary
+|  33 = @jfaddexpr // C99 add imaginary + real
+|  34 = @fjsubexpr // C99 sub real - imaginary
+|  35 = @jfsubexpr // C99 sub imaginary - real
+|  36 = @paddexpr // pointer add (pointer + int or int + pointer)
+|  37 = @psubexpr // pointer sub (pointer - integer)
+|  38 = @pdiffexpr // difference between two pointers
+|  39 = @lshiftexpr
+|  40 = @rshiftexpr
+|  41 = @andexpr
+|  42 = @orexpr
+|  43 = @xorexpr
+|  44 = @eqexpr
+|  45 = @neexpr
+|  46 = @gtexpr
+|  47 = @ltexpr
+|  48 = @geexpr
+|  49 = @leexpr
+|  50 = @minexpr // GNU minimum
+|  51 = @maxexpr // GNU maximum
+|  52 = @assignexpr
+|  53 = @assignaddexpr
+|  54 = @assignsubexpr
+|  55 = @assignmulexpr
+|  56 = @assigndivexpr
+|  57 = @assignremexpr
+|  58 = @assignlshiftexpr
+|  59 = @assignrshiftexpr
+|  60 = @assignandexpr
+|  61 = @assignorexpr
+|  62 = @assignxorexpr
+|  63 = @assignpaddexpr // assign pointer add
+|  64 = @assignpsubexpr // assign pointer sub
+|  65 = @andlogicalexpr
+|  66 = @orlogicalexpr
+|  67 = @commaexpr
+|  68 = @subscriptexpr // access to member of an array, e.g., a[5]
+// ...  69 @objc_subscriptexpr deprecated
+// ...  70 @cmdaccess deprecated
+// ...
+|  73 = @virtfunptrexpr
+|  74 = @callexpr
+// ...  75 @msgexpr_normal deprecated
+// ...  76 @msgexpr_super deprecated
+// ...  77 @atselectorexpr deprecated
+// ...  78 @atprotocolexpr deprecated
+|  79 = @vastartexpr
+|  80 = @vaargexpr
+|  81 = @vaendexpr
+|  82 = @vacopyexpr
+// ...  83 @atencodeexpr deprecated
+|  84 = @varaccess
+|  85 = @thisaccess
+// ...  86 @objc_box_expr deprecated
+|  87 = @new_expr
+|  88 = @delete_expr
+|  89 = @throw_expr
+|  90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2)
+|  91 = @braced_init_list
+|  92 = @type_id
+|  93 = @runtime_sizeof
+|  94 = @runtime_alignof
+|  95 = @sizeof_pack
+|  96 = @expr_stmt // GNU extension
+|  97 = @routineexpr
+|  98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....)
+|  99 = @offsetofexpr // offsetof ::= type and field
+| 100 = @hasassignexpr // __has_assign ::= type
+| 101 = @hascopyexpr // __has_copy ::= type
+| 102 = @hasnothrowassign // __has_nothrow_assign ::= type
+| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type
+| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type
+| 105 = @hastrivialassign // __has_trivial_assign ::= type
+| 106 = @hastrivialconstr // __has_trivial_constructor ::= type
+| 107 = @hastrivialcopy // __has_trivial_copy ::= type
+| 108 = @hasuserdestr // __has_user_destructor ::= type
+| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type
+| 110 = @isabstractexpr // __is_abstract ::= type
+| 111 = @isbaseofexpr // __is_base_of ::= type type
+| 112 = @isclassexpr // __is_class ::= type
+| 113 = @isconvtoexpr // __is_convertible_to ::= type type
+| 114 = @isemptyexpr // __is_empty ::= type
+| 115 = @isenumexpr // __is_enum ::= type
+| 116 = @ispodexpr // __is_pod ::= type
+| 117 = @ispolyexpr // __is_polymorphic ::= type
+| 118 = @isunionexpr // __is_union ::= type
+| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type
+| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof
+// ...
+| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type
+| 123 = @literal
+| 124 = @uuidof
+| 127 = @aggregateliteral
+| 128 = @delete_array_expr
+| 129 = @new_array_expr
+// ... 130 @objc_array_literal deprecated
+// ... 131 @objc_dictionary_literal deprecated
+| 132 = @foldexpr
+// ...
+| 200 = @ctordirectinit
+| 201 = @ctorvirtualinit
+| 202 = @ctorfieldinit
+| 203 = @ctordelegatinginit
+| 204 = @dtordirectdestruct
+| 205 = @dtorvirtualdestruct
+| 206 = @dtorfielddestruct
+// ...
+| 210 = @static_cast
+| 211 = @reinterpret_cast
+| 212 = @const_cast
+| 213 = @dynamic_cast
+| 214 = @c_style_cast
+| 215 = @lambdaexpr
+| 216 = @param_ref
+| 217 = @noopexpr
+// ...
+| 294 = @istriviallyconstructibleexpr
+| 295 = @isdestructibleexpr
+| 296 = @isnothrowdestructibleexpr
+| 297 = @istriviallydestructibleexpr
+| 298 = @istriviallyassignableexpr
+| 299 = @isnothrowassignableexpr
+| 300 = @istrivialexpr
+| 301 = @isstandardlayoutexpr
+| 302 = @istriviallycopyableexpr
+| 303 = @isliteraltypeexpr
+| 304 = @hastrivialmoveconstructorexpr
+| 305 = @hastrivialmoveassignexpr
+| 306 = @hasnothrowmoveassignexpr
+| 307 = @isconstructibleexpr
+| 308 = @isnothrowconstructibleexpr
+| 309 = @hasfinalizerexpr
+| 310 = @isdelegateexpr
+| 311 = @isinterfaceclassexpr
+| 312 = @isrefarrayexpr
+| 313 = @isrefclassexpr
+| 314 = @issealedexpr
+| 315 = @issimplevalueclassexpr
+| 316 = @isvalueclassexpr
+| 317 = @isfinalexpr
+| 319 = @noexceptexpr
+| 320 = @builtinshufflevector
+| 321 = @builtinchooseexpr
+| 322 = @builtinaddressof
+| 323 = @vec_fill
+| 324 = @builtinconvertvector
+| 325 = @builtincomplex
+| 326 = @spaceshipexpr
+| 327 = @co_await
+| 328 = @co_yield
+| 329 = @temp_init
+| 330 = @isassignable
+| 331 = @isaggregate
+| 332 = @hasuniqueobjectrepresentations
+| 333 = @builtinbitcast
+| 334 = @builtinshuffle
+| 335 = @blockassignexpr
+| 336 = @issame
+| 337 = @isfunction
+| 338 = @islayoutcompatible
+| 339 = @ispointerinterconvertiblebaseof
+| 340 = @isarray
+| 341 = @arrayrank
+| 342 = @arrayextent
+| 343 = @isarithmetic
+| 344 = @iscompletetype
+| 345 = @iscompound
+| 346 = @isconst
+| 347 = @isfloatingpoint
+| 348 = @isfundamental
+| 349 = @isintegral
+| 350 = @islvaluereference
+| 351 = @ismemberfunctionpointer
+| 352 = @ismemberobjectpointer
+| 353 = @ismemberpointer
+| 354 = @isobject
+| 355 = @ispointer
+| 356 = @isreference
+| 357 = @isrvaluereference
+| 358 = @isscalar
+| 359 = @issigned
+| 360 = @isunsigned
+| 361 = @isvoid
+| 362 = @isvolatile
+| 363 = @reuseexpr
+| 364 = @istriviallycopyassignable
+| 365 = @isassignablenopreconditioncheck
+| 366 = @referencebindstotemporary
+| 367 = @issameas
+| 368 = @builtinhasattribute
+| 369 = @ispointerinterconvertiblewithclass
+| 370 = @builtinispointerinterconvertiblewithclass
+| 371 = @iscorrespondingmember
+| 372 = @builtiniscorrespondingmember
+| 373 = @isboundedarray
+| 374 = @isunboundedarray
+| 375 = @isreferenceable
+| 378 = @isnothrowconvertible
+| 379 = @referenceconstructsfromtemporary
+| 380 = @referenceconvertsfromtemporary
+| 381 = @isconvertible
+| 382 = @isvalidwinrttype
+| 383 = @iswinclass
+| 384 = @iswininterface
+| 385 = @istriviallyequalitycomparable
+| 386 = @isscopedenum
+| 387 = @istriviallyrelocatable
+| 388 = @datasizeof
+| 389 = @c11_generic
+| 390 = @requires_expr
+| 391 = @nested_requirement
+| 392 = @compound_requirement
+| 393 = @concept_id
+;
+
+@var_args_expr = @vastartexpr
+               | @vaendexpr
+               | @vaargexpr
+               | @vacopyexpr
+               ;
+
+@builtin_op = @var_args_expr
+            | @noopexpr
+            | @offsetofexpr
+            | @intaddrexpr
+            | @hasassignexpr
+            | @hascopyexpr
+            | @hasnothrowassign
+            | @hasnothrowconstr
+            | @hasnothrowcopy
+            | @hastrivialassign
+            | @hastrivialconstr
+            | @hastrivialcopy
+            | @hastrivialdestructor
+            | @hasuserdestr
+            | @hasvirtualdestr
+            | @isabstractexpr
+            | @isbaseofexpr
+            | @isclassexpr
+            | @isconvtoexpr
+            | @isemptyexpr
+            | @isenumexpr
+            | @ispodexpr
+            | @ispolyexpr
+            | @isunionexpr
+            | @typescompexpr
+            | @builtinshufflevector
+            | @builtinconvertvector
+            | @builtinaddressof
+            | @istriviallyconstructibleexpr
+            | @isdestructibleexpr
+            | @isnothrowdestructibleexpr
+            | @istriviallydestructibleexpr
+            | @istriviallyassignableexpr
+            | @isnothrowassignableexpr
+            | @istrivialexpr
+            | @isstandardlayoutexpr
+            | @istriviallycopyableexpr
+            | @isliteraltypeexpr
+            | @hastrivialmoveconstructorexpr
+            | @hastrivialmoveassignexpr
+            | @hasnothrowmoveassignexpr
+            | @isconstructibleexpr
+            | @isnothrowconstructibleexpr
+            | @hasfinalizerexpr
+            | @isdelegateexpr
+            | @isinterfaceclassexpr
+            | @isrefarrayexpr
+            | @isrefclassexpr
+            | @issealedexpr
+            | @issimplevalueclassexpr
+            | @isvalueclassexpr
+            | @isfinalexpr
+            | @builtinchooseexpr
+            | @builtincomplex
+            | @isassignable
+            | @isaggregate
+            | @hasuniqueobjectrepresentations
+            | @builtinbitcast
+            | @builtinshuffle
+            | @issame
+            | @isfunction
+            | @islayoutcompatible
+            | @ispointerinterconvertiblebaseof
+            | @isarray
+            | @arrayrank
+            | @arrayextent
+            | @isarithmetic
+            | @iscompletetype
+            | @iscompound
+            | @isconst
+            | @isfloatingpoint
+            | @isfundamental
+            | @isintegral
+            | @islvaluereference
+            | @ismemberfunctionpointer
+            | @ismemberobjectpointer
+            | @ismemberpointer
+            | @isobject
+            | @ispointer
+            | @isreference
+            | @isrvaluereference
+            | @isscalar
+            | @issigned
+            | @isunsigned
+            | @isvoid
+            | @isvolatile
+            | @istriviallycopyassignable
+            | @isassignablenopreconditioncheck
+            | @referencebindstotemporary
+            | @issameas
+            | @builtinhasattribute
+            | @ispointerinterconvertiblewithclass
+            | @builtinispointerinterconvertiblewithclass
+            | @iscorrespondingmember
+            | @builtiniscorrespondingmember
+            | @isboundedarray
+            | @isunboundedarray
+            | @isreferenceable
+            | @isnothrowconvertible
+            | @referenceconstructsfromtemporary
+            | @referenceconvertsfromtemporary
+            | @isconvertible
+            | @isvalidwinrttype
+            | @iswinclass
+            | @iswininterface
+            | @istriviallyequalitycomparable
+            | @isscopedenum
+            | @istriviallyrelocatable
+            ;
+
+compound_requirement_is_noexcept(
+    int expr: @compound_requirement ref
+);
+
+new_allocated_type(
+    unique int expr: @new_expr ref,
+    int type_id: @type ref
+);
+
+new_array_allocated_type(
+    unique int expr: @new_array_expr ref,
+    int type_id: @type ref
+);
+
+/**
+ * The field being initialized by an initializer expression within an aggregate
+ * initializer for a class/struct/union. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_field_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int field: @membervariable ref,
+    int position: int ref
+);
+
+/**
+ * The index of the element being initialized by an initializer expression
+ * within an aggregate initializer for an array. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_array_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int element_index: int ref,
+    int position: int ref
+);
+
+@ctorinit = @ctordirectinit
+          | @ctorvirtualinit
+          | @ctorfieldinit
+          | @ctordelegatinginit;
+@dtordestruct = @dtordirectdestruct
+              | @dtorvirtualdestruct
+              | @dtorfielddestruct;
+
+
+condition_decl_bind(
+    unique int expr: @condition_decl ref,
+    unique int decl: @declaration ref
+);
+
+typeid_bind(
+    unique int expr: @type_id ref,
+    int type_id: @type ref
+);
+
+uuidof_bind(
+    unique int expr: @uuidof ref,
+    int type_id: @type ref
+);
+
+@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof;
+
+sizeof_bind(
+    unique int expr: @runtime_sizeof_or_alignof ref,
+    int type_id: @type ref
+);
+
+code_block(
+    unique int block: @literal ref,
+    unique int routine: @function ref
+);
+
+lambdas(
+    unique int expr: @lambdaexpr ref,
+    string default_capture: string ref,
+    boolean has_explicit_return_type: boolean ref
+);
+
+lambda_capture(
+    unique int id: @lambdacapture,
+    int lambda: @lambdaexpr ref,
+    int index: int ref,
+    int field: @membervariable ref,
+    boolean captured_by_reference: boolean ref,
+    boolean is_implicit: boolean ref,
+    int location: @location_default ref
+);
+
+@funbindexpr = @routineexpr
+             | @new_expr
+             | @delete_expr
+             | @delete_array_expr
+             | @ctordirectinit
+             | @ctorvirtualinit
+             | @ctordelegatinginit
+             | @dtordirectdestruct
+             | @dtorvirtualdestruct;
+
+@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct;
+@addressable = @function | @variable ;
+@accessible = @addressable | @enumconstant ;
+
+@access = @varaccess | @routineexpr ;
+
+fold(
+    int expr: @foldexpr ref,
+    string operator: string ref,
+    boolean is_left_fold: boolean ref
+);
+
+stmts(
+    unique int id: @stmt,
+    int kind: int ref,
+    int location: @location_stmt ref
+);
+
+case @stmt.kind of
+    1 = @stmt_expr
+|   2 = @stmt_if
+|   3 = @stmt_while
+|   4 = @stmt_goto
+|   5 = @stmt_label
+|   6 = @stmt_return
+|   7 = @stmt_block
+|   8 = @stmt_end_test_while // do { ... } while ( ... )
+|   9 = @stmt_for
+|  10 = @stmt_switch_case
+|  11 = @stmt_switch
+|  13 = @stmt_asm // "asm" statement or the body of an asm function
+|  15 = @stmt_try_block
+|  16 = @stmt_microsoft_try // Microsoft
+|  17 = @stmt_decl
+|  18 = @stmt_set_vla_size // C99
+|  19 = @stmt_vla_decl // C99
+|  25 = @stmt_assigned_goto // GNU
+|  26 = @stmt_empty
+|  27 = @stmt_continue
+|  28 = @stmt_break
+|  29 = @stmt_range_based_for // C++11
+// ...  30 @stmt_at_autoreleasepool_block deprecated
+// ...  31 @stmt_objc_for_in deprecated
+// ...  32 @stmt_at_synchronized deprecated
+|  33 = @stmt_handler
+// ...  34 @stmt_finally_end deprecated
+|  35 = @stmt_constexpr_if
+|  37 = @stmt_co_return
+;
+
+type_vla(
+    int type_id: @type ref,
+    int decl: @stmt_vla_decl ref
+);
+
+variable_vla(
+    int var: @variable ref,
+    int decl: @stmt_vla_decl ref
+);
+
+if_initialization(
+    unique int if_stmt: @stmt_if ref,
+    int init_id: @stmt ref
+);
+
+if_then(
+    unique int if_stmt: @stmt_if ref,
+    int then_id: @stmt ref
+);
+
+if_else(
+    unique int if_stmt: @stmt_if ref,
+    int else_id: @stmt ref
+);
+
+constexpr_if_initialization(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int init_id: @stmt ref
+);
+
+constexpr_if_then(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int then_id: @stmt ref
+);
+
+constexpr_if_else(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int else_id: @stmt ref
+);
+
+while_body(
+    unique int while_stmt: @stmt_while ref,
+    int body_id: @stmt ref
+);
+
+do_body(
+    unique int do_stmt: @stmt_end_test_while ref,
+    int body_id: @stmt ref
+);
+
+switch_initialization(
+    unique int switch_stmt: @stmt_switch ref,
+    int init_id: @stmt ref
+);
+
+#keyset[switch_stmt, index]
+switch_case(
+    int switch_stmt: @stmt_switch ref,
+    int index: int ref,
+    int case_id: @stmt_switch_case ref
+);
+
+switch_body(
+    unique int switch_stmt: @stmt_switch ref,
+    int body_id: @stmt ref
+);
+
+@stmt_for_or_range_based_for = @stmt_for
+                             | @stmt_range_based_for;
+
+for_initialization(
+    unique int for_stmt: @stmt_for_or_range_based_for ref,
+    int init_id: @stmt ref
+);
+
+for_condition(
+    unique int for_stmt: @stmt_for ref,
+    int condition_id: @expr ref
+);
+
+for_update(
+    unique int for_stmt: @stmt_for ref,
+    int update_id: @expr ref
+);
+
+for_body(
+    unique int for_stmt: @stmt_for ref,
+    int body_id: @stmt ref
+);
+
+@stmtparent = @stmt | @expr_stmt ;
+stmtparents(
+    unique int id: @stmt ref,
+    int index: int ref,
+    int parent: @stmtparent ref
+);
+
+ishandler(unique int block: @stmt_block ref);
+
+@cfgnode = @stmt | @expr | @function | @initialiser ;
+
+stmt_decl_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl: @declaration ref
+);
+
+stmt_decl_entry_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl_entry: @element ref
+);
+
+@parameterized_element = @function | @stmt_block | @requires_expr;
+
+blockscope(
+    unique int block: @stmt_block ref,
+    int enclosing: @parameterized_element ref
+);
+
+@jump = @stmt_goto | @stmt_break | @stmt_continue;
+
+@jumporlabel = @jump | @stmt_label | @literal;
+
+jumpinfo(
+    unique int id: @jumporlabel ref,
+    string str: string ref,
+    int target: @stmt ref
+);
+
+preprocdirects(
+    unique int id: @preprocdirect,
+    int kind: int ref,
+    int location: @location_default ref
+);
+case @preprocdirect.kind of
+   0 = @ppd_if
+|  1 = @ppd_ifdef
+|  2 = @ppd_ifndef
+|  3 = @ppd_elif
+|  4 = @ppd_else
+|  5 = @ppd_endif
+|  6 = @ppd_plain_include
+|  7 = @ppd_define
+|  8 = @ppd_undef
+|  9 = @ppd_line
+| 10 = @ppd_error
+| 11 = @ppd_pragma
+| 12 = @ppd_objc_import
+| 13 = @ppd_include_next
+| 18 = @ppd_warning
+;
+
+@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next;
+
+@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif;
+
+preprocpair(
+    int begin : @ppd_branch ref,
+    int elseelifend : @preprocdirect ref
+);
+
+preproctrue(int branch : @ppd_branch ref);
+preprocfalse(int branch : @ppd_branch ref);
+
+preproctext(
+    unique int id: @preprocdirect ref,
+    string head: string ref,
+    string body: string ref
+);
+
+includes(
+    unique int id: @ppd_include ref,
+    int included: @file ref
+);
+
+link_targets(
+    int id: @link_target,
+    int binary: @file ref
+);
+
+link_parent(
+    int element : @element ref,
+    int link_target : @link_target ref
+);
+
+/* XML Files */
+
+xmlEncoding(unique int id: @file ref, string encoding: string ref);
+
+xmlDTDs(
+    unique int id: @xmldtd,
+    string root: string ref,
+    string publicId: string ref,
+    string systemId: string ref,
+    int fileid: @file ref
+);
+
+xmlElements(
+    unique int id: @xmlelement,
+    string name: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlAttrs(
+    unique int id: @xmlattribute,
+    int elementid: @xmlelement ref,
+    string name: string ref,
+    string value: string ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlNs(
+    int id: @xmlnamespace,
+    string prefixName: string ref,
+    string URI: string ref,
+    int fileid: @file ref
+);
+
+xmlHasNs(
+    int elementId: @xmlnamespaceable ref,
+    int nsId: @xmlnamespace ref,
+    int fileid: @file ref
+);
+
+xmlComments(
+    unique int id: @xmlcomment,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int fileid: @file ref
+);
+
+xmlChars(
+    unique int id: @xmlcharacters,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int isCDATA: int ref,
+    int fileid: @file ref
+);
+
+@xmlparent = @file | @xmlelement;
+@xmlnamespaceable = @xmlelement | @xmlattribute;
+
+xmllocations(
+    int xmlElement: @xmllocatable ref,
+    int location: @location_default ref
+);
+
+@xmllocatable = @xmlcharacters
+              | @xmlelement
+              | @xmlcomment
+              | @xmlattribute
+              | @xmldtd
+              | @file
+              | @xmlnamespace;
diff --git a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
new file mode 100644
index 000000000000..08e1dc42eb29
--- /dev/null
+++ b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
@@ -0,0 +1,2 @@
+description: Implement compilation_build_mode/2
+compatibility: backwards
diff --git a/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/old.dbscheme b/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/old.dbscheme
new file mode 100644
index 000000000000..e51fad7a2436
--- /dev/null
+++ b/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/old.dbscheme
@@ -0,0 +1,2323 @@
+
+/**
+ * An invocation of the compiler. Note that more than one file may be
+ * compiled per invocation. For example, this command compiles three
+ * source files:
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * The `id` simply identifies the invocation, while `cwd` is the working
+ * directory from which the compiler was invoked.
+ */
+compilations(
+    /**
+     * An invocation of the compiler. Note that more than one file may
+     * be compiled per invocation. For example, this command compiles
+     * three source files:
+     *
+     *   gcc -c f1.c f2.c f3.c
+     */
+    unique int id : @compilation,
+    string cwd : string ref
+);
+
+/**
+ * The arguments that were passed to the extractor for a compiler
+ * invocation. If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then typically there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | *path to extractor*
+ * 1   | `--mimic`
+ * 2   | `/usr/bin/gcc`
+ * 3   | `-c`
+ * 4   | f1.c
+ * 5   | f2.c
+ * 6   | f3.c
+ */
+#keyset[id, num]
+compilation_args(
+    int id : @compilation ref,
+    int num : int ref,
+    string arg : string ref
+);
+
+/**
+ * The source files that are compiled by a compiler invocation.
+ * If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | f1.c
+ * 1   | f2.c
+ * 2   | f3.c
+ *
+ * Note that even if those files `#include` headers, those headers
+ * do not appear as rows.
+ */
+#keyset[id, num]
+compilation_compiling_files(
+    int id : @compilation ref,
+    int num : int ref,
+    int file : @file ref
+);
+
+/**
+ * The time taken by the extractor for a compiler invocation.
+ *
+ * For each file `num`, there will be rows for
+ *
+ * kind | seconds
+ * ---- | ---
+ * 1    | CPU seconds used by the extractor frontend
+ * 2    | Elapsed seconds during the extractor frontend
+ * 3    | CPU seconds used by the extractor backend
+ * 4    | Elapsed seconds during the extractor backend
+ */
+#keyset[id, num, kind]
+compilation_time(
+    int id : @compilation ref,
+    int num : int ref,
+    /* kind:
+       1 = frontend_cpu_seconds
+       2 = frontend_elapsed_seconds
+       3 = extractor_cpu_seconds
+       4 = extractor_elapsed_seconds
+    */
+    int kind : int ref,
+    float seconds : float ref
+);
+
+/**
+ * An error or warning generated by the extractor.
+ * The diagnostic message `diagnostic` was generated during compiler
+ * invocation `compilation`, and is the `file_number_diagnostic_number`th
+ * message generated while extracting the `file_number`th file of that
+ * invocation.
+ */
+#keyset[compilation, file_number, file_number_diagnostic_number]
+diagnostic_for(
+    int diagnostic : @diagnostic ref,
+    int compilation : @compilation ref,
+    int file_number : int ref,
+    int file_number_diagnostic_number : int ref
+);
+
+/**
+ * If extraction was successful, then `cpu_seconds` and
+ * `elapsed_seconds` are the CPU time and elapsed time (respectively)
+ * that extraction took for compiler invocation `id`.
+ */
+compilation_finished(
+    unique int id : @compilation ref,
+    float cpu_seconds : float ref,
+    float elapsed_seconds : float ref
+);
+
+
+/**
+ * External data, loaded from CSV files during snapshot creation. See
+ * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data)
+ * for more information.
+ */
+externalData(
+    int id : @externalDataElement,
+    string path : string ref,
+    int column: int ref,
+    string value : string ref
+);
+
+/**
+ * The source location of the snapshot.
+ */
+sourceLocationPrefix(string prefix : string ref);
+
+/**
+ * Information about packages that provide code used during compilation.
+ * The `id` is just a unique identifier.
+ * The `namespace` is typically the name of the package manager that
+ * provided the package (e.g. "dpkg" or "yum").
+ * The `package_name` is the name of the package, and `version` is its
+ * version (as a string).
+ */
+external_packages(
+    unique int id: @external_package,
+    string namespace : string ref,
+    string package_name : string ref,
+    string version : string ref
+);
+
+/**
+ * Holds if File `fileid` was provided by package `package`.
+ */
+header_to_external_package(
+    int fileid : @file ref,
+    int package : @external_package ref
+);
+
+/*
+ * Version history
+ */
+
+svnentries(
+    unique int id : @svnentry,
+    string revision : string ref,
+    string author : string ref,
+    date revisionDate : date ref,
+    int changeSize : int ref
+)
+
+svnaffectedfiles(
+    int id : @svnentry ref,
+    int file : @file ref,
+    string action : string ref
+)
+
+svnentrymsg(
+    unique int id : @svnentry ref,
+    string message : string ref
+)
+
+svnchurn(
+    int commit : @svnentry ref,
+    int file : @file ref,
+    int addedLines : int ref,
+    int deletedLines : int ref
+)
+
+/*
+ * C++ dbscheme
+ */
+
+extractor_version(
+    string codeql_version: string ref,
+    string frontend_version: string ref
+)
+
+@location = @location_stmt | @location_expr | @location_default ;
+
+/**
+ * The location of an element that is not an expression or a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_default(
+    /** The location of an element that is not an expression or a statement. */
+    unique int id: @location_default,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_stmt(
+    /** The location of a statement. */
+    unique int id: @location_stmt,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of an expression.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_expr(
+    /** The location of an expression. */
+    unique int id: @location_expr,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/** An element for which line-count information is available. */
+@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable;
+
+numlines(
+    int element_id: @sourceline ref,
+    int num_lines: int ref,
+    int num_code: int ref,
+    int num_comment: int ref
+);
+
+diagnostics(
+    unique int id: @diagnostic,
+    int severity: int ref,
+    string error_tag: string ref,
+    string error_message: string ref,
+    string full_error_message: string ref,
+    int location: @location_default ref
+);
+
+files(
+    unique int id: @file,
+    string name: string ref
+);
+
+folders(
+    unique int id: @folder,
+    string name: string ref
+);
+
+@container = @folder | @file
+
+containerparent(
+    int parent: @container ref,
+    unique int child: @container ref
+);
+
+fileannotations(
+    int id: @file ref,
+    int kind: int ref,
+    string name: string ref,
+    string value: string ref
+);
+
+inmacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+affectedbymacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+case @macroinvocation.kind of
+  1 = @macro_expansion
+| 2 = @other_macro_reference
+;
+
+macroinvocations(
+    unique int id: @macroinvocation,
+    int macro_id: @ppd_define ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+macroparent(
+    unique int id: @macroinvocation ref,
+    int parent_id: @macroinvocation ref
+);
+
+// a macroinvocation may be part of another location
+// the way to find a constant expression that uses a macro
+// is thus to find a constant expression that has a location
+// to which a macro invocation is bound
+macrolocationbind(
+    int id: @macroinvocation ref,
+    int location: @location ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_unexpanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_expanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+/*
+case @function.kind of
+  1 = @normal_function
+| 2 = @constructor
+| 3 = @destructor
+| 4 = @conversion_function
+| 5 = @operator
+| 6 = @builtin_function     // GCC built-in functions, e.g. __builtin___memcpy_chk
+| 7 = @user_defined_literal
+| 8 = @deduction_guide
+;
+*/
+
+functions(
+    unique int id: @function,
+    string name: string ref,
+    int kind: int ref
+);
+
+function_entry_point(
+    int id: @function ref,
+    unique int entry_point: @stmt ref
+);
+
+function_return_type(
+    int id: @function ref,
+    int return_type: @type ref
+);
+
+/**
+ * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits`
+ * instance associated with it, and the variables representing the `handle` and `promise`
+ * for it.
+ */
+coroutine(
+  unique int function: @function ref,
+  int traits: @type ref
+);
+
+/*
+case @coroutine_placeholder_variable.kind of
+  1 = @handle
+| 2 = @promise
+| 3 = @init_await_resume
+;
+*/
+
+coroutine_placeholder_variable(
+  unique int placeholder_variable: @variable ref,
+  int kind: int ref,
+  int function: @function ref
+)
+
+/** The `new` function used for allocating the coroutine state, if any. */
+coroutine_new(
+  unique int function: @function ref,
+  int new: @function ref
+);
+
+/** The `delete` function used for deallocating the coroutine state, if any. */
+coroutine_delete(
+  unique int function: @function ref,
+  int delete: @function ref
+);
+
+purefunctions(unique int id: @function ref);
+
+function_deleted(unique int id: @function ref);
+
+function_defaulted(unique int id: @function ref);
+
+function_prototyped(unique int id: @function ref)
+
+deduction_guide_for_class(
+    int id: @function ref,
+    int class_template: @usertype ref
+)
+
+member_function_this_type(
+    unique int id: @function ref,
+    int this_type: @type ref
+);
+
+#keyset[id, type_id]
+fun_decls(
+    int id: @fun_decl,
+    int function: @function ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+fun_def(unique int id: @fun_decl ref);
+fun_specialized(unique int id: @fun_decl ref);
+fun_implicit(unique int id: @fun_decl ref);
+fun_decl_specifiers(
+    int id: @fun_decl ref,
+    string name: string ref
+)
+#keyset[fun_decl, index]
+fun_decl_throws(
+    int fun_decl: @fun_decl ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+/* an empty throw specification is different from none */
+fun_decl_empty_throws(unique int fun_decl: @fun_decl ref);
+fun_decl_noexcept(
+    int fun_decl: @fun_decl ref,
+    int constant: @expr ref
+);
+fun_decl_empty_noexcept(int fun_decl: @fun_decl ref);
+fun_decl_typedef_type(
+    unique int fun_decl: @fun_decl ref,
+    int typedeftype_id: @usertype ref
+);
+
+param_decl_bind(
+    unique int id: @var_decl ref,
+    int index: int ref,
+    int fun_decl: @fun_decl ref
+);
+
+#keyset[id, type_id]
+var_decls(
+    int id: @var_decl,
+    int variable: @variable ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+var_def(unique int id: @var_decl ref);
+var_decl_specifiers(
+    int id: @var_decl ref,
+    string name: string ref
+)
+is_structured_binding(unique int id: @variable ref);
+
+type_decls(
+    unique int id: @type_decl,
+    int type_id: @type ref,
+    int location: @location_default ref
+);
+type_def(unique int id: @type_decl ref);
+type_decl_top(
+    unique int type_decl: @type_decl ref
+);
+
+namespace_decls(
+    unique int id: @namespace_decl,
+    int namespace_id: @namespace ref,
+    int location: @location_default ref,
+    int bodylocation: @location_default ref
+);
+
+case @using.kind of
+  1 = @using_declaration
+| 2 = @using_directive
+| 3 = @using_enum_declaration
+;
+
+usings(
+    unique int id: @using,
+    int element_id: @element ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+/** The element which contains the `using` declaration. */
+using_container(
+    int parent: @element ref,
+    int child: @using ref
+);
+
+static_asserts(
+    unique int id: @static_assert,
+    int condition : @expr ref,
+    string message : string ref,
+    int location: @location_default ref,
+    int enclosing : @element ref
+);
+
+// each function has an ordered list of parameters
+#keyset[id, type_id]
+#keyset[function, index, type_id]
+params(
+    int id: @parameter,
+    int function: @parameterized_element ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+overrides(
+    int new: @function ref,
+    int old: @function ref
+);
+
+#keyset[id, type_id]
+membervariables(
+    int id: @membervariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+globalvariables(
+    int id: @globalvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+localvariables(
+    int id: @localvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+autoderivation(
+    unique int var: @variable ref,
+    int derivation_type: @type ref
+);
+
+orphaned_variables(
+    int var: @localvariable ref,
+    int function: @function ref
+)
+
+enumconstants(
+    unique int id: @enumconstant,
+    int parent: @usertype ref,
+    int index: int ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+
+@variable = @localscopevariable | @globalvariable | @membervariable;
+
+@localscopevariable = @localvariable | @parameter;
+
+/**
+ * Built-in types are the fundamental types, e.g., integral, floating, and void.
+ */
+case @builtintype.kind of
+   1 = @errortype
+|  2 = @unknowntype
+|  3 = @void
+|  4 = @boolean
+|  5 = @char
+|  6 = @unsigned_char
+|  7 = @signed_char
+|  8 = @short
+|  9 = @unsigned_short
+| 10 = @signed_short
+| 11 = @int
+| 12 = @unsigned_int
+| 13 = @signed_int
+| 14 = @long
+| 15 = @unsigned_long
+| 16 = @signed_long
+| 17 = @long_long
+| 18 = @unsigned_long_long
+| 19 = @signed_long_long
+// ... 20 Microsoft-specific __int8
+// ... 21 Microsoft-specific __int16
+// ... 22 Microsoft-specific __int32
+// ... 23 Microsoft-specific __int64
+| 24 = @float
+| 25 = @double
+| 26 = @long_double
+| 27 = @complex_float         // C99-specific _Complex float
+| 28 = @complex_double        // C99-specific _Complex double
+| 29 = @complex_long_double   // C99-specific _Complex long double
+| 30 = @imaginary_float       // C99-specific _Imaginary float
+| 31 = @imaginary_double      // C99-specific _Imaginary double
+| 32 = @imaginary_long_double // C99-specific _Imaginary long double
+| 33 = @wchar_t               // Microsoft-specific
+| 34 = @decltype_nullptr      // C++11
+| 35 = @int128                // __int128
+| 36 = @unsigned_int128       // unsigned __int128
+| 37 = @signed_int128         // signed __int128
+| 38 = @float128              // __float128
+| 39 = @complex_float128      // _Complex __float128
+| 40 = @decimal32             // _Decimal32
+| 41 = @decimal64             // _Decimal64
+| 42 = @decimal128            // _Decimal128
+| 43 = @char16_t
+| 44 = @char32_t
+| 45 = @std_float32           // _Float32
+| 46 = @float32x              // _Float32x
+| 47 = @std_float64           // _Float64
+| 48 = @float64x              // _Float64x
+| 49 = @std_float128          // _Float128
+// ... 50 _Float128x
+| 51 = @char8_t
+| 52 = @float16               // _Float16
+| 53 = @complex_float16       // _Complex _Float16
+| 54 = @fp16                  // __fp16
+| 55 = @std_bfloat16          // __bf16
+| 56 = @std_float16           // std::float16_t
+| 57 = @complex_std_float32   // _Complex _Float32
+| 58 = @complex_float32x      // _Complex _Float32x
+| 59 = @complex_std_float64   // _Complex _Float64
+| 60 = @complex_float64x      // _Complex _Float64x
+| 61 = @complex_std_float128  // _Complex _Float128
+;
+
+builtintypes(
+    unique int id: @builtintype,
+    string name: string ref,
+    int kind: int ref,
+    int size: int ref,
+    int sign: int ref,
+    int alignment: int ref
+);
+
+/**
+ * Derived types are types that are directly derived from existing types and
+ * point to, refer to, transform type data to return a new type.
+ */
+case @derivedtype.kind of
+   1 = @pointer
+|  2 = @reference
+|  3 = @type_with_specifiers
+|  4 = @array
+|  5 = @gnu_vector
+|  6 = @routineptr
+|  7 = @routinereference
+|  8 = @rvalue_reference // C++11
+// ... 9 type_conforming_to_protocols deprecated
+| 10 = @block
+;
+
+derivedtypes(
+    unique int id: @derivedtype,
+    string name: string ref,
+    int kind: int ref,
+    int type_id: @type ref
+);
+
+pointerishsize(unique int id: @derivedtype ref,
+    int size: int ref,
+    int alignment: int ref);
+
+arraysizes(
+    unique int id: @derivedtype ref,
+    int num_elements: int ref,
+    int bytesize: int ref,
+    int alignment: int ref
+);
+
+typedefbase(
+    unique int id: @usertype ref,
+    int type_id: @type ref
+);
+
+/**
+ * An instance of the C++11 `decltype` operator.  For example:
+ * ```
+ * int a;
+ * decltype(1+a) b;
+ * ```
+ * Here `expr` is `1+a`.
+ *
+ * Sometimes an additional pair of parentheses around the expression
+ * would change the semantics of this decltype, e.g.
+ * ```
+ * struct A { double x; };
+ * const A* a = new A();
+ * decltype( a->x ); // type is double
+ * decltype((a->x)); // type is const double&
+ * ```
+ * (Please consult the C++11 standard for more details).
+ * `parentheses_would_change_meaning` is `true` iff that is the case.
+ */
+#keyset[id, expr]
+decltypes(
+    int id: @decltype,
+    int expr: @expr ref,
+    int base_type: @type ref,
+    boolean parentheses_would_change_meaning: boolean ref
+);
+
+/*
+case @usertype.kind of
+   1 = @struct
+|  2 = @class
+|  3 = @union
+|  4 = @enum
+|  5 = @typedef                       // classic C: typedef typedef type name
+|  6 = @template
+|  7 = @template_parameter
+|  8 = @template_template_parameter
+|  9 = @proxy_class                   // a proxy class associated with a template parameter
+// ... 10 objc_class deprecated
+// ... 11 objc_protocol deprecated
+// ... 12 objc_category deprecated
+| 13 = @scoped_enum
+| 14 = @using_alias                  // a using name = type style typedef
+;
+*/
+
+usertypes(
+    unique int id: @usertype,
+    string name: string ref,
+    int kind: int ref
+);
+
+usertypesize(
+    unique int id: @usertype ref,
+    int size: int ref,
+    int alignment: int ref
+);
+
+usertype_final(unique int id: @usertype ref);
+
+usertype_uuid(
+    unique int id: @usertype ref,
+    string uuid: string ref
+);
+
+mangled_name(
+    unique int id: @declaration ref,
+    int mangled_name : @mangledname,
+    boolean is_complete: boolean ref
+);
+
+is_pod_class(unique int id: @usertype ref);
+is_standard_layout_class(unique int id: @usertype ref);
+
+is_complete(unique int id: @usertype ref);
+
+is_class_template(unique int id: @usertype ref);
+class_instantiation(
+    int to: @usertype ref,
+    int from: @usertype ref
+);
+class_template_argument(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+class_template_argument_value(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_proxy_class_for(
+    unique int id: @usertype ref,
+    unique int templ_param_id: @usertype ref
+);
+
+type_mentions(
+    unique int id: @type_mention,
+    int type_id: @type ref,
+    int location: @location ref,
+    // a_symbol_reference_kind from the frontend.
+    int kind: int ref
+);
+
+is_function_template(unique int id: @function ref);
+function_instantiation(
+    unique int to: @function ref,
+    int from: @function ref
+);
+function_template_argument(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+function_template_argument_value(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_variable_template(unique int id: @variable ref);
+variable_instantiation(
+    unique int to: @variable ref,
+    int from: @variable ref
+);
+variable_template_argument(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+variable_template_argument_value(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+routinetypes(
+    unique int id: @routinetype,
+    int return_type: @type ref
+);
+
+routinetypeargs(
+    int routine: @routinetype ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+ptrtomembers(
+    unique int id: @ptrtomember,
+    int type_id: @type ref,
+    int class_id: @type ref
+);
+
+/*
+ specifiers for types, functions, and variables
+
+    "public",
+    "protected",
+    "private",
+
+    "const",
+    "volatile",
+    "static",
+
+    "pure",
+    "virtual",
+    "sealed", // Microsoft
+    "__interface", // Microsoft
+    "inline",
+    "explicit",
+
+    "near", // near far extension
+    "far", // near far extension
+    "__ptr32", // Microsoft
+    "__ptr64", // Microsoft
+    "__sptr", // Microsoft
+    "__uptr", // Microsoft
+    "dllimport", // Microsoft
+    "dllexport", // Microsoft
+    "thread", // Microsoft
+    "naked", // Microsoft
+    "microsoft_inline", // Microsoft
+    "forceinline", // Microsoft
+    "selectany", // Microsoft
+    "nothrow", // Microsoft
+    "novtable", // Microsoft
+    "noreturn", // Microsoft
+    "noinline", // Microsoft
+    "noalias", // Microsoft
+    "restrict", // Microsoft
+*/
+
+specifiers(
+    unique int id: @specifier,
+    unique string str: string ref
+);
+
+typespecifiers(
+    int type_id: @type ref,
+    int spec_id: @specifier ref
+);
+
+funspecifiers(
+    int func_id: @function ref,
+    int spec_id: @specifier ref
+);
+
+varspecifiers(
+    int var_id: @accessible ref,
+    int spec_id: @specifier ref
+);
+
+explicit_specifier_exprs(
+    unique int func_id: @function ref,
+    int constant: @expr ref
+)
+
+attributes(
+    unique int id: @attribute,
+    int kind: int ref,
+    string name: string ref,
+    string name_space: string ref,
+    int location: @location_default ref
+);
+
+case @attribute.kind of
+  0 = @gnuattribute
+| 1 = @stdattribute
+| 2 = @declspec
+| 3 = @msattribute
+| 4 = @alignas
+// ... 5 @objc_propertyattribute deprecated
+;
+
+attribute_args(
+    unique int id: @attribute_arg,
+    int kind: int ref,
+    int attribute: @attribute ref,
+    int index: int ref,
+    int location: @location_default ref
+);
+
+case @attribute_arg.kind of
+  0 = @attribute_arg_empty
+| 1 = @attribute_arg_token
+| 2 = @attribute_arg_constant
+| 3 = @attribute_arg_type
+| 4 = @attribute_arg_constant_expr
+| 5 = @attribute_arg_expr
+;
+
+attribute_arg_value(
+    unique int arg: @attribute_arg ref,
+    string value: string ref
+);
+attribute_arg_type(
+    unique int arg: @attribute_arg ref,
+    int type_id: @type ref
+);
+attribute_arg_constant(
+    unique int arg: @attribute_arg ref,
+    int constant: @expr ref
+)
+attribute_arg_expr(
+    unique int arg: @attribute_arg ref,
+    int expr: @expr ref
+)
+attribute_arg_name(
+    unique int arg: @attribute_arg ref,
+    string name: string ref
+);
+
+typeattributes(
+    int type_id: @type ref,
+    int spec_id: @attribute ref
+);
+
+funcattributes(
+    int func_id: @function ref,
+    int spec_id: @attribute ref
+);
+
+varattributes(
+    int var_id: @accessible ref,
+    int spec_id: @attribute ref
+);
+
+stmtattributes(
+    int stmt_id: @stmt ref,
+    int spec_id: @attribute ref
+);
+
+@type = @builtintype
+      | @derivedtype
+      | @usertype
+      /* TODO | @fixedpointtype */
+      | @routinetype
+      | @ptrtomember
+      | @decltype;
+
+unspecifiedtype(
+    unique int type_id: @type ref,
+    int unspecified_type_id: @type ref
+);
+
+member(
+    int parent: @type ref,
+    int index: int ref,
+    int child: @member ref
+);
+
+@enclosingfunction_child = @usertype | @variable | @namespace
+
+enclosingfunction(
+    unique int child: @enclosingfunction_child ref,
+    int parent: @function ref
+);
+
+derivations(
+    unique int derivation: @derivation,
+    int sub: @type ref,
+    int index: int ref,
+    int super: @type ref,
+    int location: @location_default ref
+);
+
+derspecifiers(
+    int der_id: @derivation ref,
+    int spec_id: @specifier ref
+);
+
+/**
+ * Contains the byte offset of the base class subobject within the derived
+ * class. Only holds for non-virtual base classes, but see table
+ * `virtual_base_offsets` for offsets of virtual base class subobjects.
+ */
+direct_base_offsets(
+    unique int der_id: @derivation ref,
+    int offset: int ref
+);
+
+/**
+ * Contains the byte offset of the virtual base class subobject for class
+ * `super` within a most-derived object of class `sub`. `super` can be either a
+ * direct or indirect base class.
+ */
+#keyset[sub, super]
+virtual_base_offsets(
+    int sub: @usertype ref,
+    int super: @usertype ref,
+    int offset: int ref
+);
+
+frienddecls(
+    unique int id: @frienddecl,
+    int type_id: @type ref,
+    int decl_id: @declaration ref,
+    int location: @location_default ref
+);
+
+@declaredtype = @usertype ;
+
+@declaration = @function
+             | @declaredtype
+             | @variable
+             | @enumconstant
+             | @frienddecl;
+
+@member = @membervariable
+        | @function
+        | @declaredtype
+        | @enumconstant;
+
+@locatable = @diagnostic
+           | @declaration
+           | @ppd_include
+           | @ppd_define
+           | @macroinvocation
+           /*| @funcall*/
+           | @xmllocatable
+           | @attribute
+           | @attribute_arg;
+
+@namedscope = @namespace | @usertype;
+
+@element = @locatable
+         | @file
+         | @folder
+         | @specifier
+         | @type
+         | @expr
+         | @namespace
+         | @initialiser
+         | @stmt
+         | @derivation
+         | @comment
+         | @preprocdirect
+         | @fun_decl
+         | @var_decl
+         | @type_decl
+         | @namespace_decl
+         | @using
+         | @namequalifier
+         | @specialnamequalifyingelement
+         | @static_assert
+         | @type_mention
+         | @lambdacapture;
+
+@exprparent = @element;
+
+comments(
+    unique int id: @comment,
+    string contents: string ref,
+    int location: @location_default ref
+);
+
+commentbinding(
+    int id: @comment ref,
+    int element: @element ref
+);
+
+exprconv(
+    int converted: @expr ref,
+    unique int conversion: @expr ref
+);
+
+compgenerated(unique int id: @element ref);
+
+/**
+ * `destructor_call` destructs the `i`'th entity that should be
+ * destructed following `element`. Note that entities should be
+ * destructed in reverse construction order, so for a given `element`
+ * these should be called from highest to lowest `i`.
+ */
+#keyset[element, destructor_call]
+#keyset[element, i]
+synthetic_destructor_call(
+    int element: @element ref,
+    int i: int ref,
+    int destructor_call: @routineexpr ref
+);
+
+namespaces(
+    unique int id: @namespace,
+    string name: string ref
+);
+
+namespace_inline(
+    unique int id: @namespace ref
+);
+
+namespacembrs(
+    int parentid: @namespace ref,
+    unique int memberid: @namespacembr ref
+);
+
+@namespacembr = @declaration | @namespace;
+
+exprparents(
+    int expr_id: @expr ref,
+    int child_index: int ref,
+    int parent_id: @exprparent ref
+);
+
+expr_isload(unique int expr_id: @expr ref);
+
+@cast = @c_style_cast
+      | @const_cast
+      | @dynamic_cast
+      | @reinterpret_cast
+      | @static_cast
+      ;
+
+/*
+case @conversion.kind of
+  0 = @simple_conversion           // a numeric conversion, qualification conversion, or a reinterpret_cast
+| 1 = @bool_conversion             // conversion to 'bool'
+| 2 = @base_class_conversion       // a derived-to-base conversion
+| 3 = @derived_class_conversion    // a base-to-derived conversion
+| 4 = @pm_base_class_conversion    // a derived-to-base conversion of a pointer to member
+| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member
+| 6 = @glvalue_adjust              // an adjustment of the type of a glvalue
+| 7 = @prvalue_adjust              // an adjustment of the type of a prvalue
+;
+*/
+/**
+ * Describes the semantics represented by a cast expression. This is largely
+ * independent of the source syntax of the cast, so it is separate from the
+ * regular expression kind.
+ */
+conversionkinds(
+    unique int expr_id: @cast ref,
+    int kind: int ref
+);
+
+@conversion = @cast
+            | @array_to_pointer
+            | @parexpr
+            | @reference_to
+            | @ref_indirect
+            | @temp_init
+            | @c11_generic
+            ;
+
+/*
+case @funbindexpr.kind of
+  0 = @normal_call  // a normal call
+| 1 = @virtual_call // a virtual call
+| 2 = @adl_call     // a call whose target is only found by ADL
+;
+*/
+iscall(
+    unique int caller: @funbindexpr ref,
+    int kind: int ref
+);
+
+numtemplatearguments(
+    unique int expr_id: @expr ref,
+    int num: int ref
+);
+
+specialnamequalifyingelements(
+    unique int id: @specialnamequalifyingelement,
+    unique string name: string ref
+);
+
+@namequalifiableelement = @expr | @namequalifier;
+@namequalifyingelement = @namespace
+                       | @specialnamequalifyingelement
+                       | @usertype;
+
+namequalifiers(
+    unique int id: @namequalifier,
+    unique int qualifiableelement: @namequalifiableelement ref,
+    int qualifyingelement: @namequalifyingelement ref,
+    int location: @location_default ref
+);
+
+varbind(
+    int expr: @varbindexpr ref,
+    int var: @accessible ref
+);
+
+funbind(
+    int expr: @funbindexpr ref,
+    int fun: @function ref
+);
+
+@any_new_expr = @new_expr
+              | @new_array_expr;
+
+@new_or_delete_expr = @any_new_expr
+                    | @delete_expr
+                    | @delete_array_expr;
+
+@prefix_crement_expr = @preincrexpr | @predecrexpr;
+
+@postfix_crement_expr = @postincrexpr | @postdecrexpr;
+
+@increment_expr = @preincrexpr | @postincrexpr;
+
+@decrement_expr = @predecrexpr | @postdecrexpr;
+
+@crement_expr = @increment_expr | @decrement_expr;
+
+@un_arith_op_expr = @arithnegexpr
+                  | @unaryplusexpr
+                  | @conjugation
+                  | @realpartexpr
+                  | @imagpartexpr
+                  | @crement_expr
+                  ;
+
+@un_bitwise_op_expr = @complementexpr;
+
+@un_log_op_expr = @notexpr;
+
+@un_op_expr = @address_of
+            | @indirect
+            | @un_arith_op_expr
+            | @un_bitwise_op_expr
+            | @builtinaddressof
+            | @vec_fill
+            | @un_log_op_expr
+            | @co_await
+            | @co_yield
+            ;
+
+@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr;
+
+@cmp_op_expr = @eq_op_expr | @rel_op_expr;
+
+@eq_op_expr = @eqexpr | @neexpr;
+
+@rel_op_expr = @gtexpr
+             | @ltexpr
+             | @geexpr
+             | @leexpr
+             | @spaceshipexpr
+             ;
+
+@bin_bitwise_op_expr = @lshiftexpr
+                     | @rshiftexpr
+                     | @andexpr
+                     | @orexpr
+                     | @xorexpr
+                     ;
+
+@p_arith_op_expr = @paddexpr
+                 | @psubexpr
+                 | @pdiffexpr
+                 ;
+
+@bin_arith_op_expr = @addexpr
+                   | @subexpr
+                   | @mulexpr
+                   | @divexpr
+                   | @remexpr
+                   | @jmulexpr
+                   | @jdivexpr
+                   | @fjaddexpr
+                   | @jfaddexpr
+                   | @fjsubexpr
+                   | @jfsubexpr
+                   | @minexpr
+                   | @maxexpr
+                   | @p_arith_op_expr
+                   ;
+
+@bin_op_expr = @bin_arith_op_expr
+             | @bin_bitwise_op_expr
+             | @cmp_op_expr
+             | @bin_log_op_expr
+             ;
+
+@op_expr = @un_op_expr
+         | @bin_op_expr
+         | @assign_expr
+         | @conditionalexpr
+         ;
+
+@assign_arith_expr = @assignaddexpr
+                   | @assignsubexpr
+                   | @assignmulexpr
+                   | @assigndivexpr
+                   | @assignremexpr
+                   ;
+
+@assign_bitwise_expr = @assignandexpr
+                     | @assignorexpr
+                     | @assignxorexpr
+                     | @assignlshiftexpr
+                     | @assignrshiftexpr
+                     ;
+
+@assign_pointer_expr = @assignpaddexpr
+                     | @assignpsubexpr
+                     ;
+
+@assign_op_expr = @assign_arith_expr
+                | @assign_bitwise_expr
+                | @assign_pointer_expr
+                ;
+
+@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr
+
+/*
+  Binary encoding of the allocator form.
+
+  case @allocator.form of
+    0 = plain
+  | 1 = alignment
+  ;
+*/
+
+/**
+ * The allocator function associated with a `new` or `new[]` expression.
+ * The `form` column specified whether the allocation call contains an alignment
+ * argument.
+ */
+expr_allocator(
+    unique int expr: @any_new_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/*
+  Binary encoding of the deallocator form.
+
+  case @deallocator.form of
+    0 = plain
+  | 1 = size
+  | 2 = alignment
+  | 4 = destroying_delete
+  ;
+*/
+
+/**
+ * The deallocator function associated with a `delete`, `delete[]`, `new`, or
+ * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the
+ * one used to free memory if the initialization throws an exception.
+ * The `form` column specifies whether the deallocation call contains a size
+ * argument, and alignment argument, or both.
+ */
+expr_deallocator(
+    unique int expr: @new_or_delete_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/**
+ * Holds if the `@conditionalexpr` is of the two operand form
+ * `guard ? : false`.
+ */
+expr_cond_two_operand(
+    unique int cond: @conditionalexpr ref
+);
+
+/**
+ * The guard of `@conditionalexpr` `guard ? true : false`
+ */
+expr_cond_guard(
+    unique int cond: @conditionalexpr ref,
+    int guard: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` holds. For the two operand form
+ * `guard ?: false` consider using `expr_cond_guard` instead.
+ */
+expr_cond_true(
+    unique int cond: @conditionalexpr ref,
+    int true: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` does not hold.
+ */
+expr_cond_false(
+    unique int cond: @conditionalexpr ref,
+    int false: @expr ref
+);
+
+/** A string representation of the value. */
+values(
+    unique int id: @value,
+    string str: string ref
+);
+
+/** The actual text in the source code for the value, if any. */
+valuetext(
+    unique int id: @value ref,
+    string text: string ref
+);
+
+valuebind(
+    int val: @value ref,
+    unique int expr: @expr ref
+);
+
+fieldoffsets(
+    unique int id: @variable ref,
+    int byteoffset: int ref,
+    int bitoffset: int ref
+);
+
+bitfield(
+    unique int id: @variable ref,
+    int bits: int ref,
+    int declared_bits: int ref
+);
+
+/* TODO
+memberprefix(
+    int member: @expr ref,
+    int prefix: @expr ref
+);
+*/
+
+/*
+   kind(1) = mbrcallexpr
+   kind(2) = mbrptrcallexpr
+   kind(3) = mbrptrmbrcallexpr
+   kind(4) = ptrmbrptrmbrcallexpr
+   kind(5) = mbrreadexpr // x.y
+   kind(6) = mbrptrreadexpr // p->y
+   kind(7) = mbrptrmbrreadexpr // x.*pm
+   kind(8) = mbrptrmbrptrreadexpr // x->*pm
+   kind(9) = staticmbrreadexpr // static x.y
+   kind(10) = staticmbrptrreadexpr // static p->y
+*/
+/* TODO
+memberaccess(
+    int member: @expr ref,
+    int kind: int ref
+);
+*/
+
+initialisers(
+    unique int init: @initialiser,
+    int var: @accessible ref,
+    unique int expr: @expr ref,
+    int location: @location_expr ref
+);
+
+braced_initialisers(
+    int init: @initialiser ref
+);
+
+/**
+ * An ancestor for the expression, for cases in which we cannot
+ * otherwise find the expression's parent.
+ */
+expr_ancestor(
+    int exp: @expr ref,
+    int ancestor: @element ref
+);
+
+exprs(
+    unique int id: @expr,
+    int kind: int ref,
+    int location: @location_expr ref
+);
+
+expr_reuse(
+    int reuse: @expr ref,
+    int original: @expr ref,
+    int value_category: int ref
+)
+
+/*
+  case @value.category of
+    1 = prval
+  | 2 = xval
+  | 3 = lval
+  ;
+*/
+expr_types(
+    int id: @expr ref,
+    int typeid: @type ref,
+    int value_category: int ref
+);
+
+case @expr.kind of
+    1 = @errorexpr
+|   2 = @address_of // & AddressOfExpr
+|   3 = @reference_to // ReferenceToExpr (implicit?)
+|   4 = @indirect // * PointerDereferenceExpr
+|   5 = @ref_indirect // ReferenceDereferenceExpr (implicit?)
+// ...
+|   8 = @array_to_pointer // (???)
+|   9 = @vacuous_destructor_call // VacuousDestructorCall
+// ...
+|  11 = @assume // Microsoft
+|  12 = @parexpr
+|  13 = @arithnegexpr
+|  14 = @unaryplusexpr
+|  15 = @complementexpr
+|  16 = @notexpr
+|  17 = @conjugation // GNU ~ operator
+|  18 = @realpartexpr // GNU __real
+|  19 = @imagpartexpr // GNU __imag
+|  20 = @postincrexpr
+|  21 = @postdecrexpr
+|  22 = @preincrexpr
+|  23 = @predecrexpr
+|  24 = @conditionalexpr
+|  25 = @addexpr
+|  26 = @subexpr
+|  27 = @mulexpr
+|  28 = @divexpr
+|  29 = @remexpr
+|  30 = @jmulexpr // C99 mul imaginary
+|  31 = @jdivexpr // C99 div imaginary
+|  32 = @fjaddexpr // C99 add real + imaginary
+|  33 = @jfaddexpr // C99 add imaginary + real
+|  34 = @fjsubexpr // C99 sub real - imaginary
+|  35 = @jfsubexpr // C99 sub imaginary - real
+|  36 = @paddexpr // pointer add (pointer + int or int + pointer)
+|  37 = @psubexpr // pointer sub (pointer - integer)
+|  38 = @pdiffexpr // difference between two pointers
+|  39 = @lshiftexpr
+|  40 = @rshiftexpr
+|  41 = @andexpr
+|  42 = @orexpr
+|  43 = @xorexpr
+|  44 = @eqexpr
+|  45 = @neexpr
+|  46 = @gtexpr
+|  47 = @ltexpr
+|  48 = @geexpr
+|  49 = @leexpr
+|  50 = @minexpr // GNU minimum
+|  51 = @maxexpr // GNU maximum
+|  52 = @assignexpr
+|  53 = @assignaddexpr
+|  54 = @assignsubexpr
+|  55 = @assignmulexpr
+|  56 = @assigndivexpr
+|  57 = @assignremexpr
+|  58 = @assignlshiftexpr
+|  59 = @assignrshiftexpr
+|  60 = @assignandexpr
+|  61 = @assignorexpr
+|  62 = @assignxorexpr
+|  63 = @assignpaddexpr // assign pointer add
+|  64 = @assignpsubexpr // assign pointer sub
+|  65 = @andlogicalexpr
+|  66 = @orlogicalexpr
+|  67 = @commaexpr
+|  68 = @subscriptexpr // access to member of an array, e.g., a[5]
+// ...  69 @objc_subscriptexpr deprecated
+// ...  70 @cmdaccess deprecated
+// ...
+|  73 = @virtfunptrexpr
+|  74 = @callexpr
+// ...  75 @msgexpr_normal deprecated
+// ...  76 @msgexpr_super deprecated
+// ...  77 @atselectorexpr deprecated
+// ...  78 @atprotocolexpr deprecated
+|  79 = @vastartexpr
+|  80 = @vaargexpr
+|  81 = @vaendexpr
+|  82 = @vacopyexpr
+// ...  83 @atencodeexpr deprecated
+|  84 = @varaccess
+|  85 = @thisaccess
+// ...  86 @objc_box_expr deprecated
+|  87 = @new_expr
+|  88 = @delete_expr
+|  89 = @throw_expr
+|  90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2)
+|  91 = @braced_init_list
+|  92 = @type_id
+|  93 = @runtime_sizeof
+|  94 = @runtime_alignof
+|  95 = @sizeof_pack
+|  96 = @expr_stmt // GNU extension
+|  97 = @routineexpr
+|  98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....)
+|  99 = @offsetofexpr // offsetof ::= type and field
+| 100 = @hasassignexpr // __has_assign ::= type
+| 101 = @hascopyexpr // __has_copy ::= type
+| 102 = @hasnothrowassign // __has_nothrow_assign ::= type
+| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type
+| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type
+| 105 = @hastrivialassign // __has_trivial_assign ::= type
+| 106 = @hastrivialconstr // __has_trivial_constructor ::= type
+| 107 = @hastrivialcopy // __has_trivial_copy ::= type
+| 108 = @hasuserdestr // __has_user_destructor ::= type
+| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type
+| 110 = @isabstractexpr // __is_abstract ::= type
+| 111 = @isbaseofexpr // __is_base_of ::= type type
+| 112 = @isclassexpr // __is_class ::= type
+| 113 = @isconvtoexpr // __is_convertible_to ::= type type
+| 114 = @isemptyexpr // __is_empty ::= type
+| 115 = @isenumexpr // __is_enum ::= type
+| 116 = @ispodexpr // __is_pod ::= type
+| 117 = @ispolyexpr // __is_polymorphic ::= type
+| 118 = @isunionexpr // __is_union ::= type
+| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type
+| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof
+// ...
+| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type
+| 123 = @literal
+| 124 = @uuidof
+| 127 = @aggregateliteral
+| 128 = @delete_array_expr
+| 129 = @new_array_expr
+// ... 130 @objc_array_literal deprecated
+// ... 131 @objc_dictionary_literal deprecated
+| 132 = @foldexpr
+// ...
+| 200 = @ctordirectinit
+| 201 = @ctorvirtualinit
+| 202 = @ctorfieldinit
+| 203 = @ctordelegatinginit
+| 204 = @dtordirectdestruct
+| 205 = @dtorvirtualdestruct
+| 206 = @dtorfielddestruct
+// ...
+| 210 = @static_cast
+| 211 = @reinterpret_cast
+| 212 = @const_cast
+| 213 = @dynamic_cast
+| 214 = @c_style_cast
+| 215 = @lambdaexpr
+| 216 = @param_ref
+| 217 = @noopexpr
+// ...
+| 294 = @istriviallyconstructibleexpr
+| 295 = @isdestructibleexpr
+| 296 = @isnothrowdestructibleexpr
+| 297 = @istriviallydestructibleexpr
+| 298 = @istriviallyassignableexpr
+| 299 = @isnothrowassignableexpr
+| 300 = @istrivialexpr
+| 301 = @isstandardlayoutexpr
+| 302 = @istriviallycopyableexpr
+| 303 = @isliteraltypeexpr
+| 304 = @hastrivialmoveconstructorexpr
+| 305 = @hastrivialmoveassignexpr
+| 306 = @hasnothrowmoveassignexpr
+| 307 = @isconstructibleexpr
+| 308 = @isnothrowconstructibleexpr
+| 309 = @hasfinalizerexpr
+| 310 = @isdelegateexpr
+| 311 = @isinterfaceclassexpr
+| 312 = @isrefarrayexpr
+| 313 = @isrefclassexpr
+| 314 = @issealedexpr
+| 315 = @issimplevalueclassexpr
+| 316 = @isvalueclassexpr
+| 317 = @isfinalexpr
+| 319 = @noexceptexpr
+| 320 = @builtinshufflevector
+| 321 = @builtinchooseexpr
+| 322 = @builtinaddressof
+| 323 = @vec_fill
+| 324 = @builtinconvertvector
+| 325 = @builtincomplex
+| 326 = @spaceshipexpr
+| 327 = @co_await
+| 328 = @co_yield
+| 329 = @temp_init
+| 330 = @isassignable
+| 331 = @isaggregate
+| 332 = @hasuniqueobjectrepresentations
+| 333 = @builtinbitcast
+| 334 = @builtinshuffle
+| 335 = @blockassignexpr
+| 336 = @issame
+| 337 = @isfunction
+| 338 = @islayoutcompatible
+| 339 = @ispointerinterconvertiblebaseof
+| 340 = @isarray
+| 341 = @arrayrank
+| 342 = @arrayextent
+| 343 = @isarithmetic
+| 344 = @iscompletetype
+| 345 = @iscompound
+| 346 = @isconst
+| 347 = @isfloatingpoint
+| 348 = @isfundamental
+| 349 = @isintegral
+| 350 = @islvaluereference
+| 351 = @ismemberfunctionpointer
+| 352 = @ismemberobjectpointer
+| 353 = @ismemberpointer
+| 354 = @isobject
+| 355 = @ispointer
+| 356 = @isreference
+| 357 = @isrvaluereference
+| 358 = @isscalar
+| 359 = @issigned
+| 360 = @isunsigned
+| 361 = @isvoid
+| 362 = @isvolatile
+| 363 = @reuseexpr
+| 364 = @istriviallycopyassignable
+| 365 = @isassignablenopreconditioncheck
+| 366 = @referencebindstotemporary
+| 367 = @issameas
+| 368 = @builtinhasattribute
+| 369 = @ispointerinterconvertiblewithclass
+| 370 = @builtinispointerinterconvertiblewithclass
+| 371 = @iscorrespondingmember
+| 372 = @builtiniscorrespondingmember
+| 373 = @isboundedarray
+| 374 = @isunboundedarray
+| 375 = @isreferenceable
+| 378 = @isnothrowconvertible
+| 379 = @referenceconstructsfromtemporary
+| 380 = @referenceconvertsfromtemporary
+| 381 = @isconvertible
+| 382 = @isvalidwinrttype
+| 383 = @iswinclass
+| 384 = @iswininterface
+| 385 = @istriviallyequalitycomparable
+| 386 = @isscopedenum
+| 387 = @istriviallyrelocatable
+| 388 = @datasizeof
+| 389 = @c11_generic
+| 390 = @requires_expr
+| 391 = @nested_requirement
+| 392 = @compound_requirement
+| 393 = @concept_id
+;
+
+@var_args_expr = @vastartexpr
+               | @vaendexpr
+               | @vaargexpr
+               | @vacopyexpr
+               ;
+
+@builtin_op = @var_args_expr
+            | @noopexpr
+            | @offsetofexpr
+            | @intaddrexpr
+            | @hasassignexpr
+            | @hascopyexpr
+            | @hasnothrowassign
+            | @hasnothrowconstr
+            | @hasnothrowcopy
+            | @hastrivialassign
+            | @hastrivialconstr
+            | @hastrivialcopy
+            | @hastrivialdestructor
+            | @hasuserdestr
+            | @hasvirtualdestr
+            | @isabstractexpr
+            | @isbaseofexpr
+            | @isclassexpr
+            | @isconvtoexpr
+            | @isemptyexpr
+            | @isenumexpr
+            | @ispodexpr
+            | @ispolyexpr
+            | @isunionexpr
+            | @typescompexpr
+            | @builtinshufflevector
+            | @builtinconvertvector
+            | @builtinaddressof
+            | @istriviallyconstructibleexpr
+            | @isdestructibleexpr
+            | @isnothrowdestructibleexpr
+            | @istriviallydestructibleexpr
+            | @istriviallyassignableexpr
+            | @isnothrowassignableexpr
+            | @istrivialexpr
+            | @isstandardlayoutexpr
+            | @istriviallycopyableexpr
+            | @isliteraltypeexpr
+            | @hastrivialmoveconstructorexpr
+            | @hastrivialmoveassignexpr
+            | @hasnothrowmoveassignexpr
+            | @isconstructibleexpr
+            | @isnothrowconstructibleexpr
+            | @hasfinalizerexpr
+            | @isdelegateexpr
+            | @isinterfaceclassexpr
+            | @isrefarrayexpr
+            | @isrefclassexpr
+            | @issealedexpr
+            | @issimplevalueclassexpr
+            | @isvalueclassexpr
+            | @isfinalexpr
+            | @builtinchooseexpr
+            | @builtincomplex
+            | @isassignable
+            | @isaggregate
+            | @hasuniqueobjectrepresentations
+            | @builtinbitcast
+            | @builtinshuffle
+            | @issame
+            | @isfunction
+            | @islayoutcompatible
+            | @ispointerinterconvertiblebaseof
+            | @isarray
+            | @arrayrank
+            | @arrayextent
+            | @isarithmetic
+            | @iscompletetype
+            | @iscompound
+            | @isconst
+            | @isfloatingpoint
+            | @isfundamental
+            | @isintegral
+            | @islvaluereference
+            | @ismemberfunctionpointer
+            | @ismemberobjectpointer
+            | @ismemberpointer
+            | @isobject
+            | @ispointer
+            | @isreference
+            | @isrvaluereference
+            | @isscalar
+            | @issigned
+            | @isunsigned
+            | @isvoid
+            | @isvolatile
+            | @istriviallycopyassignable
+            | @isassignablenopreconditioncheck
+            | @referencebindstotemporary
+            | @issameas
+            | @builtinhasattribute
+            | @ispointerinterconvertiblewithclass
+            | @builtinispointerinterconvertiblewithclass
+            | @iscorrespondingmember
+            | @builtiniscorrespondingmember
+            | @isboundedarray
+            | @isunboundedarray
+            | @isreferenceable
+            | @isnothrowconvertible
+            | @referenceconstructsfromtemporary
+            | @referenceconvertsfromtemporary
+            | @isconvertible
+            | @isvalidwinrttype
+            | @iswinclass
+            | @iswininterface
+            | @istriviallyequalitycomparable
+            | @isscopedenum
+            | @istriviallyrelocatable
+            ;
+
+compound_requirement_is_noexcept(
+    int expr: @compound_requirement ref
+);
+
+new_allocated_type(
+    unique int expr: @new_expr ref,
+    int type_id: @type ref
+);
+
+new_array_allocated_type(
+    unique int expr: @new_array_expr ref,
+    int type_id: @type ref
+);
+
+/**
+ * The field being initialized by an initializer expression within an aggregate
+ * initializer for a class/struct/union. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_field_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int field: @membervariable ref,
+    int position: int ref
+);
+
+/**
+ * The index of the element being initialized by an initializer expression
+ * within an aggregate initializer for an array. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_array_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int element_index: int ref,
+    int position: int ref
+);
+
+@ctorinit = @ctordirectinit
+          | @ctorvirtualinit
+          | @ctorfieldinit
+          | @ctordelegatinginit;
+@dtordestruct = @dtordirectdestruct
+              | @dtorvirtualdestruct
+              | @dtorfielddestruct;
+
+
+condition_decl_bind(
+    unique int expr: @condition_decl ref,
+    unique int decl: @declaration ref
+);
+
+typeid_bind(
+    unique int expr: @type_id ref,
+    int type_id: @type ref
+);
+
+uuidof_bind(
+    unique int expr: @uuidof ref,
+    int type_id: @type ref
+);
+
+@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof;
+
+sizeof_bind(
+    unique int expr: @runtime_sizeof_or_alignof ref,
+    int type_id: @type ref
+);
+
+code_block(
+    unique int block: @literal ref,
+    unique int routine: @function ref
+);
+
+lambdas(
+    unique int expr: @lambdaexpr ref,
+    string default_capture: string ref,
+    boolean has_explicit_return_type: boolean ref
+);
+
+lambda_capture(
+    unique int id: @lambdacapture,
+    int lambda: @lambdaexpr ref,
+    int index: int ref,
+    int field: @membervariable ref,
+    boolean captured_by_reference: boolean ref,
+    boolean is_implicit: boolean ref,
+    int location: @location_default ref
+);
+
+@funbindexpr = @routineexpr
+             | @new_expr
+             | @delete_expr
+             | @delete_array_expr
+             | @ctordirectinit
+             | @ctorvirtualinit
+             | @ctordelegatinginit
+             | @dtordirectdestruct
+             | @dtorvirtualdestruct;
+
+@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct;
+@addressable = @function | @variable ;
+@accessible = @addressable | @enumconstant ;
+
+@access = @varaccess | @routineexpr ;
+
+fold(
+    int expr: @foldexpr ref,
+    string operator: string ref,
+    boolean is_left_fold: boolean ref
+);
+
+stmts(
+    unique int id: @stmt,
+    int kind: int ref,
+    int location: @location_stmt ref
+);
+
+case @stmt.kind of
+    1 = @stmt_expr
+|   2 = @stmt_if
+|   3 = @stmt_while
+|   4 = @stmt_goto
+|   5 = @stmt_label
+|   6 = @stmt_return
+|   7 = @stmt_block
+|   8 = @stmt_end_test_while // do { ... } while ( ... )
+|   9 = @stmt_for
+|  10 = @stmt_switch_case
+|  11 = @stmt_switch
+|  13 = @stmt_asm // "asm" statement or the body of an asm function
+|  15 = @stmt_try_block
+|  16 = @stmt_microsoft_try // Microsoft
+|  17 = @stmt_decl
+|  18 = @stmt_set_vla_size // C99
+|  19 = @stmt_vla_decl // C99
+|  25 = @stmt_assigned_goto // GNU
+|  26 = @stmt_empty
+|  27 = @stmt_continue
+|  28 = @stmt_break
+|  29 = @stmt_range_based_for // C++11
+// ...  30 @stmt_at_autoreleasepool_block deprecated
+// ...  31 @stmt_objc_for_in deprecated
+// ...  32 @stmt_at_synchronized deprecated
+|  33 = @stmt_handler
+// ...  34 @stmt_finally_end deprecated
+|  35 = @stmt_constexpr_if
+|  37 = @stmt_co_return
+;
+
+type_vla(
+    int type_id: @type ref,
+    int decl: @stmt_vla_decl ref
+);
+
+variable_vla(
+    int var: @variable ref,
+    int decl: @stmt_vla_decl ref
+);
+
+if_initialization(
+    unique int if_stmt: @stmt_if ref,
+    int init_id: @stmt ref
+);
+
+if_then(
+    unique int if_stmt: @stmt_if ref,
+    int then_id: @stmt ref
+);
+
+if_else(
+    unique int if_stmt: @stmt_if ref,
+    int else_id: @stmt ref
+);
+
+constexpr_if_initialization(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int init_id: @stmt ref
+);
+
+constexpr_if_then(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int then_id: @stmt ref
+);
+
+constexpr_if_else(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int else_id: @stmt ref
+);
+
+while_body(
+    unique int while_stmt: @stmt_while ref,
+    int body_id: @stmt ref
+);
+
+do_body(
+    unique int do_stmt: @stmt_end_test_while ref,
+    int body_id: @stmt ref
+);
+
+switch_initialization(
+    unique int switch_stmt: @stmt_switch ref,
+    int init_id: @stmt ref
+);
+
+#keyset[switch_stmt, index]
+switch_case(
+    int switch_stmt: @stmt_switch ref,
+    int index: int ref,
+    int case_id: @stmt_switch_case ref
+);
+
+switch_body(
+    unique int switch_stmt: @stmt_switch ref,
+    int body_id: @stmt ref
+);
+
+@stmt_for_or_range_based_for = @stmt_for
+                             | @stmt_range_based_for;
+
+for_initialization(
+    unique int for_stmt: @stmt_for_or_range_based_for ref,
+    int init_id: @stmt ref
+);
+
+for_condition(
+    unique int for_stmt: @stmt_for ref,
+    int condition_id: @expr ref
+);
+
+for_update(
+    unique int for_stmt: @stmt_for ref,
+    int update_id: @expr ref
+);
+
+for_body(
+    unique int for_stmt: @stmt_for ref,
+    int body_id: @stmt ref
+);
+
+@stmtparent = @stmt | @expr_stmt ;
+stmtparents(
+    unique int id: @stmt ref,
+    int index: int ref,
+    int parent: @stmtparent ref
+);
+
+ishandler(unique int block: @stmt_block ref);
+
+@cfgnode = @stmt | @expr | @function | @initialiser ;
+
+stmt_decl_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl: @declaration ref
+);
+
+stmt_decl_entry_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl_entry: @element ref
+);
+
+@parameterized_element = @function | @stmt_block | @requires_expr;
+
+blockscope(
+    unique int block: @stmt_block ref,
+    int enclosing: @parameterized_element ref
+);
+
+@jump = @stmt_goto | @stmt_break | @stmt_continue;
+
+@jumporlabel = @jump | @stmt_label | @literal;
+
+jumpinfo(
+    unique int id: @jumporlabel ref,
+    string str: string ref,
+    int target: @stmt ref
+);
+
+preprocdirects(
+    unique int id: @preprocdirect,
+    int kind: int ref,
+    int location: @location_default ref
+);
+case @preprocdirect.kind of
+   0 = @ppd_if
+|  1 = @ppd_ifdef
+|  2 = @ppd_ifndef
+|  3 = @ppd_elif
+|  4 = @ppd_else
+|  5 = @ppd_endif
+|  6 = @ppd_plain_include
+|  7 = @ppd_define
+|  8 = @ppd_undef
+|  9 = @ppd_line
+| 10 = @ppd_error
+| 11 = @ppd_pragma
+| 12 = @ppd_objc_import
+| 13 = @ppd_include_next
+| 18 = @ppd_warning
+;
+
+@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next;
+
+@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif;
+
+preprocpair(
+    int begin : @ppd_branch ref,
+    int elseelifend : @preprocdirect ref
+);
+
+preproctrue(int branch : @ppd_branch ref);
+preprocfalse(int branch : @ppd_branch ref);
+
+preproctext(
+    unique int id: @preprocdirect ref,
+    string head: string ref,
+    string body: string ref
+);
+
+includes(
+    unique int id: @ppd_include ref,
+    int included: @file ref
+);
+
+link_targets(
+    int id: @link_target,
+    int binary: @file ref
+);
+
+link_parent(
+    int element : @element ref,
+    int link_target : @link_target ref
+);
+
+/* XML Files */
+
+xmlEncoding(unique int id: @file ref, string encoding: string ref);
+
+xmlDTDs(
+    unique int id: @xmldtd,
+    string root: string ref,
+    string publicId: string ref,
+    string systemId: string ref,
+    int fileid: @file ref
+);
+
+xmlElements(
+    unique int id: @xmlelement,
+    string name: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlAttrs(
+    unique int id: @xmlattribute,
+    int elementid: @xmlelement ref,
+    string name: string ref,
+    string value: string ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlNs(
+    int id: @xmlnamespace,
+    string prefixName: string ref,
+    string URI: string ref,
+    int fileid: @file ref
+);
+
+xmlHasNs(
+    int elementId: @xmlnamespaceable ref,
+    int nsId: @xmlnamespace ref,
+    int fileid: @file ref
+);
+
+xmlComments(
+    unique int id: @xmlcomment,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int fileid: @file ref
+);
+
+xmlChars(
+    unique int id: @xmlcharacters,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int isCDATA: int ref,
+    int fileid: @file ref
+);
+
+@xmlparent = @file | @xmlelement;
+@xmlnamespaceable = @xmlelement | @xmlattribute;
+
+xmllocations(
+    int xmlElement: @xmllocatable ref,
+    int location: @location_default ref
+);
+
+@xmllocatable = @xmlcharacters
+              | @xmlelement
+              | @xmlcomment
+              | @xmlattribute
+              | @xmldtd
+              | @file
+              | @xmlnamespace;
diff --git a/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/semmlecode.cpp.dbscheme
new file mode 100644
index 000000000000..f0156f5f88ab
--- /dev/null
+++ b/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/semmlecode.cpp.dbscheme
@@ -0,0 +1,2339 @@
+
+/**
+ * An invocation of the compiler. Note that more than one file may be
+ * compiled per invocation. For example, this command compiles three
+ * source files:
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * The `id` simply identifies the invocation, while `cwd` is the working
+ * directory from which the compiler was invoked.
+ */
+compilations(
+    /**
+     * An invocation of the compiler. Note that more than one file may
+     * be compiled per invocation. For example, this command compiles
+     * three source files:
+     *
+     *   gcc -c f1.c f2.c f3.c
+     */
+    unique int id : @compilation,
+    string cwd : string ref
+);
+
+/**
+ * The arguments that were passed to the extractor for a compiler
+ * invocation. If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then typically there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | *path to extractor*
+ * 1   | `--mimic`
+ * 2   | `/usr/bin/gcc`
+ * 3   | `-c`
+ * 4   | f1.c
+ * 5   | f2.c
+ * 6   | f3.c
+ */
+#keyset[id, num]
+compilation_args(
+    int id : @compilation ref,
+    int num : int ref,
+    string arg : string ref
+);
+
+/**
+ * Optionally, record the build mode for each compilation.
+ */
+compilation_build_mode(
+    unique int id : @compilation ref,
+    int mode : int ref
+);
+
+/*
+case @compilation_build_mode.mode of
+  0 = @build_mode_none
+| 1 = @build_mode_manual
+| 2 = @build_mode_auto
+;
+*/
+
+/**
+ * The source files that are compiled by a compiler invocation.
+ * If `id` is for the compiler invocation
+ *
+ *   gcc -c f1.c f2.c f3.c
+ *
+ * then there will be rows for
+ *
+ * num | arg
+ * --- | ---
+ * 0   | f1.c
+ * 1   | f2.c
+ * 2   | f3.c
+ *
+ * Note that even if those files `#include` headers, those headers
+ * do not appear as rows.
+ */
+#keyset[id, num]
+compilation_compiling_files(
+    int id : @compilation ref,
+    int num : int ref,
+    int file : @file ref
+);
+
+/**
+ * The time taken by the extractor for a compiler invocation.
+ *
+ * For each file `num`, there will be rows for
+ *
+ * kind | seconds
+ * ---- | ---
+ * 1    | CPU seconds used by the extractor frontend
+ * 2    | Elapsed seconds during the extractor frontend
+ * 3    | CPU seconds used by the extractor backend
+ * 4    | Elapsed seconds during the extractor backend
+ */
+#keyset[id, num, kind]
+compilation_time(
+    int id : @compilation ref,
+    int num : int ref,
+    /* kind:
+       1 = frontend_cpu_seconds
+       2 = frontend_elapsed_seconds
+       3 = extractor_cpu_seconds
+       4 = extractor_elapsed_seconds
+    */
+    int kind : int ref,
+    float seconds : float ref
+);
+
+/**
+ * An error or warning generated by the extractor.
+ * The diagnostic message `diagnostic` was generated during compiler
+ * invocation `compilation`, and is the `file_number_diagnostic_number`th
+ * message generated while extracting the `file_number`th file of that
+ * invocation.
+ */
+#keyset[compilation, file_number, file_number_diagnostic_number]
+diagnostic_for(
+    int diagnostic : @diagnostic ref,
+    int compilation : @compilation ref,
+    int file_number : int ref,
+    int file_number_diagnostic_number : int ref
+);
+
+/**
+ * If extraction was successful, then `cpu_seconds` and
+ * `elapsed_seconds` are the CPU time and elapsed time (respectively)
+ * that extraction took for compiler invocation `id`.
+ */
+compilation_finished(
+    unique int id : @compilation ref,
+    float cpu_seconds : float ref,
+    float elapsed_seconds : float ref
+);
+
+
+/**
+ * External data, loaded from CSV files during snapshot creation. See
+ * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data)
+ * for more information.
+ */
+externalData(
+    int id : @externalDataElement,
+    string path : string ref,
+    int column: int ref,
+    string value : string ref
+);
+
+/**
+ * The source location of the snapshot.
+ */
+sourceLocationPrefix(string prefix : string ref);
+
+/**
+ * Information about packages that provide code used during compilation.
+ * The `id` is just a unique identifier.
+ * The `namespace` is typically the name of the package manager that
+ * provided the package (e.g. "dpkg" or "yum").
+ * The `package_name` is the name of the package, and `version` is its
+ * version (as a string).
+ */
+external_packages(
+    unique int id: @external_package,
+    string namespace : string ref,
+    string package_name : string ref,
+    string version : string ref
+);
+
+/**
+ * Holds if File `fileid` was provided by package `package`.
+ */
+header_to_external_package(
+    int fileid : @file ref,
+    int package : @external_package ref
+);
+
+/*
+ * Version history
+ */
+
+svnentries(
+    unique int id : @svnentry,
+    string revision : string ref,
+    string author : string ref,
+    date revisionDate : date ref,
+    int changeSize : int ref
+)
+
+svnaffectedfiles(
+    int id : @svnentry ref,
+    int file : @file ref,
+    string action : string ref
+)
+
+svnentrymsg(
+    unique int id : @svnentry ref,
+    string message : string ref
+)
+
+svnchurn(
+    int commit : @svnentry ref,
+    int file : @file ref,
+    int addedLines : int ref,
+    int deletedLines : int ref
+)
+
+/*
+ * C++ dbscheme
+ */
+
+extractor_version(
+    string codeql_version: string ref,
+    string frontend_version: string ref
+)
+
+@location = @location_stmt | @location_expr | @location_default ;
+
+/**
+ * The location of an element that is not an expression or a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_default(
+    /** The location of an element that is not an expression or a statement. */
+    unique int id: @location_default,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of a statement.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_stmt(
+    /** The location of a statement. */
+    unique int id: @location_stmt,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/**
+ * The location of an expression.
+ * The location spans column `startcolumn` of line `startline` to
+ * column `endcolumn` of line `endline` in file `file`.
+ * For more information, see
+ * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/).
+ */
+locations_expr(
+    /** The location of an expression. */
+    unique int id: @location_expr,
+    int container: @container ref,
+    int startLine: int ref,
+    int startColumn: int ref,
+    int endLine: int ref,
+    int endColumn: int ref
+);
+
+/** An element for which line-count information is available. */
+@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable;
+
+numlines(
+    int element_id: @sourceline ref,
+    int num_lines: int ref,
+    int num_code: int ref,
+    int num_comment: int ref
+);
+
+diagnostics(
+    unique int id: @diagnostic,
+    int severity: int ref,
+    string error_tag: string ref,
+    string error_message: string ref,
+    string full_error_message: string ref,
+    int location: @location_default ref
+);
+
+files(
+    unique int id: @file,
+    string name: string ref
+);
+
+folders(
+    unique int id: @folder,
+    string name: string ref
+);
+
+@container = @folder | @file
+
+containerparent(
+    int parent: @container ref,
+    unique int child: @container ref
+);
+
+fileannotations(
+    int id: @file ref,
+    int kind: int ref,
+    string name: string ref,
+    string value: string ref
+);
+
+inmacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+affectedbymacroexpansion(
+    int id: @element ref,
+    int inv: @macroinvocation ref
+);
+
+case @macroinvocation.kind of
+  1 = @macro_expansion
+| 2 = @other_macro_reference
+;
+
+macroinvocations(
+    unique int id: @macroinvocation,
+    int macro_id: @ppd_define ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+macroparent(
+    unique int id: @macroinvocation ref,
+    int parent_id: @macroinvocation ref
+);
+
+// a macroinvocation may be part of another location
+// the way to find a constant expression that uses a macro
+// is thus to find a constant expression that has a location
+// to which a macro invocation is bound
+macrolocationbind(
+    int id: @macroinvocation ref,
+    int location: @location ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_unexpanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+#keyset[invocation, argument_index]
+macro_argument_expanded(
+    int invocation: @macroinvocation ref,
+    int argument_index: int ref,
+    string text: string ref
+);
+
+/*
+case @function.kind of
+  1 = @normal_function
+| 2 = @constructor
+| 3 = @destructor
+| 4 = @conversion_function
+| 5 = @operator
+| 6 = @builtin_function     // GCC built-in functions, e.g. __builtin___memcpy_chk
+| 7 = @user_defined_literal
+| 8 = @deduction_guide
+;
+*/
+
+functions(
+    unique int id: @function,
+    string name: string ref,
+    int kind: int ref
+);
+
+function_entry_point(
+    int id: @function ref,
+    unique int entry_point: @stmt ref
+);
+
+function_return_type(
+    int id: @function ref,
+    int return_type: @type ref
+);
+
+/**
+ * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits`
+ * instance associated with it, and the variables representing the `handle` and `promise`
+ * for it.
+ */
+coroutine(
+  unique int function: @function ref,
+  int traits: @type ref
+);
+
+/*
+case @coroutine_placeholder_variable.kind of
+  1 = @handle
+| 2 = @promise
+| 3 = @init_await_resume
+;
+*/
+
+coroutine_placeholder_variable(
+  unique int placeholder_variable: @variable ref,
+  int kind: int ref,
+  int function: @function ref
+)
+
+/** The `new` function used for allocating the coroutine state, if any. */
+coroutine_new(
+  unique int function: @function ref,
+  int new: @function ref
+);
+
+/** The `delete` function used for deallocating the coroutine state, if any. */
+coroutine_delete(
+  unique int function: @function ref,
+  int delete: @function ref
+);
+
+purefunctions(unique int id: @function ref);
+
+function_deleted(unique int id: @function ref);
+
+function_defaulted(unique int id: @function ref);
+
+function_prototyped(unique int id: @function ref)
+
+deduction_guide_for_class(
+    int id: @function ref,
+    int class_template: @usertype ref
+)
+
+member_function_this_type(
+    unique int id: @function ref,
+    int this_type: @type ref
+);
+
+#keyset[id, type_id]
+fun_decls(
+    int id: @fun_decl,
+    int function: @function ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+fun_def(unique int id: @fun_decl ref);
+fun_specialized(unique int id: @fun_decl ref);
+fun_implicit(unique int id: @fun_decl ref);
+fun_decl_specifiers(
+    int id: @fun_decl ref,
+    string name: string ref
+)
+#keyset[fun_decl, index]
+fun_decl_throws(
+    int fun_decl: @fun_decl ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+/* an empty throw specification is different from none */
+fun_decl_empty_throws(unique int fun_decl: @fun_decl ref);
+fun_decl_noexcept(
+    int fun_decl: @fun_decl ref,
+    int constant: @expr ref
+);
+fun_decl_empty_noexcept(int fun_decl: @fun_decl ref);
+fun_decl_typedef_type(
+    unique int fun_decl: @fun_decl ref,
+    int typedeftype_id: @usertype ref
+);
+
+param_decl_bind(
+    unique int id: @var_decl ref,
+    int index: int ref,
+    int fun_decl: @fun_decl ref
+);
+
+#keyset[id, type_id]
+var_decls(
+    int id: @var_decl,
+    int variable: @variable ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+var_def(unique int id: @var_decl ref);
+var_decl_specifiers(
+    int id: @var_decl ref,
+    string name: string ref
+)
+is_structured_binding(unique int id: @variable ref);
+
+type_decls(
+    unique int id: @type_decl,
+    int type_id: @type ref,
+    int location: @location_default ref
+);
+type_def(unique int id: @type_decl ref);
+type_decl_top(
+    unique int type_decl: @type_decl ref
+);
+
+namespace_decls(
+    unique int id: @namespace_decl,
+    int namespace_id: @namespace ref,
+    int location: @location_default ref,
+    int bodylocation: @location_default ref
+);
+
+case @using.kind of
+  1 = @using_declaration
+| 2 = @using_directive
+| 3 = @using_enum_declaration
+;
+
+usings(
+    unique int id: @using,
+    int element_id: @element ref,
+    int location: @location_default ref,
+    int kind: int ref
+);
+
+/** The element which contains the `using` declaration. */
+using_container(
+    int parent: @element ref,
+    int child: @using ref
+);
+
+static_asserts(
+    unique int id: @static_assert,
+    int condition : @expr ref,
+    string message : string ref,
+    int location: @location_default ref,
+    int enclosing : @element ref
+);
+
+// each function has an ordered list of parameters
+#keyset[id, type_id]
+#keyset[function, index, type_id]
+params(
+    int id: @parameter,
+    int function: @parameterized_element ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+overrides(
+    int new: @function ref,
+    int old: @function ref
+);
+
+#keyset[id, type_id]
+membervariables(
+    int id: @membervariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+globalvariables(
+    int id: @globalvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+#keyset[id, type_id]
+localvariables(
+    int id: @localvariable,
+    int type_id: @type ref,
+    string name: string ref
+);
+
+autoderivation(
+    unique int var: @variable ref,
+    int derivation_type: @type ref
+);
+
+orphaned_variables(
+    int var: @localvariable ref,
+    int function: @function ref
+)
+
+enumconstants(
+    unique int id: @enumconstant,
+    int parent: @usertype ref,
+    int index: int ref,
+    int type_id: @type ref,
+    string name: string ref,
+    int location: @location_default ref
+);
+
+@variable = @localscopevariable | @globalvariable | @membervariable;
+
+@localscopevariable = @localvariable | @parameter;
+
+/**
+ * Built-in types are the fundamental types, e.g., integral, floating, and void.
+ */
+case @builtintype.kind of
+   1 = @errortype
+|  2 = @unknowntype
+|  3 = @void
+|  4 = @boolean
+|  5 = @char
+|  6 = @unsigned_char
+|  7 = @signed_char
+|  8 = @short
+|  9 = @unsigned_short
+| 10 = @signed_short
+| 11 = @int
+| 12 = @unsigned_int
+| 13 = @signed_int
+| 14 = @long
+| 15 = @unsigned_long
+| 16 = @signed_long
+| 17 = @long_long
+| 18 = @unsigned_long_long
+| 19 = @signed_long_long
+// ... 20 Microsoft-specific __int8
+// ... 21 Microsoft-specific __int16
+// ... 22 Microsoft-specific __int32
+// ... 23 Microsoft-specific __int64
+| 24 = @float
+| 25 = @double
+| 26 = @long_double
+| 27 = @complex_float         // C99-specific _Complex float
+| 28 = @complex_double        // C99-specific _Complex double
+| 29 = @complex_long_double   // C99-specific _Complex long double
+| 30 = @imaginary_float       // C99-specific _Imaginary float
+| 31 = @imaginary_double      // C99-specific _Imaginary double
+| 32 = @imaginary_long_double // C99-specific _Imaginary long double
+| 33 = @wchar_t               // Microsoft-specific
+| 34 = @decltype_nullptr      // C++11
+| 35 = @int128                // __int128
+| 36 = @unsigned_int128       // unsigned __int128
+| 37 = @signed_int128         // signed __int128
+| 38 = @float128              // __float128
+| 39 = @complex_float128      // _Complex __float128
+| 40 = @decimal32             // _Decimal32
+| 41 = @decimal64             // _Decimal64
+| 42 = @decimal128            // _Decimal128
+| 43 = @char16_t
+| 44 = @char32_t
+| 45 = @std_float32           // _Float32
+| 46 = @float32x              // _Float32x
+| 47 = @std_float64           // _Float64
+| 48 = @float64x              // _Float64x
+| 49 = @std_float128          // _Float128
+// ... 50 _Float128x
+| 51 = @char8_t
+| 52 = @float16               // _Float16
+| 53 = @complex_float16       // _Complex _Float16
+| 54 = @fp16                  // __fp16
+| 55 = @std_bfloat16          // __bf16
+| 56 = @std_float16           // std::float16_t
+| 57 = @complex_std_float32   // _Complex _Float32
+| 58 = @complex_float32x      // _Complex _Float32x
+| 59 = @complex_std_float64   // _Complex _Float64
+| 60 = @complex_float64x      // _Complex _Float64x
+| 61 = @complex_std_float128  // _Complex _Float128
+;
+
+builtintypes(
+    unique int id: @builtintype,
+    string name: string ref,
+    int kind: int ref,
+    int size: int ref,
+    int sign: int ref,
+    int alignment: int ref
+);
+
+/**
+ * Derived types are types that are directly derived from existing types and
+ * point to, refer to, transform type data to return a new type.
+ */
+case @derivedtype.kind of
+   1 = @pointer
+|  2 = @reference
+|  3 = @type_with_specifiers
+|  4 = @array
+|  5 = @gnu_vector
+|  6 = @routineptr
+|  7 = @routinereference
+|  8 = @rvalue_reference // C++11
+// ... 9 type_conforming_to_protocols deprecated
+| 10 = @block
+;
+
+derivedtypes(
+    unique int id: @derivedtype,
+    string name: string ref,
+    int kind: int ref,
+    int type_id: @type ref
+);
+
+pointerishsize(unique int id: @derivedtype ref,
+    int size: int ref,
+    int alignment: int ref);
+
+arraysizes(
+    unique int id: @derivedtype ref,
+    int num_elements: int ref,
+    int bytesize: int ref,
+    int alignment: int ref
+);
+
+typedefbase(
+    unique int id: @usertype ref,
+    int type_id: @type ref
+);
+
+/**
+ * An instance of the C++11 `decltype` operator.  For example:
+ * ```
+ * int a;
+ * decltype(1+a) b;
+ * ```
+ * Here `expr` is `1+a`.
+ *
+ * Sometimes an additional pair of parentheses around the expression
+ * would change the semantics of this decltype, e.g.
+ * ```
+ * struct A { double x; };
+ * const A* a = new A();
+ * decltype( a->x ); // type is double
+ * decltype((a->x)); // type is const double&
+ * ```
+ * (Please consult the C++11 standard for more details).
+ * `parentheses_would_change_meaning` is `true` iff that is the case.
+ */
+#keyset[id, expr]
+decltypes(
+    int id: @decltype,
+    int expr: @expr ref,
+    int base_type: @type ref,
+    boolean parentheses_would_change_meaning: boolean ref
+);
+
+/*
+case @usertype.kind of
+   1 = @struct
+|  2 = @class
+|  3 = @union
+|  4 = @enum
+|  5 = @typedef                       // classic C: typedef typedef type name
+|  6 = @template
+|  7 = @template_parameter
+|  8 = @template_template_parameter
+|  9 = @proxy_class                   // a proxy class associated with a template parameter
+// ... 10 objc_class deprecated
+// ... 11 objc_protocol deprecated
+// ... 12 objc_category deprecated
+| 13 = @scoped_enum
+| 14 = @using_alias                  // a using name = type style typedef
+;
+*/
+
+usertypes(
+    unique int id: @usertype,
+    string name: string ref,
+    int kind: int ref
+);
+
+usertypesize(
+    unique int id: @usertype ref,
+    int size: int ref,
+    int alignment: int ref
+);
+
+usertype_final(unique int id: @usertype ref);
+
+usertype_uuid(
+    unique int id: @usertype ref,
+    string uuid: string ref
+);
+
+mangled_name(
+    unique int id: @declaration ref,
+    int mangled_name : @mangledname,
+    boolean is_complete: boolean ref
+);
+
+is_pod_class(unique int id: @usertype ref);
+is_standard_layout_class(unique int id: @usertype ref);
+
+is_complete(unique int id: @usertype ref);
+
+is_class_template(unique int id: @usertype ref);
+class_instantiation(
+    int to: @usertype ref,
+    int from: @usertype ref
+);
+class_template_argument(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+class_template_argument_value(
+    int type_id: @usertype ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_proxy_class_for(
+    unique int id: @usertype ref,
+    unique int templ_param_id: @usertype ref
+);
+
+type_mentions(
+    unique int id: @type_mention,
+    int type_id: @type ref,
+    int location: @location ref,
+    // a_symbol_reference_kind from the frontend.
+    int kind: int ref
+);
+
+is_function_template(unique int id: @function ref);
+function_instantiation(
+    unique int to: @function ref,
+    int from: @function ref
+);
+function_template_argument(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+function_template_argument_value(
+    int function_id: @function ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+is_variable_template(unique int id: @variable ref);
+variable_instantiation(
+    unique int to: @variable ref,
+    int from: @variable ref
+);
+variable_template_argument(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_type: @type ref
+);
+variable_template_argument_value(
+    int variable_id: @variable ref,
+    int index: int ref,
+    int arg_value: @expr ref
+);
+
+routinetypes(
+    unique int id: @routinetype,
+    int return_type: @type ref
+);
+
+routinetypeargs(
+    int routine: @routinetype ref,
+    int index: int ref,
+    int type_id: @type ref
+);
+
+ptrtomembers(
+    unique int id: @ptrtomember,
+    int type_id: @type ref,
+    int class_id: @type ref
+);
+
+/*
+ specifiers for types, functions, and variables
+
+    "public",
+    "protected",
+    "private",
+
+    "const",
+    "volatile",
+    "static",
+
+    "pure",
+    "virtual",
+    "sealed", // Microsoft
+    "__interface", // Microsoft
+    "inline",
+    "explicit",
+
+    "near", // near far extension
+    "far", // near far extension
+    "__ptr32", // Microsoft
+    "__ptr64", // Microsoft
+    "__sptr", // Microsoft
+    "__uptr", // Microsoft
+    "dllimport", // Microsoft
+    "dllexport", // Microsoft
+    "thread", // Microsoft
+    "naked", // Microsoft
+    "microsoft_inline", // Microsoft
+    "forceinline", // Microsoft
+    "selectany", // Microsoft
+    "nothrow", // Microsoft
+    "novtable", // Microsoft
+    "noreturn", // Microsoft
+    "noinline", // Microsoft
+    "noalias", // Microsoft
+    "restrict", // Microsoft
+*/
+
+specifiers(
+    unique int id: @specifier,
+    unique string str: string ref
+);
+
+typespecifiers(
+    int type_id: @type ref,
+    int spec_id: @specifier ref
+);
+
+funspecifiers(
+    int func_id: @function ref,
+    int spec_id: @specifier ref
+);
+
+varspecifiers(
+    int var_id: @accessible ref,
+    int spec_id: @specifier ref
+);
+
+explicit_specifier_exprs(
+    unique int func_id: @function ref,
+    int constant: @expr ref
+)
+
+attributes(
+    unique int id: @attribute,
+    int kind: int ref,
+    string name: string ref,
+    string name_space: string ref,
+    int location: @location_default ref
+);
+
+case @attribute.kind of
+  0 = @gnuattribute
+| 1 = @stdattribute
+| 2 = @declspec
+| 3 = @msattribute
+| 4 = @alignas
+// ... 5 @objc_propertyattribute deprecated
+;
+
+attribute_args(
+    unique int id: @attribute_arg,
+    int kind: int ref,
+    int attribute: @attribute ref,
+    int index: int ref,
+    int location: @location_default ref
+);
+
+case @attribute_arg.kind of
+  0 = @attribute_arg_empty
+| 1 = @attribute_arg_token
+| 2 = @attribute_arg_constant
+| 3 = @attribute_arg_type
+| 4 = @attribute_arg_constant_expr
+| 5 = @attribute_arg_expr
+;
+
+attribute_arg_value(
+    unique int arg: @attribute_arg ref,
+    string value: string ref
+);
+attribute_arg_type(
+    unique int arg: @attribute_arg ref,
+    int type_id: @type ref
+);
+attribute_arg_constant(
+    unique int arg: @attribute_arg ref,
+    int constant: @expr ref
+)
+attribute_arg_expr(
+    unique int arg: @attribute_arg ref,
+    int expr: @expr ref
+)
+attribute_arg_name(
+    unique int arg: @attribute_arg ref,
+    string name: string ref
+);
+
+typeattributes(
+    int type_id: @type ref,
+    int spec_id: @attribute ref
+);
+
+funcattributes(
+    int func_id: @function ref,
+    int spec_id: @attribute ref
+);
+
+varattributes(
+    int var_id: @accessible ref,
+    int spec_id: @attribute ref
+);
+
+stmtattributes(
+    int stmt_id: @stmt ref,
+    int spec_id: @attribute ref
+);
+
+@type = @builtintype
+      | @derivedtype
+      | @usertype
+      /* TODO | @fixedpointtype */
+      | @routinetype
+      | @ptrtomember
+      | @decltype;
+
+unspecifiedtype(
+    unique int type_id: @type ref,
+    int unspecified_type_id: @type ref
+);
+
+member(
+    int parent: @type ref,
+    int index: int ref,
+    int child: @member ref
+);
+
+@enclosingfunction_child = @usertype | @variable | @namespace
+
+enclosingfunction(
+    unique int child: @enclosingfunction_child ref,
+    int parent: @function ref
+);
+
+derivations(
+    unique int derivation: @derivation,
+    int sub: @type ref,
+    int index: int ref,
+    int super: @type ref,
+    int location: @location_default ref
+);
+
+derspecifiers(
+    int der_id: @derivation ref,
+    int spec_id: @specifier ref
+);
+
+/**
+ * Contains the byte offset of the base class subobject within the derived
+ * class. Only holds for non-virtual base classes, but see table
+ * `virtual_base_offsets` for offsets of virtual base class subobjects.
+ */
+direct_base_offsets(
+    unique int der_id: @derivation ref,
+    int offset: int ref
+);
+
+/**
+ * Contains the byte offset of the virtual base class subobject for class
+ * `super` within a most-derived object of class `sub`. `super` can be either a
+ * direct or indirect base class.
+ */
+#keyset[sub, super]
+virtual_base_offsets(
+    int sub: @usertype ref,
+    int super: @usertype ref,
+    int offset: int ref
+);
+
+frienddecls(
+    unique int id: @frienddecl,
+    int type_id: @type ref,
+    int decl_id: @declaration ref,
+    int location: @location_default ref
+);
+
+@declaredtype = @usertype ;
+
+@declaration = @function
+             | @declaredtype
+             | @variable
+             | @enumconstant
+             | @frienddecl;
+
+@member = @membervariable
+        | @function
+        | @declaredtype
+        | @enumconstant;
+
+@locatable = @diagnostic
+           | @declaration
+           | @ppd_include
+           | @ppd_define
+           | @macroinvocation
+           /*| @funcall*/
+           | @xmllocatable
+           | @attribute
+           | @attribute_arg;
+
+@namedscope = @namespace | @usertype;
+
+@element = @locatable
+         | @file
+         | @folder
+         | @specifier
+         | @type
+         | @expr
+         | @namespace
+         | @initialiser
+         | @stmt
+         | @derivation
+         | @comment
+         | @preprocdirect
+         | @fun_decl
+         | @var_decl
+         | @type_decl
+         | @namespace_decl
+         | @using
+         | @namequalifier
+         | @specialnamequalifyingelement
+         | @static_assert
+         | @type_mention
+         | @lambdacapture;
+
+@exprparent = @element;
+
+comments(
+    unique int id: @comment,
+    string contents: string ref,
+    int location: @location_default ref
+);
+
+commentbinding(
+    int id: @comment ref,
+    int element: @element ref
+);
+
+exprconv(
+    int converted: @expr ref,
+    unique int conversion: @expr ref
+);
+
+compgenerated(unique int id: @element ref);
+
+/**
+ * `destructor_call` destructs the `i`'th entity that should be
+ * destructed following `element`. Note that entities should be
+ * destructed in reverse construction order, so for a given `element`
+ * these should be called from highest to lowest `i`.
+ */
+#keyset[element, destructor_call]
+#keyset[element, i]
+synthetic_destructor_call(
+    int element: @element ref,
+    int i: int ref,
+    int destructor_call: @routineexpr ref
+);
+
+namespaces(
+    unique int id: @namespace,
+    string name: string ref
+);
+
+namespace_inline(
+    unique int id: @namespace ref
+);
+
+namespacembrs(
+    int parentid: @namespace ref,
+    unique int memberid: @namespacembr ref
+);
+
+@namespacembr = @declaration | @namespace;
+
+exprparents(
+    int expr_id: @expr ref,
+    int child_index: int ref,
+    int parent_id: @exprparent ref
+);
+
+expr_isload(unique int expr_id: @expr ref);
+
+@cast = @c_style_cast
+      | @const_cast
+      | @dynamic_cast
+      | @reinterpret_cast
+      | @static_cast
+      ;
+
+/*
+case @conversion.kind of
+  0 = @simple_conversion           // a numeric conversion, qualification conversion, or a reinterpret_cast
+| 1 = @bool_conversion             // conversion to 'bool'
+| 2 = @base_class_conversion       // a derived-to-base conversion
+| 3 = @derived_class_conversion    // a base-to-derived conversion
+| 4 = @pm_base_class_conversion    // a derived-to-base conversion of a pointer to member
+| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member
+| 6 = @glvalue_adjust              // an adjustment of the type of a glvalue
+| 7 = @prvalue_adjust              // an adjustment of the type of a prvalue
+;
+*/
+/**
+ * Describes the semantics represented by a cast expression. This is largely
+ * independent of the source syntax of the cast, so it is separate from the
+ * regular expression kind.
+ */
+conversionkinds(
+    unique int expr_id: @cast ref,
+    int kind: int ref
+);
+
+@conversion = @cast
+            | @array_to_pointer
+            | @parexpr
+            | @reference_to
+            | @ref_indirect
+            | @temp_init
+            | @c11_generic
+            ;
+
+/*
+case @funbindexpr.kind of
+  0 = @normal_call  // a normal call
+| 1 = @virtual_call // a virtual call
+| 2 = @adl_call     // a call whose target is only found by ADL
+;
+*/
+iscall(
+    unique int caller: @funbindexpr ref,
+    int kind: int ref
+);
+
+numtemplatearguments(
+    unique int expr_id: @expr ref,
+    int num: int ref
+);
+
+specialnamequalifyingelements(
+    unique int id: @specialnamequalifyingelement,
+    unique string name: string ref
+);
+
+@namequalifiableelement = @expr | @namequalifier;
+@namequalifyingelement = @namespace
+                       | @specialnamequalifyingelement
+                       | @usertype;
+
+namequalifiers(
+    unique int id: @namequalifier,
+    unique int qualifiableelement: @namequalifiableelement ref,
+    int qualifyingelement: @namequalifyingelement ref,
+    int location: @location_default ref
+);
+
+varbind(
+    int expr: @varbindexpr ref,
+    int var: @accessible ref
+);
+
+funbind(
+    int expr: @funbindexpr ref,
+    int fun: @function ref
+);
+
+@any_new_expr = @new_expr
+              | @new_array_expr;
+
+@new_or_delete_expr = @any_new_expr
+                    | @delete_expr
+                    | @delete_array_expr;
+
+@prefix_crement_expr = @preincrexpr | @predecrexpr;
+
+@postfix_crement_expr = @postincrexpr | @postdecrexpr;
+
+@increment_expr = @preincrexpr | @postincrexpr;
+
+@decrement_expr = @predecrexpr | @postdecrexpr;
+
+@crement_expr = @increment_expr | @decrement_expr;
+
+@un_arith_op_expr = @arithnegexpr
+                  | @unaryplusexpr
+                  | @conjugation
+                  | @realpartexpr
+                  | @imagpartexpr
+                  | @crement_expr
+                  ;
+
+@un_bitwise_op_expr = @complementexpr;
+
+@un_log_op_expr = @notexpr;
+
+@un_op_expr = @address_of
+            | @indirect
+            | @un_arith_op_expr
+            | @un_bitwise_op_expr
+            | @builtinaddressof
+            | @vec_fill
+            | @un_log_op_expr
+            | @co_await
+            | @co_yield
+            ;
+
+@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr;
+
+@cmp_op_expr = @eq_op_expr | @rel_op_expr;
+
+@eq_op_expr = @eqexpr | @neexpr;
+
+@rel_op_expr = @gtexpr
+             | @ltexpr
+             | @geexpr
+             | @leexpr
+             | @spaceshipexpr
+             ;
+
+@bin_bitwise_op_expr = @lshiftexpr
+                     | @rshiftexpr
+                     | @andexpr
+                     | @orexpr
+                     | @xorexpr
+                     ;
+
+@p_arith_op_expr = @paddexpr
+                 | @psubexpr
+                 | @pdiffexpr
+                 ;
+
+@bin_arith_op_expr = @addexpr
+                   | @subexpr
+                   | @mulexpr
+                   | @divexpr
+                   | @remexpr
+                   | @jmulexpr
+                   | @jdivexpr
+                   | @fjaddexpr
+                   | @jfaddexpr
+                   | @fjsubexpr
+                   | @jfsubexpr
+                   | @minexpr
+                   | @maxexpr
+                   | @p_arith_op_expr
+                   ;
+
+@bin_op_expr = @bin_arith_op_expr
+             | @bin_bitwise_op_expr
+             | @cmp_op_expr
+             | @bin_log_op_expr
+             ;
+
+@op_expr = @un_op_expr
+         | @bin_op_expr
+         | @assign_expr
+         | @conditionalexpr
+         ;
+
+@assign_arith_expr = @assignaddexpr
+                   | @assignsubexpr
+                   | @assignmulexpr
+                   | @assigndivexpr
+                   | @assignremexpr
+                   ;
+
+@assign_bitwise_expr = @assignandexpr
+                     | @assignorexpr
+                     | @assignxorexpr
+                     | @assignlshiftexpr
+                     | @assignrshiftexpr
+                     ;
+
+@assign_pointer_expr = @assignpaddexpr
+                     | @assignpsubexpr
+                     ;
+
+@assign_op_expr = @assign_arith_expr
+                | @assign_bitwise_expr
+                | @assign_pointer_expr
+                ;
+
+@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr
+
+/*
+  Binary encoding of the allocator form.
+
+  case @allocator.form of
+    0 = plain
+  | 1 = alignment
+  ;
+*/
+
+/**
+ * The allocator function associated with a `new` or `new[]` expression.
+ * The `form` column specified whether the allocation call contains an alignment
+ * argument.
+ */
+expr_allocator(
+    unique int expr: @any_new_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/*
+  Binary encoding of the deallocator form.
+
+  case @deallocator.form of
+    0 = plain
+  | 1 = size
+  | 2 = alignment
+  | 4 = destroying_delete
+  ;
+*/
+
+/**
+ * The deallocator function associated with a `delete`, `delete[]`, `new`, or
+ * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the
+ * one used to free memory if the initialization throws an exception.
+ * The `form` column specifies whether the deallocation call contains a size
+ * argument, and alignment argument, or both.
+ */
+expr_deallocator(
+    unique int expr: @new_or_delete_expr ref,
+    int func: @function ref,
+    int form: int ref
+);
+
+/**
+ * Holds if the `@conditionalexpr` is of the two operand form
+ * `guard ? : false`.
+ */
+expr_cond_two_operand(
+    unique int cond: @conditionalexpr ref
+);
+
+/**
+ * The guard of `@conditionalexpr` `guard ? true : false`
+ */
+expr_cond_guard(
+    unique int cond: @conditionalexpr ref,
+    int guard: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` holds. For the two operand form
+ * `guard ?: false` consider using `expr_cond_guard` instead.
+ */
+expr_cond_true(
+    unique int cond: @conditionalexpr ref,
+    int true: @expr ref
+);
+
+/**
+ * The expression used when the guard of `@conditionalexpr`
+ * `guard ? true : false` does not hold.
+ */
+expr_cond_false(
+    unique int cond: @conditionalexpr ref,
+    int false: @expr ref
+);
+
+/** A string representation of the value. */
+values(
+    unique int id: @value,
+    string str: string ref
+);
+
+/** The actual text in the source code for the value, if any. */
+valuetext(
+    unique int id: @value ref,
+    string text: string ref
+);
+
+valuebind(
+    int val: @value ref,
+    unique int expr: @expr ref
+);
+
+fieldoffsets(
+    unique int id: @variable ref,
+    int byteoffset: int ref,
+    int bitoffset: int ref
+);
+
+bitfield(
+    unique int id: @variable ref,
+    int bits: int ref,
+    int declared_bits: int ref
+);
+
+/* TODO
+memberprefix(
+    int member: @expr ref,
+    int prefix: @expr ref
+);
+*/
+
+/*
+   kind(1) = mbrcallexpr
+   kind(2) = mbrptrcallexpr
+   kind(3) = mbrptrmbrcallexpr
+   kind(4) = ptrmbrptrmbrcallexpr
+   kind(5) = mbrreadexpr // x.y
+   kind(6) = mbrptrreadexpr // p->y
+   kind(7) = mbrptrmbrreadexpr // x.*pm
+   kind(8) = mbrptrmbrptrreadexpr // x->*pm
+   kind(9) = staticmbrreadexpr // static x.y
+   kind(10) = staticmbrptrreadexpr // static p->y
+*/
+/* TODO
+memberaccess(
+    int member: @expr ref,
+    int kind: int ref
+);
+*/
+
+initialisers(
+    unique int init: @initialiser,
+    int var: @accessible ref,
+    unique int expr: @expr ref,
+    int location: @location_expr ref
+);
+
+braced_initialisers(
+    int init: @initialiser ref
+);
+
+/**
+ * An ancestor for the expression, for cases in which we cannot
+ * otherwise find the expression's parent.
+ */
+expr_ancestor(
+    int exp: @expr ref,
+    int ancestor: @element ref
+);
+
+exprs(
+    unique int id: @expr,
+    int kind: int ref,
+    int location: @location_expr ref
+);
+
+expr_reuse(
+    int reuse: @expr ref,
+    int original: @expr ref,
+    int value_category: int ref
+)
+
+/*
+  case @value.category of
+    1 = prval
+  | 2 = xval
+  | 3 = lval
+  ;
+*/
+expr_types(
+    int id: @expr ref,
+    int typeid: @type ref,
+    int value_category: int ref
+);
+
+case @expr.kind of
+    1 = @errorexpr
+|   2 = @address_of // & AddressOfExpr
+|   3 = @reference_to // ReferenceToExpr (implicit?)
+|   4 = @indirect // * PointerDereferenceExpr
+|   5 = @ref_indirect // ReferenceDereferenceExpr (implicit?)
+// ...
+|   8 = @array_to_pointer // (???)
+|   9 = @vacuous_destructor_call // VacuousDestructorCall
+// ...
+|  11 = @assume // Microsoft
+|  12 = @parexpr
+|  13 = @arithnegexpr
+|  14 = @unaryplusexpr
+|  15 = @complementexpr
+|  16 = @notexpr
+|  17 = @conjugation // GNU ~ operator
+|  18 = @realpartexpr // GNU __real
+|  19 = @imagpartexpr // GNU __imag
+|  20 = @postincrexpr
+|  21 = @postdecrexpr
+|  22 = @preincrexpr
+|  23 = @predecrexpr
+|  24 = @conditionalexpr
+|  25 = @addexpr
+|  26 = @subexpr
+|  27 = @mulexpr
+|  28 = @divexpr
+|  29 = @remexpr
+|  30 = @jmulexpr // C99 mul imaginary
+|  31 = @jdivexpr // C99 div imaginary
+|  32 = @fjaddexpr // C99 add real + imaginary
+|  33 = @jfaddexpr // C99 add imaginary + real
+|  34 = @fjsubexpr // C99 sub real - imaginary
+|  35 = @jfsubexpr // C99 sub imaginary - real
+|  36 = @paddexpr // pointer add (pointer + int or int + pointer)
+|  37 = @psubexpr // pointer sub (pointer - integer)
+|  38 = @pdiffexpr // difference between two pointers
+|  39 = @lshiftexpr
+|  40 = @rshiftexpr
+|  41 = @andexpr
+|  42 = @orexpr
+|  43 = @xorexpr
+|  44 = @eqexpr
+|  45 = @neexpr
+|  46 = @gtexpr
+|  47 = @ltexpr
+|  48 = @geexpr
+|  49 = @leexpr
+|  50 = @minexpr // GNU minimum
+|  51 = @maxexpr // GNU maximum
+|  52 = @assignexpr
+|  53 = @assignaddexpr
+|  54 = @assignsubexpr
+|  55 = @assignmulexpr
+|  56 = @assigndivexpr
+|  57 = @assignremexpr
+|  58 = @assignlshiftexpr
+|  59 = @assignrshiftexpr
+|  60 = @assignandexpr
+|  61 = @assignorexpr
+|  62 = @assignxorexpr
+|  63 = @assignpaddexpr // assign pointer add
+|  64 = @assignpsubexpr // assign pointer sub
+|  65 = @andlogicalexpr
+|  66 = @orlogicalexpr
+|  67 = @commaexpr
+|  68 = @subscriptexpr // access to member of an array, e.g., a[5]
+// ...  69 @objc_subscriptexpr deprecated
+// ...  70 @cmdaccess deprecated
+// ...
+|  73 = @virtfunptrexpr
+|  74 = @callexpr
+// ...  75 @msgexpr_normal deprecated
+// ...  76 @msgexpr_super deprecated
+// ...  77 @atselectorexpr deprecated
+// ...  78 @atprotocolexpr deprecated
+|  79 = @vastartexpr
+|  80 = @vaargexpr
+|  81 = @vaendexpr
+|  82 = @vacopyexpr
+// ...  83 @atencodeexpr deprecated
+|  84 = @varaccess
+|  85 = @thisaccess
+// ...  86 @objc_box_expr deprecated
+|  87 = @new_expr
+|  88 = @delete_expr
+|  89 = @throw_expr
+|  90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2)
+|  91 = @braced_init_list
+|  92 = @type_id
+|  93 = @runtime_sizeof
+|  94 = @runtime_alignof
+|  95 = @sizeof_pack
+|  96 = @expr_stmt // GNU extension
+|  97 = @routineexpr
+|  98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....)
+|  99 = @offsetofexpr // offsetof ::= type and field
+| 100 = @hasassignexpr // __has_assign ::= type
+| 101 = @hascopyexpr // __has_copy ::= type
+| 102 = @hasnothrowassign // __has_nothrow_assign ::= type
+| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type
+| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type
+| 105 = @hastrivialassign // __has_trivial_assign ::= type
+| 106 = @hastrivialconstr // __has_trivial_constructor ::= type
+| 107 = @hastrivialcopy // __has_trivial_copy ::= type
+| 108 = @hasuserdestr // __has_user_destructor ::= type
+| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type
+| 110 = @isabstractexpr // __is_abstract ::= type
+| 111 = @isbaseofexpr // __is_base_of ::= type type
+| 112 = @isclassexpr // __is_class ::= type
+| 113 = @isconvtoexpr // __is_convertible_to ::= type type
+| 114 = @isemptyexpr // __is_empty ::= type
+| 115 = @isenumexpr // __is_enum ::= type
+| 116 = @ispodexpr // __is_pod ::= type
+| 117 = @ispolyexpr // __is_polymorphic ::= type
+| 118 = @isunionexpr // __is_union ::= type
+| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type
+| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof
+// ...
+| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type
+| 123 = @literal
+| 124 = @uuidof
+| 127 = @aggregateliteral
+| 128 = @delete_array_expr
+| 129 = @new_array_expr
+// ... 130 @objc_array_literal deprecated
+// ... 131 @objc_dictionary_literal deprecated
+| 132 = @foldexpr
+// ...
+| 200 = @ctordirectinit
+| 201 = @ctorvirtualinit
+| 202 = @ctorfieldinit
+| 203 = @ctordelegatinginit
+| 204 = @dtordirectdestruct
+| 205 = @dtorvirtualdestruct
+| 206 = @dtorfielddestruct
+// ...
+| 210 = @static_cast
+| 211 = @reinterpret_cast
+| 212 = @const_cast
+| 213 = @dynamic_cast
+| 214 = @c_style_cast
+| 215 = @lambdaexpr
+| 216 = @param_ref
+| 217 = @noopexpr
+// ...
+| 294 = @istriviallyconstructibleexpr
+| 295 = @isdestructibleexpr
+| 296 = @isnothrowdestructibleexpr
+| 297 = @istriviallydestructibleexpr
+| 298 = @istriviallyassignableexpr
+| 299 = @isnothrowassignableexpr
+| 300 = @istrivialexpr
+| 301 = @isstandardlayoutexpr
+| 302 = @istriviallycopyableexpr
+| 303 = @isliteraltypeexpr
+| 304 = @hastrivialmoveconstructorexpr
+| 305 = @hastrivialmoveassignexpr
+| 306 = @hasnothrowmoveassignexpr
+| 307 = @isconstructibleexpr
+| 308 = @isnothrowconstructibleexpr
+| 309 = @hasfinalizerexpr
+| 310 = @isdelegateexpr
+| 311 = @isinterfaceclassexpr
+| 312 = @isrefarrayexpr
+| 313 = @isrefclassexpr
+| 314 = @issealedexpr
+| 315 = @issimplevalueclassexpr
+| 316 = @isvalueclassexpr
+| 317 = @isfinalexpr
+| 319 = @noexceptexpr
+| 320 = @builtinshufflevector
+| 321 = @builtinchooseexpr
+| 322 = @builtinaddressof
+| 323 = @vec_fill
+| 324 = @builtinconvertvector
+| 325 = @builtincomplex
+| 326 = @spaceshipexpr
+| 327 = @co_await
+| 328 = @co_yield
+| 329 = @temp_init
+| 330 = @isassignable
+| 331 = @isaggregate
+| 332 = @hasuniqueobjectrepresentations
+| 333 = @builtinbitcast
+| 334 = @builtinshuffle
+| 335 = @blockassignexpr
+| 336 = @issame
+| 337 = @isfunction
+| 338 = @islayoutcompatible
+| 339 = @ispointerinterconvertiblebaseof
+| 340 = @isarray
+| 341 = @arrayrank
+| 342 = @arrayextent
+| 343 = @isarithmetic
+| 344 = @iscompletetype
+| 345 = @iscompound
+| 346 = @isconst
+| 347 = @isfloatingpoint
+| 348 = @isfundamental
+| 349 = @isintegral
+| 350 = @islvaluereference
+| 351 = @ismemberfunctionpointer
+| 352 = @ismemberobjectpointer
+| 353 = @ismemberpointer
+| 354 = @isobject
+| 355 = @ispointer
+| 356 = @isreference
+| 357 = @isrvaluereference
+| 358 = @isscalar
+| 359 = @issigned
+| 360 = @isunsigned
+| 361 = @isvoid
+| 362 = @isvolatile
+| 363 = @reuseexpr
+| 364 = @istriviallycopyassignable
+| 365 = @isassignablenopreconditioncheck
+| 366 = @referencebindstotemporary
+| 367 = @issameas
+| 368 = @builtinhasattribute
+| 369 = @ispointerinterconvertiblewithclass
+| 370 = @builtinispointerinterconvertiblewithclass
+| 371 = @iscorrespondingmember
+| 372 = @builtiniscorrespondingmember
+| 373 = @isboundedarray
+| 374 = @isunboundedarray
+| 375 = @isreferenceable
+| 378 = @isnothrowconvertible
+| 379 = @referenceconstructsfromtemporary
+| 380 = @referenceconvertsfromtemporary
+| 381 = @isconvertible
+| 382 = @isvalidwinrttype
+| 383 = @iswinclass
+| 384 = @iswininterface
+| 385 = @istriviallyequalitycomparable
+| 386 = @isscopedenum
+| 387 = @istriviallyrelocatable
+| 388 = @datasizeof
+| 389 = @c11_generic
+| 390 = @requires_expr
+| 391 = @nested_requirement
+| 392 = @compound_requirement
+| 393 = @concept_id
+;
+
+@var_args_expr = @vastartexpr
+               | @vaendexpr
+               | @vaargexpr
+               | @vacopyexpr
+               ;
+
+@builtin_op = @var_args_expr
+            | @noopexpr
+            | @offsetofexpr
+            | @intaddrexpr
+            | @hasassignexpr
+            | @hascopyexpr
+            | @hasnothrowassign
+            | @hasnothrowconstr
+            | @hasnothrowcopy
+            | @hastrivialassign
+            | @hastrivialconstr
+            | @hastrivialcopy
+            | @hastrivialdestructor
+            | @hasuserdestr
+            | @hasvirtualdestr
+            | @isabstractexpr
+            | @isbaseofexpr
+            | @isclassexpr
+            | @isconvtoexpr
+            | @isemptyexpr
+            | @isenumexpr
+            | @ispodexpr
+            | @ispolyexpr
+            | @isunionexpr
+            | @typescompexpr
+            | @builtinshufflevector
+            | @builtinconvertvector
+            | @builtinaddressof
+            | @istriviallyconstructibleexpr
+            | @isdestructibleexpr
+            | @isnothrowdestructibleexpr
+            | @istriviallydestructibleexpr
+            | @istriviallyassignableexpr
+            | @isnothrowassignableexpr
+            | @istrivialexpr
+            | @isstandardlayoutexpr
+            | @istriviallycopyableexpr
+            | @isliteraltypeexpr
+            | @hastrivialmoveconstructorexpr
+            | @hastrivialmoveassignexpr
+            | @hasnothrowmoveassignexpr
+            | @isconstructibleexpr
+            | @isnothrowconstructibleexpr
+            | @hasfinalizerexpr
+            | @isdelegateexpr
+            | @isinterfaceclassexpr
+            | @isrefarrayexpr
+            | @isrefclassexpr
+            | @issealedexpr
+            | @issimplevalueclassexpr
+            | @isvalueclassexpr
+            | @isfinalexpr
+            | @builtinchooseexpr
+            | @builtincomplex
+            | @isassignable
+            | @isaggregate
+            | @hasuniqueobjectrepresentations
+            | @builtinbitcast
+            | @builtinshuffle
+            | @issame
+            | @isfunction
+            | @islayoutcompatible
+            | @ispointerinterconvertiblebaseof
+            | @isarray
+            | @arrayrank
+            | @arrayextent
+            | @isarithmetic
+            | @iscompletetype
+            | @iscompound
+            | @isconst
+            | @isfloatingpoint
+            | @isfundamental
+            | @isintegral
+            | @islvaluereference
+            | @ismemberfunctionpointer
+            | @ismemberobjectpointer
+            | @ismemberpointer
+            | @isobject
+            | @ispointer
+            | @isreference
+            | @isrvaluereference
+            | @isscalar
+            | @issigned
+            | @isunsigned
+            | @isvoid
+            | @isvolatile
+            | @istriviallycopyassignable
+            | @isassignablenopreconditioncheck
+            | @referencebindstotemporary
+            | @issameas
+            | @builtinhasattribute
+            | @ispointerinterconvertiblewithclass
+            | @builtinispointerinterconvertiblewithclass
+            | @iscorrespondingmember
+            | @builtiniscorrespondingmember
+            | @isboundedarray
+            | @isunboundedarray
+            | @isreferenceable
+            | @isnothrowconvertible
+            | @referenceconstructsfromtemporary
+            | @referenceconvertsfromtemporary
+            | @isconvertible
+            | @isvalidwinrttype
+            | @iswinclass
+            | @iswininterface
+            | @istriviallyequalitycomparable
+            | @isscopedenum
+            | @istriviallyrelocatable
+            ;
+
+compound_requirement_is_noexcept(
+    int expr: @compound_requirement ref
+);
+
+new_allocated_type(
+    unique int expr: @new_expr ref,
+    int type_id: @type ref
+);
+
+new_array_allocated_type(
+    unique int expr: @new_array_expr ref,
+    int type_id: @type ref
+);
+
+/**
+ * The field being initialized by an initializer expression within an aggregate
+ * initializer for a class/struct/union. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_field_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int field: @membervariable ref,
+    int position: int ref
+);
+
+/**
+ * The index of the element being initialized by an initializer expression
+ * within an aggregate initializer for an array. Position is used to sort repeated initializers.
+ */
+#keyset[aggregate, position]
+aggregate_array_init(
+    int aggregate: @aggregateliteral ref,
+    int initializer: @expr ref,
+    int element_index: int ref,
+    int position: int ref
+);
+
+@ctorinit = @ctordirectinit
+          | @ctorvirtualinit
+          | @ctorfieldinit
+          | @ctordelegatinginit;
+@dtordestruct = @dtordirectdestruct
+              | @dtorvirtualdestruct
+              | @dtorfielddestruct;
+
+
+condition_decl_bind(
+    unique int expr: @condition_decl ref,
+    unique int decl: @declaration ref
+);
+
+typeid_bind(
+    unique int expr: @type_id ref,
+    int type_id: @type ref
+);
+
+uuidof_bind(
+    unique int expr: @uuidof ref,
+    int type_id: @type ref
+);
+
+@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof;
+
+sizeof_bind(
+    unique int expr: @runtime_sizeof_or_alignof ref,
+    int type_id: @type ref
+);
+
+code_block(
+    unique int block: @literal ref,
+    unique int routine: @function ref
+);
+
+lambdas(
+    unique int expr: @lambdaexpr ref,
+    string default_capture: string ref,
+    boolean has_explicit_return_type: boolean ref
+);
+
+lambda_capture(
+    unique int id: @lambdacapture,
+    int lambda: @lambdaexpr ref,
+    int index: int ref,
+    int field: @membervariable ref,
+    boolean captured_by_reference: boolean ref,
+    boolean is_implicit: boolean ref,
+    int location: @location_default ref
+);
+
+@funbindexpr = @routineexpr
+             | @new_expr
+             | @delete_expr
+             | @delete_array_expr
+             | @ctordirectinit
+             | @ctorvirtualinit
+             | @ctordelegatinginit
+             | @dtordirectdestruct
+             | @dtorvirtualdestruct;
+
+@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct;
+@addressable = @function | @variable ;
+@accessible = @addressable | @enumconstant ;
+
+@access = @varaccess | @routineexpr ;
+
+fold(
+    int expr: @foldexpr ref,
+    string operator: string ref,
+    boolean is_left_fold: boolean ref
+);
+
+stmts(
+    unique int id: @stmt,
+    int kind: int ref,
+    int location: @location_stmt ref
+);
+
+case @stmt.kind of
+    1 = @stmt_expr
+|   2 = @stmt_if
+|   3 = @stmt_while
+|   4 = @stmt_goto
+|   5 = @stmt_label
+|   6 = @stmt_return
+|   7 = @stmt_block
+|   8 = @stmt_end_test_while // do { ... } while ( ... )
+|   9 = @stmt_for
+|  10 = @stmt_switch_case
+|  11 = @stmt_switch
+|  13 = @stmt_asm // "asm" statement or the body of an asm function
+|  15 = @stmt_try_block
+|  16 = @stmt_microsoft_try // Microsoft
+|  17 = @stmt_decl
+|  18 = @stmt_set_vla_size // C99
+|  19 = @stmt_vla_decl // C99
+|  25 = @stmt_assigned_goto // GNU
+|  26 = @stmt_empty
+|  27 = @stmt_continue
+|  28 = @stmt_break
+|  29 = @stmt_range_based_for // C++11
+// ...  30 @stmt_at_autoreleasepool_block deprecated
+// ...  31 @stmt_objc_for_in deprecated
+// ...  32 @stmt_at_synchronized deprecated
+|  33 = @stmt_handler
+// ...  34 @stmt_finally_end deprecated
+|  35 = @stmt_constexpr_if
+|  37 = @stmt_co_return
+;
+
+type_vla(
+    int type_id: @type ref,
+    int decl: @stmt_vla_decl ref
+);
+
+variable_vla(
+    int var: @variable ref,
+    int decl: @stmt_vla_decl ref
+);
+
+if_initialization(
+    unique int if_stmt: @stmt_if ref,
+    int init_id: @stmt ref
+);
+
+if_then(
+    unique int if_stmt: @stmt_if ref,
+    int then_id: @stmt ref
+);
+
+if_else(
+    unique int if_stmt: @stmt_if ref,
+    int else_id: @stmt ref
+);
+
+constexpr_if_initialization(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int init_id: @stmt ref
+);
+
+constexpr_if_then(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int then_id: @stmt ref
+);
+
+constexpr_if_else(
+    unique int constexpr_if_stmt: @stmt_constexpr_if ref,
+    int else_id: @stmt ref
+);
+
+while_body(
+    unique int while_stmt: @stmt_while ref,
+    int body_id: @stmt ref
+);
+
+do_body(
+    unique int do_stmt: @stmt_end_test_while ref,
+    int body_id: @stmt ref
+);
+
+switch_initialization(
+    unique int switch_stmt: @stmt_switch ref,
+    int init_id: @stmt ref
+);
+
+#keyset[switch_stmt, index]
+switch_case(
+    int switch_stmt: @stmt_switch ref,
+    int index: int ref,
+    int case_id: @stmt_switch_case ref
+);
+
+switch_body(
+    unique int switch_stmt: @stmt_switch ref,
+    int body_id: @stmt ref
+);
+
+@stmt_for_or_range_based_for = @stmt_for
+                             | @stmt_range_based_for;
+
+for_initialization(
+    unique int for_stmt: @stmt_for_or_range_based_for ref,
+    int init_id: @stmt ref
+);
+
+for_condition(
+    unique int for_stmt: @stmt_for ref,
+    int condition_id: @expr ref
+);
+
+for_update(
+    unique int for_stmt: @stmt_for ref,
+    int update_id: @expr ref
+);
+
+for_body(
+    unique int for_stmt: @stmt_for ref,
+    int body_id: @stmt ref
+);
+
+@stmtparent = @stmt | @expr_stmt ;
+stmtparents(
+    unique int id: @stmt ref,
+    int index: int ref,
+    int parent: @stmtparent ref
+);
+
+ishandler(unique int block: @stmt_block ref);
+
+@cfgnode = @stmt | @expr | @function | @initialiser ;
+
+stmt_decl_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl: @declaration ref
+);
+
+stmt_decl_entry_bind(
+    int stmt: @stmt_decl ref,
+    int num: int ref,
+    int decl_entry: @element ref
+);
+
+@parameterized_element = @function | @stmt_block | @requires_expr;
+
+blockscope(
+    unique int block: @stmt_block ref,
+    int enclosing: @parameterized_element ref
+);
+
+@jump = @stmt_goto | @stmt_break | @stmt_continue;
+
+@jumporlabel = @jump | @stmt_label | @literal;
+
+jumpinfo(
+    unique int id: @jumporlabel ref,
+    string str: string ref,
+    int target: @stmt ref
+);
+
+preprocdirects(
+    unique int id: @preprocdirect,
+    int kind: int ref,
+    int location: @location_default ref
+);
+case @preprocdirect.kind of
+   0 = @ppd_if
+|  1 = @ppd_ifdef
+|  2 = @ppd_ifndef
+|  3 = @ppd_elif
+|  4 = @ppd_else
+|  5 = @ppd_endif
+|  6 = @ppd_plain_include
+|  7 = @ppd_define
+|  8 = @ppd_undef
+|  9 = @ppd_line
+| 10 = @ppd_error
+| 11 = @ppd_pragma
+| 12 = @ppd_objc_import
+| 13 = @ppd_include_next
+| 18 = @ppd_warning
+;
+
+@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next;
+
+@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif;
+
+preprocpair(
+    int begin : @ppd_branch ref,
+    int elseelifend : @preprocdirect ref
+);
+
+preproctrue(int branch : @ppd_branch ref);
+preprocfalse(int branch : @ppd_branch ref);
+
+preproctext(
+    unique int id: @preprocdirect ref,
+    string head: string ref,
+    string body: string ref
+);
+
+includes(
+    unique int id: @ppd_include ref,
+    int included: @file ref
+);
+
+link_targets(
+    int id: @link_target,
+    int binary: @file ref
+);
+
+link_parent(
+    int element : @element ref,
+    int link_target : @link_target ref
+);
+
+/* XML Files */
+
+xmlEncoding(unique int id: @file ref, string encoding: string ref);
+
+xmlDTDs(
+    unique int id: @xmldtd,
+    string root: string ref,
+    string publicId: string ref,
+    string systemId: string ref,
+    int fileid: @file ref
+);
+
+xmlElements(
+    unique int id: @xmlelement,
+    string name: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlAttrs(
+    unique int id: @xmlattribute,
+    int elementid: @xmlelement ref,
+    string name: string ref,
+    string value: string ref,
+    int idx: int ref,
+    int fileid: @file ref
+);
+
+xmlNs(
+    int id: @xmlnamespace,
+    string prefixName: string ref,
+    string URI: string ref,
+    int fileid: @file ref
+);
+
+xmlHasNs(
+    int elementId: @xmlnamespaceable ref,
+    int nsId: @xmlnamespace ref,
+    int fileid: @file ref
+);
+
+xmlComments(
+    unique int id: @xmlcomment,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int fileid: @file ref
+);
+
+xmlChars(
+    unique int id: @xmlcharacters,
+    string text: string ref,
+    int parentid: @xmlparent ref,
+    int idx: int ref,
+    int isCDATA: int ref,
+    int fileid: @file ref
+);
+
+@xmlparent = @file | @xmlelement;
+@xmlnamespaceable = @xmlelement | @xmlattribute;
+
+xmllocations(
+    int xmlElement: @xmllocatable ref,
+    int location: @location_default ref
+);
+
+@xmllocatable = @xmlcharacters
+              | @xmlelement
+              | @xmlcomment
+              | @xmlattribute
+              | @xmldtd
+              | @file
+              | @xmlnamespace;
diff --git a/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/upgrade.properties b/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/upgrade.properties
new file mode 100644
index 000000000000..08e1dc42eb29
--- /dev/null
+++ b/cpp/ql/lib/upgrades/e51fad7a2436caefab0c6bd52f05e28e7cce4d92/upgrade.properties
@@ -0,0 +1,2 @@
+description: Implement compilation_build_mode/2
+compatibility: backwards

From 8050b8246b8e2b0a95ba60c390001e278fa57c05 Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Tue, 19 Nov 2024 13:57:03 +0000
Subject: [PATCH 5/8] C++: Update stats

---
 cpp/ql/lib/semmlecode.cpp.dbscheme.stats | 1088 ++++++++++------------
 1 file changed, 470 insertions(+), 618 deletions(-)

diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats
index 7f0d99272e7e..f37e932ca54f 100644
--- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats
+++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats
@@ -42,7 +42,7 @@
         </e>
         <e>
             <k>@macro_expansion</k>
-            <v>33257760</v>
+            <v>33257556</v>
         </e>
         <e>
             <k>@other_macro_reference</k>
@@ -78,7 +78,7 @@
         </e>
         <e>
             <k>@using_enum_declaration</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@static_assert</k>
@@ -98,7 +98,7 @@
         </e>
         <e>
             <k>@localvariable</k>
-            <v>576945</v>
+            <v>576944</v>
         </e>
         <e>
             <k>@enumconstant</k>
@@ -362,7 +362,7 @@
         </e>
         <e>
             <k>@block</k>
-            <v>10</v>
+            <v>0</v>
         </e>
         <e>
             <k>@decltype</k>
@@ -406,7 +406,7 @@
         </e>
         <e>
             <k>@msattribute</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@alignas</k>
@@ -422,11 +422,11 @@
         </e>
         <e>
             <k>@attribute_arg_empty</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@attribute_arg_constant</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@attribute_arg_type</k>
@@ -434,7 +434,7 @@
         </e>
         <e>
             <k>@attribute_arg_expr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@derivation</k>
@@ -482,7 +482,7 @@
         </e>
         <e>
             <k>@parexpr</k>
-            <v>3587463</v>
+            <v>3587464</v>
         </e>
         <e>
             <k>@arithnegexpr</k>
@@ -766,39 +766,39 @@
         </e>
         <e>
             <k>@jmulexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@jdivexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@fjaddexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@jfaddexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@fjsubexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@jfsubexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@minexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@maxexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@virtfunptrexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@thisaccess</k>
@@ -834,43 +834,43 @@
         </e>
         <e>
             <k>@hasassignexpr</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hascopyexpr</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasnothrowassign</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasnothrowconstr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasnothrowcopy</k>
-            <v>5</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hastrivialassign</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hastrivialconstr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hastrivialcopy</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasuserdestr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasvirtualdestr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isabstractexpr</k>
@@ -902,15 +902,15 @@
         </e>
         <e>
             <k>@ispolyexpr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isunionexpr</k>
-            <v>5</v>
+            <v>0</v>
         </e>
         <e>
             <k>@intaddrexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hastrivialdestructor</k>
@@ -930,7 +930,7 @@
         </e>
         <e>
             <k>@foldexpr</k>
-            <v>4</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ctordirectinit</k>
@@ -962,7 +962,7 @@
         </e>
         <e>
             <k>@static_cast</k>
-            <v>215648</v>
+            <v>215647</v>
         </e>
         <e>
             <k>@reinterpret_cast</k>
@@ -994,11 +994,11 @@
         </e>
         <e>
             <k>@isdestructibleexpr</k>
-            <v>4</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isnothrowdestructibleexpr</k>
-            <v>5</v>
+            <v>0</v>
         </e>
         <e>
             <k>@istriviallydestructibleexpr</k>
@@ -1006,7 +1006,7 @@
         </e>
         <e>
             <k>@istriviallyassignableexpr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isnothrowassignableexpr</k>
@@ -1018,7 +1018,7 @@
         </e>
         <e>
             <k>@isstandardlayoutexpr</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@istriviallycopyableexpr</k>
@@ -1026,19 +1026,19 @@
         </e>
         <e>
             <k>@isliteraltypeexpr</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hastrivialmoveconstructorexpr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hastrivialmoveassignexpr</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasnothrowmoveassignexpr</k>
-            <v>4</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isconstructibleexpr</k>
@@ -1050,35 +1050,35 @@
         </e>
         <e>
             <k>@hasfinalizerexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isdelegateexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isinterfaceclassexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isrefarrayexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isrefclassexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@issealedexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@issimplevalueclassexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isvalueclassexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isfinalexpr</k>
@@ -1090,7 +1090,7 @@
         </e>
         <e>
             <k>@builtinshufflevector</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtinchooseexpr</k>
@@ -1102,43 +1102,43 @@
         </e>
         <e>
             <k>@vec_fill</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtinconvertvector</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtincomplex</k>
-            <v>4</v>
+            <v>0</v>
         </e>
         <e>
             <k>@spaceshipexpr</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@co_await</k>
-            <v>12</v>
+            <v>0</v>
         </e>
         <e>
             <k>@co_yield</k>
-            <v>4</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isassignable</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isaggregate</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@hasuniqueobjectrepresentations</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtinbitcast</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtinshuffle</k>
@@ -1150,111 +1150,111 @@
         </e>
         <e>
             <k>@issame</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isfunction</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@islayoutcompatible</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ispointerinterconvertiblebaseof</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isarray</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@arrayrank</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@arrayextent</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isarithmetic</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@iscompletetype</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@iscompound</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isconst</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isfloatingpoint</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isfundamental</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isintegral</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@islvaluereference</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ismemberfunctionpointer</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ismemberobjectpointer</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ismemberpointer</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isobject</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ispointer</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isreference</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isrvaluereference</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isscalar</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@issigned</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isunsigned</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isvoid</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isvolatile</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@reuseexpr</k>
@@ -1262,115 +1262,115 @@
         </e>
         <e>
             <k>@istriviallycopyassignable</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isassignablenopreconditioncheck</k>
-            <v>3</v>
+            <v>0</v>
         </e>
         <e>
             <k>@referencebindstotemporary</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@issameas</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtinhasattribute</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ispointerinterconvertiblewithclass</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtinispointerinterconvertiblewithclass</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@iscorrespondingmember</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@builtiniscorrespondingmember</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isboundedarray</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isunboundedarray</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isreferenceable</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isnothrowconvertible</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@referenceconstructsfromtemporary</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@referenceconvertsfromtemporary</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isconvertible</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isvalidwinrttype</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@iswinclass</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@iswininterface</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@istriviallyequalitycomparable</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@isscopedenum</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@istriviallyrelocatable</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@datasizeof</k>
-            <v>10</v>
+            <v>0</v>
         </e>
         <e>
             <k>@c11_generic</k>
-            <v>8</v>
+            <v>0</v>
         </e>
         <e>
             <k>@requires_expr</k>
-            <v>8</v>
+            <v>0</v>
         </e>
         <e>
             <k>@nested_requirement</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@compound_requirement</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@concept_id</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@lambdacapture</k>
@@ -1426,7 +1426,7 @@
         </e>
         <e>
             <k>@stmt_decl</k>
-            <v>593121</v>
+            <v>593118</v>
         </e>
         <e>
             <k>@stmt_empty</k>
@@ -1474,7 +1474,7 @@
         </e>
         <e>
             <k>@stmt_co_return</k>
-            <v>5</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ppd_if</k>
@@ -1530,11 +1530,11 @@
         </e>
         <e>
             <k>@ppd_objc_import</k>
-            <v>2</v>
+            <v>0</v>
         </e>
         <e>
             <k>@ppd_warning</k>
-            <v>1</v>
+            <v>0</v>
         </e>
         <e>
             <k>@link_target</k>
@@ -1900,6 +1900,48 @@
                 </dep>
             </dependencies>
         </relation>
+        <relation>
+            <name>compilation_build_mode</name>
+            <cardinality>0</cardinality>
+            <columnsizes>
+                <e>
+                    <k>id</k>
+                    <v>0</v>
+                </e>
+                <e>
+                    <k>mode</k>
+                    <v>0</v>
+                </e>
+            </columnsizes>
+            <dependencies>
+                <dep>
+                    <src>id</src>
+                    <trg>mode</trg>
+                    <val>
+                        <hist>
+                            <budget>12</budget>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>17</v>
+                                </b>
+                            </bs>
+                        </hist>
+                    </val>
+                </dep>
+                <dep>
+                    <src>mode</src>
+                    <trg>id</trg>
+                    <val>
+                        <hist>
+                            <budget>12</budget>
+                            <bs/>
+                        </hist>
+                    </val>
+                </dep>
+            </dependencies>
+        </relation>
         <relation>
             <name>compilation_compiling_files</name>
             <cardinality>11546</cardinality>
@@ -2164,7 +2206,7 @@
                 </e>
                 <e>
                     <k>seconds</k>
-                    <v>8429</v>
+                    <v>9468</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -2242,18 +2284,23 @@
                         <hist>
                             <budget>12</budget>
                             <bs>
+                                <b>
+                                    <a>2</a>
+                                    <b>3</b>
+                                    <v>39</v>
+                                </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>639</v>
+                                    <v>479</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>359</v>
+                                    <v>479</v>
                                 </b>
                                 <b>
-                                    <a>6</a>
+                                    <a>5</a>
                                     <b>7</b>
                                     <v>119</v>
                                 </b>
@@ -2265,27 +2312,27 @@
                                 <b>
                                     <a>10</a>
                                     <b>11</b>
-                                    <v>119</v>
+                                    <v>159</v>
                                 </b>
                                 <b>
                                     <a>11</a>
-                                    <b>15</b>
+                                    <b>17</b>
                                     <v>159</v>
                                 </b>
                                 <b>
-                                    <a>16</a>
+                                    <a>17</a>
                                     <b>19</b>
                                     <v>159</v>
                                 </b>
                                 <b>
                                     <a>19</a>
-                                    <b>24</b>
+                                    <b>44</b>
                                     <v>159</v>
                                 </b>
                                 <b>
-                                    <a>40</a>
-                                    <b>89</b>
-                                    <v>119</v>
+                                    <a>54</a>
+                                    <b>100</b>
+                                    <v>79</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2353,42 +2400,42 @@
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1438</v>
+                                    <v>1398</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>319</v>
+                                    <v>359</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>199</v>
+                                    <v>159</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>439</v>
+                                    <v>519</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>8</b>
-                                    <v>159</v>
+                                    <v>79</v>
                                 </b>
                                 <b>
                                     <a>8</a>
-                                    <b>10</b>
-                                    <v>279</v>
+                                    <b>9</b>
+                                    <v>239</v>
                                 </b>
                                 <b>
-                                    <a>10</a>
-                                    <b>26</b>
+                                    <a>9</a>
+                                    <b>21</b>
                                     <v>279</v>
                                 </b>
                                 <b>
-                                    <a>28</a>
-                                    <b>81</b>
-                                    <v>199</v>
+                                    <a>24</a>
+                                    <b>86</b>
+                                    <v>279</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2439,13 +2486,13 @@
                                     <v>79</v>
                                 </b>
                                 <b>
-                                    <a>125</a>
-                                    <b>126</b>
+                                    <a>141</a>
+                                    <b>142</b>
                                     <v>39</v>
                                 </b>
                                 <b>
-                                    <a>128</a>
-                                    <b>129</b>
+                                    <a>145</a>
+                                    <b>146</b>
                                     <v>39</v>
                                 </b>
                             </bs>
@@ -2462,27 +2509,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3635</v>
+                                    <v>4234</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1917</v>
+                                    <v>2357</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1558</v>
+                                    <v>1797</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>719</v>
+                                    <v>838</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>48</b>
-                                    <v>599</v>
+                                    <v>239</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2498,37 +2545,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3595</v>
+                                    <v>4274</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1438</v>
+                                    <v>1757</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1358</v>
+                                    <v>1158</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>639</v>
+                                    <v>1158</v>
                                 </b>
                                 <b>
                                     <a>5</a>
-                                    <b>6</b>
-                                    <v>479</v>
-                                </b>
-                                <b>
-                                    <a>6</a>
-                                    <b>8</b>
-                                    <v>679</v>
+                                    <b>7</b>
+                                    <v>799</v>
                                 </b>
                                 <b>
-                                    <a>8</a>
-                                    <b>73</b>
-                                    <v>239</v>
+                                    <a>7</a>
+                                    <b>74</b>
+                                    <v>319</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2544,12 +2586,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6512</v>
+                                    <v>7271</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1917</v>
+                                    <v>2197</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2893,7 +2935,7 @@
                 </e>
                 <e>
                     <k>cpu_seconds</k>
-                    <v>7507</v>
+                    <v>7382</v>
                 </e>
                 <e>
                     <k>elapsed_seconds</k>
@@ -2943,16 +2985,16 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6242</v>
+                                    <v>5881</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>835</v>
+                                    <v>1072</v>
                                 </b>
                                 <b>
                                     <a>3</a>
-                                    <b>15</b>
+                                    <b>12</b>
                                     <v>428</v>
                                 </b>
                             </bs>
@@ -2969,12 +3011,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6976</v>
+                                    <v>6694</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>530</v>
+                                    <v>688</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2987,24 +3029,14 @@
                         <hist>
                             <budget>12</budget>
                             <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>11</v>
-                                </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>11</v>
-                                </b>
-                                <b>
-                                    <a>3</a>
-                                    <b>4</b>
-                                    <v>11</v>
+                                    <v>33</v>
                                 </b>
                                 <b>
-                                    <a>6</a>
-                                    <b>7</b>
+                                    <a>7</a>
+                                    <b>8</b>
                                     <v>11</v>
                                 </b>
                                 <b>
@@ -3013,8 +3045,8 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>11</a>
-                                    <b>12</b>
+                                    <a>10</a>
+                                    <b>11</b>
                                     <v>11</v>
                                 </b>
                                 <b>
@@ -3023,28 +3055,28 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>49</a>
-                                    <b>50</b>
+                                    <a>50</a>
+                                    <b>51</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>154</a>
-                                    <b>155</b>
+                                    <a>163</a>
+                                    <b>164</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>160</a>
-                                    <b>161</b>
+                                    <a>165</a>
+                                    <b>166</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>204</a>
-                                    <b>205</b>
+                                    <a>194</a>
+                                    <b>195</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>248</a>
-                                    <b>249</b>
+                                    <a>243</a>
+                                    <b>244</b>
                                     <v>11</v>
                                 </b>
                             </bs>
@@ -3058,24 +3090,14 @@
                         <hist>
                             <budget>12</budget>
                             <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>11</v>
-                                </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>11</v>
-                                </b>
-                                <b>
-                                    <a>3</a>
-                                    <b>4</b>
-                                    <v>11</v>
+                                    <v>33</v>
                                 </b>
                                 <b>
-                                    <a>6</a>
-                                    <b>7</b>
+                                    <a>7</a>
+                                    <b>8</b>
                                     <v>11</v>
                                 </b>
                                 <b>
@@ -3084,8 +3106,8 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>11</a>
-                                    <b>12</b>
+                                    <a>10</a>
+                                    <b>11</b>
                                     <v>11</v>
                                 </b>
                                 <b>
@@ -3094,28 +3116,28 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>47</a>
-                                    <b>48</b>
+                                    <a>48</a>
+                                    <b>49</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>118</a>
-                                    <b>119</b>
+                                    <a>120</a>
+                                    <b>121</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>128</a>
-                                    <b>129</b>
+                                    <a>137</a>
+                                    <b>138</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>149</a>
-                                    <b>150</b>
+                                    <a>146</a>
+                                    <b>147</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>222</a>
-                                    <b>223</b>
+                                    <a>216</a>
+                                    <b>217</b>
                                     <v>11</v>
                                 </b>
                             </bs>
@@ -11816,7 +11838,7 @@
         </relation>
         <relation>
             <name>fileannotations</name>
-            <cardinality>5129436</cardinality>
+            <cardinality>5129404</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
@@ -12392,15 +12414,15 @@
         </relation>
         <relation>
             <name>inmacroexpansion</name>
-            <cardinality>109779080</cardinality>
+            <cardinality>109779103</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>18027694</v>
+                    <v>18027697</v>
                 </e>
                 <e>
                     <k>inv</k>
-                    <v>2700160</v>
+                    <v>2700159</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -12414,12 +12436,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>3</b>
-                                    <v>1582361</v>
+                                    <v>1582360</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>1077793</v>
+                                    <v>1077794</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -12429,17 +12451,17 @@
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>4819903</v>
+                                    <v>4819904</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>8</b>
-                                    <v>6385932</v>
+                                    <v>6385934</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>9</b>
-                                    <v>2605242</v>
+                                    <v>2605243</v>
                                 </b>
                                 <b>
                                     <a>9</a>
@@ -12460,12 +12482,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>378424</v>
+                                    <v>378422</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>544104</v>
+                                    <v>544105</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -12500,7 +12522,7 @@
                                 <b>
                                     <a>11</a>
                                     <b>337</b>
-                                    <v>224847</v>
+                                    <v>224845</v>
                                 </b>
                                 <b>
                                     <a>339</a>
@@ -12520,15 +12542,15 @@
         </relation>
         <relation>
             <name>affectedbymacroexpansion</name>
-            <cardinality>35689251</cardinality>
+            <cardinality>35689257</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>5156949</v>
+                    <v>5156948</v>
                 </e>
                 <e>
                     <k>inv</k>
-                    <v>2784762</v>
+                    <v>2784761</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -12542,7 +12564,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2816079</v>
+                                    <v>2816078</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12588,7 +12610,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>4</b>
-                                    <v>229116</v>
+                                    <v>229115</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -12603,12 +12625,12 @@
                                 <b>
                                     <a>9</a>
                                     <b>12</b>
-                                    <v>251119</v>
+                                    <v>251120</v>
                                 </b>
                                 <b>
                                     <a>12</a>
                                     <b>13</b>
-                                    <v>333984</v>
+                                    <v>333985</v>
                                 </b>
                                 <b>
                                     <a>13</a>
@@ -12628,7 +12650,7 @@
                                 <b>
                                     <a>16</a>
                                     <b>17</b>
-                                    <v>276608</v>
+                                    <v>276609</v>
                                 </b>
                                 <b>
                                     <a>17</a>
@@ -12658,19 +12680,19 @@
         </relation>
         <relation>
             <name>macroinvocations</name>
-            <cardinality>33491008</cardinality>
+            <cardinality>33490802</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>33491008</v>
+                    <v>33490802</v>
                 </e>
                 <e>
                     <k>macro_id</k>
-                    <v>79484</v>
+                    <v>79483</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>760387</v>
+                    <v>760382</v>
                 </e>
                 <e>
                     <k>kind</k>
@@ -12688,7 +12710,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>33491008</v>
+                                    <v>33490802</v>
                                 </b>
                             </bs>
                         </hist>
@@ -12704,7 +12726,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>33491008</v>
+                                    <v>33490802</v>
                                 </b>
                             </bs>
                         </hist>
@@ -12720,7 +12742,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>33491008</v>
+                                    <v>33490802</v>
                                 </b>
                             </bs>
                         </hist>
@@ -12802,7 +12824,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>42468</v>
+                                    <v>42467</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12848,7 +12870,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>73749</v>
+                                    <v>73748</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12869,22 +12891,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>281225</v>
+                                    <v>281223</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>169658</v>
+                                    <v>169657</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>70735</v>
+                                    <v>70734</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>60327</v>
+                                    <v>60326</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -12920,7 +12942,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>714216</v>
+                                    <v>714211</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12941,7 +12963,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>760387</v>
+                                    <v>760382</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13014,15 +13036,15 @@
         </relation>
         <relation>
             <name>macroparent</name>
-            <cardinality>29950722</cardinality>
+            <cardinality>29950538</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>29950722</v>
+                    <v>29950538</v>
                 </e>
                 <e>
                     <k>parent_id</k>
-                    <v>23286998</v>
+                    <v>23286856</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13036,7 +13058,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29950722</v>
+                                    <v>29950538</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13052,17 +13074,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17992792</v>
+                                    <v>17992681</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>4459550</v>
+                                    <v>4459523</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>88</b>
-                                    <v>834655</v>
+                                    <v>834650</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13150,11 +13172,11 @@
         </relation>
         <relation>
             <name>macro_argument_unexpanded</name>
-            <cardinality>84549437</cardinality>
+            <cardinality>84548918</cardinality>
             <columnsizes>
                 <e>
                     <k>invocation</k>
-                    <v>26214757</v>
+                    <v>26214596</v>
                 </e>
                 <e>
                     <k>argument_index</k>
@@ -13162,7 +13184,7 @@
                 </e>
                 <e>
                     <k>text</k>
-                    <v>318308</v>
+                    <v>318306</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13176,22 +13198,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7432464</v>
+                                    <v>7432418</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10674027</v>
+                                    <v>10673962</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>6139327</v>
+                                    <v>6139289</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>67</b>
-                                    <v>1968937</v>
+                                    <v>1968925</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13207,22 +13229,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7502624</v>
+                                    <v>7502578</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10820578</v>
+                                    <v>10820511</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>5972999</v>
+                                    <v>5972962</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>67</b>
-                                    <v>1918556</v>
+                                    <v>1918544</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13290,12 +13312,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>35074</v>
+                                    <v>35073</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>61264</v>
+                                    <v>61263</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -13305,12 +13327,12 @@
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>45087</v>
+                                    <v>45086</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>7</b>
-                                    <v>23932</v>
+                                    <v>23931</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -13356,7 +13378,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>230200</v>
+                                    <v>230198</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -13366,7 +13388,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>9</b>
-                                    <v>10284</v>
+                                    <v>10283</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13376,11 +13398,11 @@
         </relation>
         <relation>
             <name>macro_argument_expanded</name>
-            <cardinality>84549437</cardinality>
+            <cardinality>84548918</cardinality>
             <columnsizes>
                 <e>
                     <k>invocation</k>
-                    <v>26214757</v>
+                    <v>26214596</v>
                 </e>
                 <e>
                     <k>argument_index</k>
@@ -13388,7 +13410,7 @@
                 </e>
                 <e>
                     <k>text</k>
-                    <v>192902</v>
+                    <v>192900</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13402,22 +13424,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7432464</v>
+                                    <v>7432418</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10674027</v>
+                                    <v>10673962</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>6139327</v>
+                                    <v>6139289</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>67</b>
-                                    <v>1968937</v>
+                                    <v>1968925</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13433,22 +13455,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>10688793</v>
+                                    <v>10688727</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>9201862</v>
+                                    <v>9201805</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>5208277</v>
+                                    <v>5208245</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>9</b>
-                                    <v>1115824</v>
+                                    <v>1115817</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13587,7 +13609,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>97625</v>
+                                    <v>97624</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -13919,15 +13941,15 @@
         </relation>
         <relation>
             <name>coroutine</name>
-            <cardinality>6</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>function</k>
-                    <v>6</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>traits</k>
-                    <v>3</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13941,7 +13963,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13953,23 +13975,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>1</v>
-                                </b>
-                                <b>
-                                    <a>2</a>
-                                    <b>3</b>
-                                    <v>1</v>
-                                </b>
-                                <b>
-                                    <a>3</a>
-                                    <b>4</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -13977,19 +13983,19 @@
         </relation>
         <relation>
             <name>coroutine_placeholder_variable</name>
-            <cardinality>18</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>placeholder_variable</k>
-                    <v>18</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>3</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>function</k>
-                    <v>6</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14003,7 +14009,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>18</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14019,7 +14025,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>18</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14031,13 +14037,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>6</a>
-                                    <b>7</b>
-                                    <v>3</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -14047,13 +14047,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>6</a>
-                                    <b>7</b>
-                                    <v>3</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -14063,13 +14057,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>3</a>
-                                    <b>4</b>
-                                    <v>6</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -14079,13 +14067,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>3</a>
-                                    <b>4</b>
-                                    <v>6</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -14093,15 +14075,15 @@
         </relation>
         <relation>
             <name>coroutine_new</name>
-            <cardinality>6</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>function</k>
-                    <v>6</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>new</k>
-                    <v>1</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14115,7 +14097,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14127,13 +14109,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>6</a>
-                                    <b>7</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -14141,15 +14117,15 @@
         </relation>
         <relation>
             <name>coroutine_delete</name>
-            <cardinality>6</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>function</k>
-                    <v>6</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>delete</k>
-                    <v>1</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14163,7 +14139,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14175,13 +14151,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>6</a>
-                                    <b>7</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -15023,19 +14993,19 @@
         </relation>
         <relation>
             <name>fun_decl_throws</name>
-            <cardinality>7</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>fun_decl</k>
-                    <v>7</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>1</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>2</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -15045,13 +15015,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>7</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -15061,13 +15025,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>7</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -15077,13 +15035,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>7</a>
-                                    <b>8</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -15093,13 +15045,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>2</a>
-                                    <b>3</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -15109,18 +15055,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>1</v>
-                                </b>
-                                <b>
-                                    <a>6</a>
-                                    <b>7</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -15130,13 +15065,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>2</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -16260,11 +16189,11 @@
         </relation>
         <relation>
             <name>is_structured_binding</name>
-            <cardinality>18</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>18</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -17076,7 +17005,7 @@
         </relation>
         <relation>
             <name>using_container</name>
-            <cardinality>466800</cardinality>
+            <cardinality>466798</cardinality>
             <columnsizes>
                 <e>
                     <k>parent</k>
@@ -17084,7 +17013,7 @@
                 </e>
                 <e>
                     <k>child</k>
-                    <v>295990</v>
+                    <v>295989</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -17154,12 +17083,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>218313</v>
+                                    <v>218311</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>51725</v>
+                                    <v>51724</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -18713,11 +18642,11 @@
         </relation>
         <relation>
             <name>localvariables</name>
-            <cardinality>576945</cardinality>
+            <cardinality>576944</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>576945</v>
+                    <v>576944</v>
                 </e>
                 <e>
                     <k>type_id</k>
@@ -18739,7 +18668,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>576945</v>
+                                    <v>576944</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18755,7 +18684,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>576945</v>
+                                    <v>576944</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18776,7 +18705,7 @@
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>5366</v>
+                                    <v>5362</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -18786,7 +18715,7 @@
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>3376</v>
+                                    <v>3380</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -18812,7 +18741,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26912</v>
+                                    <v>26908</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -18822,7 +18751,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>2914</v>
+                                    <v>2918</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -21442,15 +21371,15 @@
         </relation>
         <relation>
             <name>typedefbase</name>
-            <cardinality>1686109</cardinality>
+            <cardinality>1686099</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1686109</v>
+                    <v>1686099</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>793485</v>
+                    <v>793481</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -21464,7 +21393,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1686109</v>
+                                    <v>1686099</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21480,12 +21409,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>617404</v>
+                                    <v>617400</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>83254</v>
+                                    <v>83253</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -22428,11 +22357,11 @@
         </relation>
         <relation>
             <name>is_pod_class</name>
-            <cardinality>534713</cardinality>
+            <cardinality>534710</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>534713</v>
+                    <v>534710</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -22560,11 +22489,11 @@
         </relation>
         <relation>
             <name>class_template_argument</name>
-            <cardinality>2882750</cardinality>
+            <cardinality>2882732</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>1315511</v>
+                    <v>1315503</v>
                 </e>
                 <e>
                     <k>index</k>
@@ -22572,7 +22501,7 @@
                 </e>
                 <e>
                     <k>arg_type</k>
-                    <v>840390</v>
+                    <v>840385</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -22586,22 +22515,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>540956</v>
+                                    <v>540953</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>399237</v>
+                                    <v>399235</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>231396</v>
+                                    <v>231395</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>120315</v>
+                                    <v>120314</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -22622,17 +22551,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>567609</v>
+                                    <v>567605</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>410481</v>
+                                    <v>410478</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>244841</v>
+                                    <v>244840</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -22745,17 +22674,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>523346</v>
+                                    <v>523343</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>174343</v>
+                                    <v>174342</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>51341</v>
+                                    <v>51340</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -22781,7 +22710,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>746490</v>
+                                    <v>746486</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -25019,7 +24948,7 @@
         </relation>
         <relation>
             <name>funspecifiers</name>
-            <cardinality>10305080</cardinality>
+            <cardinality>10304614</cardinality>
             <columnsizes>
                 <e>
                     <k>func_id</k>
@@ -25046,12 +24975,12 @@
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>640536</v>
+                                    <v>641003</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>985549</v>
+                                    <v>985082</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -25160,8 +25089,8 @@
                                     <v>466</v>
                                 </b>
                                 <b>
-                                    <a>6435</a>
-                                    <b>6436</b>
+                                    <a>6434</a>
+                                    <b>6435</b>
                                     <v>466</v>
                                 </b>
                             </bs>
@@ -26478,15 +26407,15 @@
         </relation>
         <relation>
             <name>attribute_arg_expr</name>
-            <cardinality>3</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>arg</k>
-                    <v>3</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>expr</k>
-                    <v>3</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26500,7 +26429,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26512,13 +26441,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>3</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -26526,15 +26449,15 @@
         </relation>
         <relation>
             <name>attribute_arg_name</name>
-            <cardinality>6</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>arg</k>
-                    <v>6</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>5</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26548,7 +26471,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26560,18 +26483,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>4</v>
-                                </b>
-                                <b>
-                                    <a>2</a>
-                                    <b>3</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -27215,11 +27127,11 @@
         </relation>
         <relation>
             <name>enclosingfunction</name>
-            <cardinality>118328</cardinality>
+            <cardinality>118327</cardinality>
             <columnsizes>
                 <e>
                     <k>child</k>
-                    <v>118328</v>
+                    <v>118327</v>
                 </e>
                 <e>
                     <k>parent</k>
@@ -27237,7 +27149,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>118328</v>
+                                    <v>118327</v>
                                 </b>
                             </bs>
                         </hist>
@@ -27268,7 +27180,7 @@
                                 <b>
                                     <a>4</a>
                                     <b>45</b>
-                                    <v>4888</v>
+                                    <v>4887</v>
                                 </b>
                             </bs>
                         </hist>
@@ -28793,15 +28705,15 @@
         </relation>
         <relation>
             <name>exprconv</name>
-            <cardinality>7032991</cardinality>
+            <cardinality>7032993</cardinality>
             <columnsizes>
                 <e>
                     <k>converted</k>
-                    <v>7032991</v>
+                    <v>7032993</v>
                 </e>
                 <e>
                     <k>conversion</k>
-                    <v>7032991</v>
+                    <v>7032993</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -28815,7 +28727,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7032991</v>
+                                    <v>7032993</v>
                                 </b>
                             </bs>
                         </hist>
@@ -28831,7 +28743,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7032991</v>
+                                    <v>7032993</v>
                                 </b>
                             </bs>
                         </hist>
@@ -30261,7 +30173,7 @@
                 </e>
                 <e>
                     <k>fun</k>
-                    <v>511342</v>
+                    <v>511304</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -30296,12 +30208,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>315088</v>
+                                    <v>315012</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>77893</v>
+                                    <v>77931</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -32081,15 +31993,15 @@
         </relation>
         <relation>
             <name>expr_types</name>
-            <cardinality>18451442</cardinality>
+            <cardinality>18451396</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>18319781</v>
+                    <v>18319782</v>
                 </e>
                 <e>
                     <k>typeid</k>
-                    <v>1214623</v>
+                    <v>1214616</v>
                 </e>
                 <e>
                     <k>value_category</k>
@@ -32107,12 +32019,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>18188121</v>
+                                    <v>18188167</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>131660</v>
+                                    <v>131614</v>
                                 </b>
                             </bs>
                         </hist>
@@ -32128,7 +32040,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>18319781</v>
+                                    <v>18319782</v>
                                 </b>
                             </bs>
                         </hist>
@@ -32144,17 +32056,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>438567</v>
+                                    <v>438565</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>249334</v>
+                                    <v>249332</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>102840</v>
+                                    <v>102839</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -32164,12 +32076,12 @@
                                 <b>
                                     <a>5</a>
                                     <b>8</b>
-                                    <v>109275</v>
+                                    <v>109274</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>14</b>
-                                    <v>96496</v>
+                                    <v>96495</v>
                                 </b>
                                 <b>
                                     <a>14</a>
@@ -32179,7 +32091,7 @@
                                 <b>
                                     <a>41</a>
                                     <b>125325</b>
-                                    <v>44579</v>
+                                    <v>44578</v>
                                 </b>
                             </bs>
                         </hist>
@@ -32195,7 +32107,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1050237</v>
+                                    <v>1050230</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -32229,8 +32141,8 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>1239479</a>
-                                    <b>1239480</b>
+                                    <a>1239489</a>
+                                    <b>1239490</b>
                                     <v>11</v>
                                 </b>
                             </bs>
@@ -32267,11 +32179,11 @@
         </relation>
         <relation>
             <name>compound_requirement_is_noexcept</name>
-            <cardinality>1</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>expr</k>
-                    <v>1</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -33658,15 +33570,15 @@
         </relation>
         <relation>
             <name>code_block</name>
-            <cardinality>15</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>block</k>
-                    <v>15</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>routine</k>
-                    <v>15</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -33680,7 +33592,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>15</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33696,7 +33608,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>15</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34585,19 +34497,19 @@
         </relation>
         <relation>
             <name>fold</name>
-            <cardinality>4</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>expr</k>
-                    <v>4</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>operator</k>
-                    <v>4</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>is_left_fold</k>
-                    <v>2</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -34607,13 +34519,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>4</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -34623,13 +34529,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>4</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -34639,13 +34539,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>4</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -34655,13 +34549,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>4</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -34671,13 +34559,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>2</a>
-                                    <b>3</b>
-                                    <v>2</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -34687,13 +34569,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>2</a>
-                                    <b>3</b>
-                                    <v>2</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -35017,15 +34893,15 @@
         </relation>
         <relation>
             <name>type_vla</name>
-            <cardinality>1</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>1</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>decl</k>
-                    <v>1</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -35035,13 +34911,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -35051,13 +34921,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>1</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -35257,15 +35121,15 @@
         </relation>
         <relation>
             <name>constexpr_if_initialization</name>
-            <cardinality>3</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>constexpr_if_stmt</k>
-                    <v>3</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>init_id</k>
-                    <v>3</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -35279,7 +35143,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -35291,13 +35155,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>3</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -35497,15 +35355,15 @@
         </relation>
         <relation>
             <name>switch_initialization</name>
-            <cardinality>8</cardinality>
+            <cardinality>0</cardinality>
             <columnsizes>
                 <e>
                     <k>switch_stmt</k>
-                    <v>8</v>
+                    <v>0</v>
                 </e>
                 <e>
                     <k>init_id</k>
-                    <v>8</v>
+                    <v>0</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -35519,7 +35377,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>8</v>
+                                    <v>17</v>
                                 </b>
                             </bs>
                         </hist>
@@ -35531,13 +35389,7 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs>
-                                <b>
-                                    <a>1</a>
-                                    <b>2</b>
-                                    <v>8</v>
-                                </b>
-                            </bs>
+                            <bs/>
                         </hist>
                     </val>
                 </dep>
@@ -36318,11 +36170,11 @@
         </relation>
         <relation>
             <name>stmt_decl_bind</name>
-            <cardinality>580842</cardinality>
+            <cardinality>580841</cardinality>
             <columnsizes>
                 <e>
                     <k>stmt</k>
-                    <v>541060</v>
+                    <v>541059</v>
                 </e>
                 <e>
                     <k>num</k>
@@ -36330,7 +36182,7 @@
                 </e>
                 <e>
                     <k>decl</k>
-                    <v>580738</v>
+                    <v>580737</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -36589,7 +36441,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580738</v>
+                                    <v>580737</v>
                                 </b>
                             </bs>
                         </hist>
@@ -36599,11 +36451,11 @@
         </relation>
         <relation>
             <name>stmt_decl_entry_bind</name>
-            <cardinality>580842</cardinality>
+            <cardinality>580841</cardinality>
             <columnsizes>
                 <e>
                     <k>stmt</k>
-                    <v>541060</v>
+                    <v>541059</v>
                 </e>
                 <e>
                     <k>num</k>
@@ -36611,7 +36463,7 @@
                 </e>
                 <e>
                     <k>decl_entry</k>
-                    <v>580784</v>
+                    <v>580783</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -36849,7 +36701,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580763</v>
+                                    <v>580762</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -36870,7 +36722,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580784</v>
+                                    <v>580783</v>
                                 </b>
                             </bs>
                         </hist>

From d3e44028ea5aa69b7ece8a2f11fa91e86440f676 Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Tue, 19 Nov 2024 14:17:36 +0000
Subject: [PATCH 6/8] C++: Fix upgrade.properties

---
 .../f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties  | 1 +
 1 file changed, 1 insertion(+)

diff --git a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
index 08e1dc42eb29..53cac4c4fec6 100644
--- a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
+++ b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
@@ -1,2 +1,3 @@
 description: Implement compilation_build_mode/2
 compatibility: backwards
+compilation_build_mode.rel: delete

From 38fa3c10d620bde39a8e555ecdec768fda44d020 Mon Sep 17 00:00:00 2001
From: Calum Grant <42069085+calumgrant@users.noreply.github.com>
Date: Tue, 19 Nov 2024 14:30:20 +0000
Subject: [PATCH 7/8] Update
 cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties

Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
---
 .../f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
index 53cac4c4fec6..cf362f384dae 100644
--- a/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
+++ b/cpp/downgrades/f0156f5f88ab5967c79162012c20f30600ca5ebf/upgrade.properties
@@ -1,3 +1,3 @@
 description: Implement compilation_build_mode/2
-compatibility: backwards
+compatibility: full
 compilation_build_mode.rel: delete

From 0836c3d6a51a98a9fac999fe63c434106971c2d7 Mon Sep 17 00:00:00 2001
From: Calum Grant <calumgrant@github.com>
Date: Tue, 19 Nov 2024 14:42:23 +0000
Subject: [PATCH 8/8] C++: Update stats

---
 cpp/ql/lib/semmlecode.cpp.dbscheme.stats | 3321 ++++++++++++----------
 1 file changed, 1766 insertions(+), 1555 deletions(-)

diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats
index f37e932ca54f..758aba346080 100644
--- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats
+++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats
@@ -18,7 +18,7 @@
         </e>
         <e>
             <k>@location_default</k>
-            <v>29764890</v>
+            <v>29746763</v>
         </e>
         <e>
             <k>@location_stmt</k>
@@ -34,35 +34,35 @@
         </e>
         <e>
             <k>@file</k>
-            <v>123251</v>
+            <v>123176</v>
         </e>
         <e>
             <k>@folder</k>
-            <v>16340</v>
+            <v>16330</v>
         </e>
         <e>
             <k>@macro_expansion</k>
-            <v>33257556</v>
+            <v>33257760</v>
         </e>
         <e>
             <k>@other_macro_reference</k>
-            <v>859029</v>
+            <v>858505</v>
         </e>
         <e>
             <k>@function</k>
-            <v>4179363</v>
+            <v>4176817</v>
         </e>
         <e>
             <k>@fun_decl</k>
-            <v>4543516</v>
+            <v>4541216</v>
         </e>
         <e>
             <k>@var_decl</k>
-            <v>8039391</v>
+            <v>8034962</v>
         </e>
         <e>
             <k>@type_decl</k>
-            <v>3283451</v>
+            <v>3281452</v>
         </e>
         <e>
             <k>@namespace_decl</k>
@@ -70,15 +70,15 @@
         </e>
         <e>
             <k>@using_declaration</k>
-            <v>363219</v>
+            <v>362998</v>
         </e>
         <e>
             <k>@using_directive</k>
-            <v>6536</v>
+            <v>6532</v>
         </e>
         <e>
             <k>@using_enum_declaration</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@static_assert</k>
@@ -86,7 +86,7 @@
         </e>
         <e>
             <k>@parameter</k>
-            <v>6190611</v>
+            <v>6186841</v>
         </e>
         <e>
             <k>@membervariable</k>
@@ -98,7 +98,7 @@
         </e>
         <e>
             <k>@localvariable</k>
-            <v>576944</v>
+            <v>576952</v>
         </e>
         <e>
             <k>@enumconstant</k>
@@ -330,15 +330,15 @@
         </e>
         <e>
             <k>@pointer</k>
-            <v>568173</v>
+            <v>567827</v>
         </e>
         <e>
             <k>@type_with_specifiers</k>
-            <v>852026</v>
+            <v>851507</v>
         </e>
         <e>
             <k>@array</k>
-            <v>110179</v>
+            <v>110112</v>
         </e>
         <e>
             <k>@routineptr</k>
@@ -346,7 +346,7 @@
         </e>
         <e>
             <k>@reference</k>
-            <v>1276405</v>
+            <v>1275627</v>
         </e>
         <e>
             <k>@gnu_vector</k>
@@ -358,23 +358,23 @@
         </e>
         <e>
             <k>@rvalue_reference</k>
-            <v>333340</v>
+            <v>333137</v>
         </e>
         <e>
             <k>@block</k>
-            <v>0</v>
+            <v>10</v>
         </e>
         <e>
             <k>@decltype</k>
-            <v>27078</v>
+            <v>27061</v>
         </e>
         <e>
             <k>@usertype</k>
-            <v>5234008</v>
+            <v>5230820</v>
         </e>
         <e>
             <k>@mangledname</k>
-            <v>6061757</v>
+            <v>6058065</v>
         </e>
         <e>
             <k>@type_mention</k>
@@ -386,15 +386,15 @@
         </e>
         <e>
             <k>@ptrtomember</k>
-            <v>37815</v>
+            <v>37792</v>
         </e>
         <e>
             <k>@specifier</k>
-            <v>24743</v>
+            <v>24728</v>
         </e>
         <e>
             <k>@gnuattribute</k>
-            <v>553700</v>
+            <v>553363</v>
         </e>
         <e>
             <k>@stdattribute</k>
@@ -406,27 +406,27 @@
         </e>
         <e>
             <k>@msattribute</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@alignas</k>
-            <v>4668</v>
+            <v>4665</v>
         </e>
         <e>
             <k>@attribute_arg_token</k>
-            <v>25210</v>
+            <v>25195</v>
         </e>
         <e>
             <k>@attribute_arg_constant_expr</k>
-            <v>318400</v>
+            <v>318207</v>
         </e>
         <e>
             <k>@attribute_arg_empty</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@attribute_arg_constant</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@attribute_arg_type</k>
@@ -434,7 +434,7 @@
         </e>
         <e>
             <k>@attribute_arg_expr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@derivation</k>
@@ -450,7 +450,7 @@
         </e>
         <e>
             <k>@namespace</k>
-            <v>12138</v>
+            <v>12131</v>
         </e>
         <e>
             <k>@specialnamequalifyingelement</k>
@@ -582,11 +582,11 @@
         </e>
         <e>
             <k>@gtexpr</k>
-            <v>104110</v>
+            <v>104047</v>
         </e>
         <e>
             <k>@ltexpr</k>
-            <v>101776</v>
+            <v>101714</v>
         </e>
         <e>
             <k>@geexpr</k>
@@ -634,7 +634,7 @@
         </e>
         <e>
             <k>@assignorexpr</k>
-            <v>23627</v>
+            <v>23628</v>
         </e>
         <e>
             <k>@assignxorexpr</k>
@@ -662,11 +662,11 @@
         </e>
         <e>
             <k>@subscriptexpr</k>
-            <v>364477</v>
+            <v>364481</v>
         </e>
         <e>
             <k>@callexpr</k>
-            <v>316533</v>
+            <v>316340</v>
         </e>
         <e>
             <k>@vastartexpr</k>
@@ -678,7 +678,7 @@
         </e>
         <e>
             <k>@vaendexpr</k>
-            <v>2801</v>
+            <v>2799</v>
         </e>
         <e>
             <k>@vacopyexpr</k>
@@ -766,39 +766,39 @@
         </e>
         <e>
             <k>@jmulexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@jdivexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@fjaddexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@jfaddexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@fjsubexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@jfsubexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@minexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@maxexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@virtfunptrexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@thisaccess</k>
@@ -830,47 +830,47 @@
         </e>
         <e>
             <k>@sizeof_pack</k>
-            <v>5602</v>
+            <v>5598</v>
         </e>
         <e>
             <k>@hasassignexpr</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@hascopyexpr</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@hasnothrowassign</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@hasnothrowconstr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@hasnothrowcopy</k>
-            <v>0</v>
+            <v>5</v>
         </e>
         <e>
             <k>@hastrivialassign</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@hastrivialconstr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@hastrivialcopy</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@hasuserdestr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@hasvirtualdestr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@isabstractexpr</k>
@@ -902,15 +902,15 @@
         </e>
         <e>
             <k>@ispolyexpr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@isunionexpr</k>
-            <v>0</v>
+            <v>5</v>
         </e>
         <e>
             <k>@intaddrexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@hastrivialdestructor</k>
@@ -930,7 +930,7 @@
         </e>
         <e>
             <k>@foldexpr</k>
-            <v>0</v>
+            <v>4</v>
         </e>
         <e>
             <k>@ctordirectinit</k>
@@ -962,7 +962,7 @@
         </e>
         <e>
             <k>@static_cast</k>
-            <v>215647</v>
+            <v>215648</v>
         </e>
         <e>
             <k>@reinterpret_cast</k>
@@ -978,7 +978,7 @@
         </e>
         <e>
             <k>@lambdaexpr</k>
-            <v>21475</v>
+            <v>21462</v>
         </e>
         <e>
             <k>@param_ref</k>
@@ -994,11 +994,11 @@
         </e>
         <e>
             <k>@isdestructibleexpr</k>
-            <v>0</v>
+            <v>4</v>
         </e>
         <e>
             <k>@isnothrowdestructibleexpr</k>
-            <v>0</v>
+            <v>5</v>
         </e>
         <e>
             <k>@istriviallydestructibleexpr</k>
@@ -1006,7 +1006,7 @@
         </e>
         <e>
             <k>@istriviallyassignableexpr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@isnothrowassignableexpr</k>
@@ -1018,27 +1018,27 @@
         </e>
         <e>
             <k>@isstandardlayoutexpr</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@istriviallycopyableexpr</k>
-            <v>3734</v>
+            <v>3732</v>
         </e>
         <e>
             <k>@isliteraltypeexpr</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@hastrivialmoveconstructorexpr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@hastrivialmoveassignexpr</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@hasnothrowmoveassignexpr</k>
-            <v>0</v>
+            <v>4</v>
         </e>
         <e>
             <k>@isconstructibleexpr</k>
@@ -1050,35 +1050,35 @@
         </e>
         <e>
             <k>@hasfinalizerexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@isdelegateexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@isinterfaceclassexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@isrefarrayexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@isrefclassexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@issealedexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@issimplevalueclassexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@isvalueclassexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@isfinalexpr</k>
@@ -1090,7 +1090,7 @@
         </e>
         <e>
             <k>@builtinshufflevector</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@builtinchooseexpr</k>
@@ -1102,43 +1102,43 @@
         </e>
         <e>
             <k>@vec_fill</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@builtinconvertvector</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@builtincomplex</k>
-            <v>0</v>
+            <v>4</v>
         </e>
         <e>
             <k>@spaceshipexpr</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@co_await</k>
-            <v>0</v>
+            <v>12</v>
         </e>
         <e>
             <k>@co_yield</k>
-            <v>0</v>
+            <v>4</v>
         </e>
         <e>
             <k>@isassignable</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@isaggregate</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@hasuniqueobjectrepresentations</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@builtinbitcast</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@builtinshuffle</k>
@@ -1150,111 +1150,111 @@
         </e>
         <e>
             <k>@issame</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isfunction</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@islayoutcompatible</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ispointerinterconvertiblebaseof</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isarray</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@arrayrank</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@arrayextent</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@isarithmetic</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@iscompletetype</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@iscompound</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isconst</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isfloatingpoint</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isfundamental</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isintegral</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@islvaluereference</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ismemberfunctionpointer</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ismemberobjectpointer</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ismemberpointer</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@isobject</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ispointer</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isreference</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isrvaluereference</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isscalar</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@issigned</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isunsigned</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isvoid</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isvolatile</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@reuseexpr</k>
@@ -1262,119 +1262,119 @@
         </e>
         <e>
             <k>@istriviallycopyassignable</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isassignablenopreconditioncheck</k>
-            <v>0</v>
+            <v>3</v>
         </e>
         <e>
             <k>@referencebindstotemporary</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@issameas</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@builtinhasattribute</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ispointerinterconvertiblewithclass</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@builtinispointerinterconvertiblewithclass</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@iscorrespondingmember</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@builtiniscorrespondingmember</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isboundedarray</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isunboundedarray</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isreferenceable</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isnothrowconvertible</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@referenceconstructsfromtemporary</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@referenceconvertsfromtemporary</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isconvertible</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isvalidwinrttype</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@iswinclass</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@iswininterface</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@istriviallyequalitycomparable</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@isscopedenum</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@istriviallyrelocatable</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@datasizeof</k>
-            <v>0</v>
+            <v>10</v>
         </e>
         <e>
             <k>@c11_generic</k>
-            <v>0</v>
+            <v>8</v>
         </e>
         <e>
             <k>@requires_expr</k>
-            <v>0</v>
+            <v>8</v>
         </e>
         <e>
             <k>@nested_requirement</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@compound_requirement</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@concept_id</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@lambdacapture</k>
-            <v>28011</v>
+            <v>27994</v>
         </e>
         <e>
             <k>@stmt_expr</k>
@@ -1398,11 +1398,11 @@
         </e>
         <e>
             <k>@stmt_return</k>
-            <v>1280140</v>
+            <v>1279827</v>
         </e>
         <e>
             <k>@stmt_block</k>
-            <v>1419265</v>
+            <v>1418867</v>
         </e>
         <e>
             <k>@stmt_end_test_while</k>
@@ -1426,11 +1426,11 @@
         </e>
         <e>
             <k>@stmt_decl</k>
-            <v>593118</v>
+            <v>593121</v>
         </e>
         <e>
             <k>@stmt_empty</k>
-            <v>192682</v>
+            <v>192685</v>
         </e>
         <e>
             <k>@stmt_continue</k>
@@ -1462,7 +1462,7 @@
         </e>
         <e>
             <k>@stmt_range_based_for</k>
-            <v>8403</v>
+            <v>8398</v>
         </e>
         <e>
             <k>@stmt_handler</k>
@@ -1474,35 +1474,35 @@
         </e>
         <e>
             <k>@stmt_co_return</k>
-            <v>0</v>
+            <v>5</v>
         </e>
         <e>
             <k>@ppd_if</k>
-            <v>667148</v>
+            <v>666741</v>
         </e>
         <e>
             <k>@ppd_ifdef</k>
-            <v>263311</v>
+            <v>263150</v>
         </e>
         <e>
             <k>@ppd_ifndef</k>
-            <v>266579</v>
+            <v>266416</v>
         </e>
         <e>
             <k>@ppd_elif</k>
-            <v>25210</v>
+            <v>25195</v>
         </e>
         <e>
             <k>@ppd_else</k>
-            <v>209154</v>
+            <v>209027</v>
         </e>
         <e>
             <k>@ppd_endif</k>
-            <v>1197038</v>
+            <v>1196309</v>
         </e>
         <e>
             <k>@ppd_plain_include</k>
-            <v>311398</v>
+            <v>311208</v>
         </e>
         <e>
             <k>@ppd_define</k>
@@ -1510,15 +1510,15 @@
         </e>
         <e>
             <k>@ppd_undef</k>
-            <v>258642</v>
+            <v>258484</v>
         </e>
         <e>
             <k>@ppd_include_next</k>
-            <v>1867</v>
+            <v>1866</v>
         </e>
         <e>
             <k>@ppd_line</k>
-            <v>27520</v>
+            <v>27521</v>
         </e>
         <e>
             <k>@ppd_error</k>
@@ -1530,11 +1530,11 @@
         </e>
         <e>
             <k>@ppd_objc_import</k>
-            <v>0</v>
+            <v>2</v>
         </e>
         <e>
             <k>@ppd_warning</k>
-            <v>0</v>
+            <v>1</v>
         </e>
         <e>
             <k>@link_target</k>
@@ -1902,15 +1902,15 @@
         </relation>
         <relation>
             <name>compilation_build_mode</name>
-            <cardinality>0</cardinality>
+            <cardinality>9742</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>0</v>
+                    <v>9742</v>
                 </e>
                 <e>
                     <k>mode</k>
-                    <v>0</v>
+                    <v>11</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -1924,7 +1924,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>9742</v>
                                 </b>
                             </bs>
                         </hist>
@@ -1936,7 +1936,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>863</a>
+                                    <b>864</b>
+                                    <v>11</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -2206,7 +2212,7 @@
                 </e>
                 <e>
                     <k>seconds</k>
-                    <v>9468</v>
+                    <v>8030</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -2284,20 +2290,15 @@
                         <hist>
                             <budget>12</budget>
                             <bs>
-                                <b>
-                                    <a>2</a>
-                                    <b>3</b>
-                                    <v>39</v>
-                                </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>479</v>
+                                    <v>799</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>479</v>
+                                    <v>199</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -2306,32 +2307,37 @@
                                 </b>
                                 <b>
                                     <a>8</a>
+                                    <b>9</b>
+                                    <v>79</v>
+                                </b>
+                                <b>
+                                    <a>9</a>
                                     <b>10</b>
-                                    <v>159</v>
+                                    <v>119</v>
                                 </b>
                                 <b>
                                     <a>10</a>
-                                    <b>11</b>
+                                    <b>12</b>
                                     <v>159</v>
                                 </b>
                                 <b>
-                                    <a>11</a>
-                                    <b>17</b>
-                                    <v>159</v>
+                                    <a>12</a>
+                                    <b>16</b>
+                                    <v>119</v>
                                 </b>
                                 <b>
                                     <a>17</a>
-                                    <b>19</b>
+                                    <b>20</b>
                                     <v>159</v>
                                 </b>
                                 <b>
-                                    <a>19</a>
-                                    <b>44</b>
+                                    <a>21</a>
+                                    <b>42</b>
                                     <v>159</v>
                                 </b>
                                 <b>
-                                    <a>54</a>
-                                    <b>100</b>
+                                    <a>55</a>
+                                    <b>90</b>
                                     <v>79</v>
                                 </b>
                             </bs>
@@ -2400,27 +2406,27 @@
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1398</v>
+                                    <v>1438</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>359</v>
+                                    <v>319</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>159</v>
+                                    <v>199</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>519</v>
+                                    <v>399</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>8</b>
-                                    <v>79</v>
+                                    <v>159</v>
                                 </b>
                                 <b>
                                     <a>8</a>
@@ -2429,12 +2435,12 @@
                                 </b>
                                 <b>
                                     <a>9</a>
-                                    <b>21</b>
+                                    <b>24</b>
                                     <v>279</v>
                                 </b>
                                 <b>
-                                    <a>24</a>
-                                    <b>86</b>
+                                    <a>25</a>
+                                    <b>85</b>
                                     <v>279</v>
                                 </b>
                             </bs>
@@ -2486,13 +2492,13 @@
                                     <v>79</v>
                                 </b>
                                 <b>
-                                    <a>141</a>
-                                    <b>142</b>
+                                    <a>124</a>
+                                    <b>125</b>
                                     <v>39</v>
                                 </b>
                                 <b>
-                                    <a>145</a>
-                                    <b>146</b>
+                                    <a>128</a>
+                                    <b>129</b>
                                     <v>39</v>
                                 </b>
                             </bs>
@@ -2509,27 +2515,37 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4234</v>
+                                    <v>3755</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2357</v>
+                                    <v>1398</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1797</v>
+                                    <v>998</v>
                                 </b>
                                 <b>
                                     <a>4</a>
+                                    <b>5</b>
+                                    <v>759</v>
+                                </b>
+                                <b>
+                                    <a>5</a>
                                     <b>6</b>
-                                    <v>838</v>
+                                    <v>439</v>
                                 </b>
                                 <b>
                                     <a>6</a>
-                                    <b>48</b>
-                                    <v>239</v>
+                                    <b>25</b>
+                                    <v>639</v>
+                                </b>
+                                <b>
+                                    <a>46</a>
+                                    <b>47</b>
+                                    <v>39</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2545,31 +2561,36 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4274</v>
+                                    <v>3515</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1757</v>
+                                    <v>1278</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1158</v>
+                                    <v>599</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>1158</v>
+                                    <v>878</v>
                                 </b>
                                 <b>
                                     <a>5</a>
-                                    <b>7</b>
-                                    <v>799</v>
+                                    <b>6</b>
+                                    <v>759</v>
                                 </b>
                                 <b>
-                                    <a>7</a>
-                                    <b>74</b>
+                                    <a>6</a>
+                                    <b>8</b>
+                                    <v>679</v>
+                                </b>
+                                <b>
+                                    <a>8</a>
+                                    <b>76</b>
                                     <v>319</v>
                                 </b>
                             </bs>
@@ -2586,12 +2607,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7271</v>
+                                    <v>5753</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2197</v>
+                                    <v>2277</v>
                                 </b>
                             </bs>
                         </hist>
@@ -2935,7 +2956,7 @@
                 </e>
                 <e>
                     <k>cpu_seconds</k>
-                    <v>7382</v>
+                    <v>7292</v>
                 </e>
                 <e>
                     <k>elapsed_seconds</k>
@@ -2985,17 +3006,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5881</v>
+                                    <v>5937</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1072</v>
+                                    <v>846</v>
                                 </b>
                                 <b>
                                     <a>3</a>
-                                    <b>12</b>
-                                    <v>428</v>
+                                    <b>16</b>
+                                    <v>507</v>
                                 </b>
                             </bs>
                         </hist>
@@ -3011,12 +3032,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6694</v>
+                                    <v>6682</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>688</v>
+                                    <v>609</v>
                                 </b>
                             </bs>
                         </hist>
@@ -3029,10 +3050,20 @@
                         <hist>
                             <budget>12</budget>
                             <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>11</v>
+                                </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>33</v>
+                                    <v>11</v>
+                                </b>
+                                <b>
+                                    <a>3</a>
+                                    <b>4</b>
+                                    <v>11</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -3040,23 +3071,23 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>9</a>
-                                    <b>10</b>
+                                    <a>8</a>
+                                    <b>9</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>10</a>
-                                    <b>11</b>
+                                    <a>12</a>
+                                    <b>13</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>16</a>
-                                    <b>17</b>
+                                    <a>13</a>
+                                    <b>14</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>50</a>
-                                    <b>51</b>
+                                    <a>51</a>
+                                    <b>52</b>
                                     <v>11</v>
                                 </b>
                                 <b>
@@ -3065,18 +3096,18 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>165</a>
-                                    <b>166</b>
+                                    <a>167</a>
+                                    <b>168</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>194</a>
-                                    <b>195</b>
+                                    <a>187</a>
+                                    <b>188</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>243</a>
-                                    <b>244</b>
+                                    <a>249</a>
+                                    <b>250</b>
                                     <v>11</v>
                                 </b>
                             </bs>
@@ -3090,10 +3121,20 @@
                         <hist>
                             <budget>12</budget>
                             <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>11</v>
+                                </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>33</v>
+                                    <v>11</v>
+                                </b>
+                                <b>
+                                    <a>3</a>
+                                    <b>4</b>
+                                    <v>11</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -3101,23 +3142,23 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>9</a>
-                                    <b>10</b>
+                                    <a>8</a>
+                                    <b>9</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>10</a>
-                                    <b>11</b>
+                                    <a>12</a>
+                                    <b>13</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>16</a>
-                                    <b>17</b>
+                                    <a>13</a>
+                                    <b>14</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>48</a>
-                                    <b>49</b>
+                                    <a>49</a>
+                                    <b>50</b>
                                     <v>11</v>
                                 </b>
                                 <b>
@@ -3126,18 +3167,18 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>137</a>
-                                    <b>138</b>
+                                    <a>123</a>
+                                    <b>124</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>146</a>
-                                    <b>147</b>
+                                    <a>138</a>
+                                    <b>139</b>
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>216</a>
-                                    <b>217</b>
+                                    <a>224</a>
+                                    <b>225</b>
                                     <v>11</v>
                                 </b>
                             </bs>
@@ -4910,31 +4951,31 @@
         </relation>
         <relation>
             <name>locations_default</name>
-            <cardinality>29764890</cardinality>
+            <cardinality>29746763</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>29764890</v>
+                    <v>29746763</v>
                 </e>
                 <e>
                     <k>container</k>
-                    <v>123251</v>
+                    <v>123176</v>
                 </e>
                 <e>
                     <k>startLine</k>
-                    <v>2095283</v>
+                    <v>2094007</v>
                 </e>
                 <e>
                     <k>startColumn</k>
-                    <v>36882</v>
+                    <v>36859</v>
                 </e>
                 <e>
                     <k>endLine</k>
-                    <v>2099485</v>
+                    <v>2098207</v>
                 </e>
                 <e>
                     <k>endColumn</k>
-                    <v>48086</v>
+                    <v>48057</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -4948,7 +4989,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29764890</v>
+                                    <v>29746763</v>
                                 </b>
                             </bs>
                         </hist>
@@ -4964,7 +5005,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29764890</v>
+                                    <v>29746763</v>
                                 </b>
                             </bs>
                         </hist>
@@ -4980,7 +5021,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29764890</v>
+                                    <v>29746763</v>
                                 </b>
                             </bs>
                         </hist>
@@ -4996,7 +5037,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29764890</v>
+                                    <v>29746763</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5012,7 +5053,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29764890</v>
+                                    <v>29746763</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5028,67 +5069,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>11</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>11</a>
                                     <b>18</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>18</a>
                                     <b>30</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>30</a>
                                     <b>42</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>43</a>
                                     <b>61</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>61</a>
                                     <b>79</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>80</a>
                                     <b>106</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>108</a>
                                     <b>149</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>149</a>
                                     <b>199</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>206</a>
                                     <b>291</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>304</a>
                                     <b>469</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>482</a>
                                     <b>850</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>936</a>
                                     <b>2380</b>
-                                    <v>8403</v>
+                                    <v>8398</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5104,67 +5145,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>8</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>13</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>13</a>
                                     <b>20</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>20</a>
                                     <b>32</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>32</a>
                                     <b>43</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>44</a>
                                     <b>61</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>62</a>
                                     <b>72</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>73</a>
                                     <b>93</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>97</a>
                                     <b>128</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>128</a>
                                     <b>180</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>180</a>
                                     <b>267</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>277</a>
                                     <b>414</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>439</a>
                                     <b>1465</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>1557</a>
@@ -5185,67 +5226,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>4</b>
-                                    <v>8870</v>
+                                    <v>8865</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>7936</v>
+                                    <v>7931</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>8</b>
-                                    <v>11204</v>
+                                    <v>11197</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>10</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>15</b>
-                                    <v>10737</v>
+                                    <v>10731</v>
                                 </b>
                                 <b>
                                     <a>15</a>
                                     <b>23</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>23</a>
                                     <b>28</b>
-                                    <v>11204</v>
+                                    <v>11197</v>
                                 </b>
                                 <b>
                                     <a>28</a>
                                     <b>34</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>34</a>
                                     <b>44</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>44</a>
                                     <b>55</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>55</a>
                                     <b>66</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>66</a>
                                     <b>77</b>
-                                    <v>8403</v>
+                                    <v>8398</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5261,67 +5302,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>8</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>13</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>13</a>
                                     <b>20</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>20</a>
                                     <b>32</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>32</a>
                                     <b>43</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>43</a>
                                     <b>60</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>61</a>
                                     <b>71</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>72</a>
                                     <b>93</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>94</a>
                                     <b>127</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>128</a>
                                     <b>179</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>180</a>
                                     <b>268</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>278</a>
                                     <b>413</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>437</a>
                                     <b>1465</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>1554</a>
@@ -5342,67 +5383,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>9</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>13</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>13</a>
                                     <b>18</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>18</a>
                                     <b>26</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>27</a>
                                     <b>33</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>33</a>
                                     <b>39</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>39</a>
                                     <b>47</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>47</a>
                                     <b>53</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>53</a>
                                     <b>60</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>60</a>
                                     <b>66</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>66</a>
                                     <b>74</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>74</a>
                                     <b>78</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>78</a>
                                     <b>90</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5418,52 +5459,52 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>583112</v>
+                                    <v>582757</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>314199</v>
+                                    <v>314007</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>195615</v>
+                                    <v>195496</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>162001</v>
+                                    <v>161903</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>10</b>
-                                    <v>183010</v>
+                                    <v>182899</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>16</b>
-                                    <v>162935</v>
+                                    <v>162836</v>
                                 </b>
                                 <b>
                                     <a>16</a>
                                     <b>25</b>
-                                    <v>169004</v>
+                                    <v>168901</v>
                                 </b>
                                 <b>
                                     <a>25</a>
                                     <b>46</b>
-                                    <v>161067</v>
+                                    <v>160969</v>
                                 </b>
                                 <b>
                                     <a>46</a>
                                     <b>169</b>
-                                    <v>157333</v>
+                                    <v>157237</v>
                                 </b>
                                 <b>
                                     <a>169</a>
                                     <b>265</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5479,42 +5520,42 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>871167</v>
+                                    <v>870636</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>273582</v>
+                                    <v>273415</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>193748</v>
+                                    <v>193630</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>8</b>
-                                    <v>173673</v>
+                                    <v>173567</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>13</b>
-                                    <v>188146</v>
+                                    <v>188031</v>
                                 </b>
                                 <b>
                                     <a>13</a>
                                     <b>20</b>
-                                    <v>161067</v>
+                                    <v>160969</v>
                                 </b>
                                 <b>
                                     <a>20</a>
                                     <b>51</b>
-                                    <v>159667</v>
+                                    <v>159570</v>
                                 </b>
                                 <b>
                                     <a>51</a>
                                     <b>265</b>
-                                    <v>74231</v>
+                                    <v>74186</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5530,47 +5571,47 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>612058</v>
+                                    <v>611685</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>313265</v>
+                                    <v>313074</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>198417</v>
+                                    <v>198296</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>183010</v>
+                                    <v>182899</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>9</b>
-                                    <v>173206</v>
+                                    <v>173100</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>13</b>
-                                    <v>163402</v>
+                                    <v>163302</v>
                                 </b>
                                 <b>
                                     <a>13</a>
                                     <b>19</b>
-                                    <v>174606</v>
+                                    <v>174500</v>
                                 </b>
                                 <b>
                                     <a>19</a>
                                     <b>29</b>
-                                    <v>164802</v>
+                                    <v>164702</v>
                                 </b>
                                 <b>
                                     <a>29</a>
                                     <b>52</b>
-                                    <v>112514</v>
+                                    <v>112445</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5586,22 +5627,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1531779</v>
+                                    <v>1530846</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>348747</v>
+                                    <v>348534</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>162001</v>
+                                    <v>161903</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>16</b>
-                                    <v>52755</v>
+                                    <v>52723</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5617,47 +5658,47 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>587781</v>
+                                    <v>587423</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>316066</v>
+                                    <v>315874</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>197483</v>
+                                    <v>197363</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>168537</v>
+                                    <v>168435</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>9</b>
-                                    <v>158266</v>
+                                    <v>158170</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>14</b>
-                                    <v>170872</v>
+                                    <v>170768</v>
                                 </b>
                                 <b>
                                     <a>14</a>
                                     <b>21</b>
-                                    <v>175073</v>
+                                    <v>174967</v>
                                 </b>
                                 <b>
                                     <a>21</a>
                                     <b>32</b>
-                                    <v>162468</v>
+                                    <v>162369</v>
                                 </b>
                                 <b>
                                     <a>32</a>
                                     <b>63</b>
-                                    <v>157799</v>
+                                    <v>157703</v>
                                 </b>
                                 <b>
                                     <a>64</a>
@@ -5678,67 +5719,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>31</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>42</a>
                                     <b>85</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>86</a>
                                     <b>128</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>129</a>
                                     <b>229</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>247</a>
                                     <b>286</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>291</a>
                                     <b>360</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>373</a>
                                     <b>457</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>473</a>
                                     <b>565</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>566</a>
                                     <b>619</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>619</a>
                                     <b>689</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>696</a>
                                     <b>807</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>819</a>
                                     <b>1563</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>1634</a>
                                     <b>5631</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>15295</a>
@@ -5759,67 +5800,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>18</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>23</a>
                                     <b>35</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>38</a>
                                     <b>43</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>44</a>
                                     <b>61</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>65</a>
                                     <b>73</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>73</a>
                                     <b>84</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>84</a>
                                     <b>96</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>96</a>
                                     <b>101</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>101</a>
                                     <b>105</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>107</a>
                                     <b>112</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>112</a>
                                     <b>126</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>137</a>
                                     <b>170</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>195</a>
                                     <b>265</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -5835,67 +5876,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>19</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>30</a>
                                     <b>72</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>83</a>
                                     <b>122</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>122</a>
                                     <b>205</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>214</a>
                                     <b>261</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>265</a>
                                     <b>322</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>322</a>
                                     <b>379</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>404</a>
                                     <b>430</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>453</a>
                                     <b>474</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>478</a>
                                     <b>505</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>511</a>
                                     <b>583</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>585</a>
                                     <b>836</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>1104</a>
                                     <b>2196</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>2387</a>
@@ -5916,67 +5957,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>19</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>30</a>
                                     <b>72</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>83</a>
                                     <b>122</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>122</a>
                                     <b>205</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>214</a>
                                     <b>261</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>265</a>
                                     <b>322</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>322</a>
                                     <b>380</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>404</a>
                                     <b>430</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>453</a>
                                     <b>474</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>477</a>
                                     <b>504</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>514</a>
                                     <b>582</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>585</a>
                                     <b>835</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>1109</a>
                                     <b>2203</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>2382</a>
@@ -5997,67 +6038,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>7</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>11</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>11</a>
                                     <b>16</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>16</a>
                                     <b>22</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>22</a>
                                     <b>24</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>24</a>
                                     <b>28</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>29</a>
                                     <b>34</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>34</a>
                                     <b>41</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>41</a>
                                     <b>46</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>47</a>
                                     <b>49</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>49</a>
                                     <b>54</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>54</a>
                                     <b>74</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>75</a>
                                     <b>86</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6073,52 +6114,52 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>593383</v>
+                                    <v>593022</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>306262</v>
+                                    <v>306076</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>198417</v>
+                                    <v>198296</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>159667</v>
+                                    <v>159570</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>10</b>
-                                    <v>182543</v>
+                                    <v>182432</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>16</b>
-                                    <v>162001</v>
+                                    <v>161903</v>
                                 </b>
                                 <b>
                                     <a>16</a>
                                     <b>25</b>
-                                    <v>171338</v>
+                                    <v>171234</v>
                                 </b>
                                 <b>
                                     <a>25</a>
                                     <b>46</b>
-                                    <v>158733</v>
+                                    <v>158636</v>
                                 </b>
                                 <b>
                                     <a>46</a>
                                     <b>161</b>
-                                    <v>158266</v>
+                                    <v>158170</v>
                                 </b>
                                 <b>
                                     <a>162</a>
                                     <b>265</b>
-                                    <v>8870</v>
+                                    <v>8865</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6134,47 +6175,47 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>886574</v>
+                                    <v>886034</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>260043</v>
+                                    <v>259884</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>125119</v>
+                                    <v>125043</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>140992</v>
+                                    <v>140906</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>10</b>
-                                    <v>184877</v>
+                                    <v>184765</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>15</b>
-                                    <v>168537</v>
+                                    <v>168435</v>
                                 </b>
                                 <b>
                                     <a>15</a>
                                     <b>26</b>
-                                    <v>163402</v>
+                                    <v>163302</v>
                                 </b>
                                 <b>
                                     <a>26</a>
                                     <b>120</b>
-                                    <v>158266</v>
+                                    <v>158170</v>
                                 </b>
                                 <b>
                                     <a>121</a>
                                     <b>265</b>
-                                    <v>11671</v>
+                                    <v>11664</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6190,22 +6231,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1529445</v>
+                                    <v>1528513</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>341744</v>
+                                    <v>341536</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>170872</v>
+                                    <v>170768</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>10</b>
-                                    <v>57424</v>
+                                    <v>57389</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6221,47 +6262,47 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>623262</v>
+                                    <v>622883</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>303461</v>
+                                    <v>303276</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>201685</v>
+                                    <v>201562</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>183944</v>
+                                    <v>183832</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>9</b>
-                                    <v>169938</v>
+                                    <v>169834</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>13</b>
-                                    <v>166670</v>
+                                    <v>166568</v>
                                 </b>
                                 <b>
                                     <a>13</a>
                                     <b>19</b>
-                                    <v>175073</v>
+                                    <v>174967</v>
                                 </b>
                                 <b>
                                     <a>19</a>
                                     <b>29</b>
-                                    <v>161067</v>
+                                    <v>160969</v>
                                 </b>
                                 <b>
                                     <a>29</a>
                                     <b>52</b>
-                                    <v>114381</v>
+                                    <v>114311</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6277,52 +6318,52 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>599919</v>
+                                    <v>599554</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>306262</v>
+                                    <v>306076</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>197016</v>
+                                    <v>196896</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>169004</v>
+                                    <v>168901</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>9</b>
-                                    <v>156399</v>
+                                    <v>156304</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>14</b>
-                                    <v>169004</v>
+                                    <v>168901</v>
                                 </b>
                                 <b>
                                     <a>14</a>
                                     <b>21</b>
-                                    <v>177875</v>
+                                    <v>177766</v>
                                 </b>
                                 <b>
                                     <a>21</a>
                                     <b>32</b>
-                                    <v>162001</v>
+                                    <v>161903</v>
                                 </b>
                                 <b>
                                     <a>32</a>
                                     <b>60</b>
-                                    <v>158266</v>
+                                    <v>158170</v>
                                 </b>
                                 <b>
                                     <a>60</a>
                                     <b>65</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6338,67 +6379,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5135</v>
+                                    <v>5132</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>8</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>186</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>193</a>
                                     <b>288</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>294</a>
                                     <b>495</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>503</a>
                                     <b>555</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>561</a>
                                     <b>633</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>640</a>
                                     <b>758</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>758</a>
                                     <b>869</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>875</a>
                                     <b>1074</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>1074</a>
                                     <b>1281</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>1289</a>
                                     <b>1590</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>1685</a>
                                     <b>2418</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6414,62 +6455,62 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>5</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>65</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>70</a>
                                     <b>100</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>100</a>
                                     <b>111</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>112</a>
                                     <b>122</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>122</a>
                                     <b>140</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>143</a>
                                     <b>153</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>153</a>
                                     <b>161</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>161</a>
                                     <b>173</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>173</a>
                                     <b>178</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>188</a>
                                     <b>265</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6485,62 +6526,62 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>8</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>105</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>155</a>
                                     <b>241</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>253</a>
                                     <b>336</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>340</a>
                                     <b>426</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>434</a>
                                     <b>488</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>489</a>
                                     <b>572</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>573</a>
                                     <b>623</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>626</a>
                                     <b>696</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>701</a>
                                     <b>813</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>818</a>
                                     <b>1095</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>1172</a>
@@ -6561,67 +6602,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6069</v>
+                                    <v>6065</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>8</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>15</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>15</a>
                                     <b>23</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>23</a>
                                     <b>29</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>29</a>
                                     <b>35</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>35</a>
                                     <b>39</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>39</a>
                                     <b>42</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>42</a>
                                     <b>44</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>44</a>
                                     <b>46</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>46</a>
                                     <b>49</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>49</a>
                                     <b>53</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -6637,67 +6678,67 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>8</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>156</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>159</a>
                                     <b>240</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>251</a>
                                     <b>335</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>342</a>
                                     <b>430</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>432</a>
                                     <b>490</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>490</a>
                                     <b>573</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>574</a>
                                     <b>622</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>626</a>
                                     <b>698</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>700</a>
                                     <b>798</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>811</a>
                                     <b>987</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>1096</a>
                                     <b>1180</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10621,23 +10662,23 @@
         </relation>
         <relation>
             <name>numlines</name>
-            <cardinality>1383783</cardinality>
+            <cardinality>1382941</cardinality>
             <columnsizes>
                 <e>
                     <k>element_id</k>
-                    <v>1376780</v>
+                    <v>1375942</v>
                 </e>
                 <e>
                     <k>num_lines</k>
-                    <v>101776</v>
+                    <v>101714</v>
                 </e>
                 <e>
                     <k>num_code</k>
-                    <v>84969</v>
+                    <v>84917</v>
                 </e>
                 <e>
                     <k>num_comment</k>
-                    <v>59758</v>
+                    <v>59722</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -10651,12 +10692,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1369777</v>
+                                    <v>1368943</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10672,12 +10713,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1370711</v>
+                                    <v>1369876</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>6069</v>
+                                    <v>6065</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10693,7 +10734,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1376780</v>
+                                    <v>1375942</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10709,27 +10750,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>68162</v>
+                                    <v>68120</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>12138</v>
+                                    <v>12131</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>21</b>
-                                    <v>7936</v>
+                                    <v>7931</v>
                                 </b>
                                 <b>
                                     <a>29</a>
                                     <b>921</b>
-                                    <v>6069</v>
+                                    <v>6065</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10745,27 +10786,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>70496</v>
+                                    <v>70453</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>12138</v>
+                                    <v>12131</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>8403</v>
+                                    <v>8398</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10781,22 +10822,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>69562</v>
+                                    <v>69520</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>14939</v>
+                                    <v>14930</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>10737</v>
+                                    <v>10731</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>6536</v>
+                                    <v>6532</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10812,27 +10853,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>52755</v>
+                                    <v>52723</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>14472</v>
+                                    <v>14463</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>6536</v>
+                                    <v>6532</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>42</b>
-                                    <v>6536</v>
+                                    <v>6532</v>
                                 </b>
                                 <b>
                                     <a>44</a>
                                     <b>922</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10848,27 +10889,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>52755</v>
+                                    <v>52723</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>16807</v>
+                                    <v>16796</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>6069</v>
+                                    <v>6065</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>8</b>
-                                    <v>6536</v>
+                                    <v>6532</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>12</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10884,27 +10925,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>53222</v>
+                                    <v>53190</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>15873</v>
+                                    <v>15863</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>7</b>
-                                    <v>5135</v>
+                                    <v>5132</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>10</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10920,32 +10961,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>34547</v>
+                                    <v>34526</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>11</b>
-                                    <v>5135</v>
+                                    <v>5132</v>
                                 </b>
                                 <b>
                                     <a>17</a>
                                     <b>2596</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                             </bs>
                         </hist>
@@ -10961,32 +11002,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>34547</v>
+                                    <v>34526</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>8</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>38</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11002,32 +11043,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>34547</v>
+                                    <v>34526</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>10</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>37</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11669,15 +11710,15 @@
         </relation>
         <relation>
             <name>files</name>
-            <cardinality>123251</cardinality>
+            <cardinality>123176</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>123251</v>
+                    <v>123176</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>123251</v>
+                    <v>123176</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -11691,7 +11732,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>123251</v>
+                                    <v>123176</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11707,7 +11748,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>123251</v>
+                                    <v>123176</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11717,15 +11758,15 @@
         </relation>
         <relation>
             <name>folders</name>
-            <cardinality>16340</cardinality>
+            <cardinality>16330</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>16340</v>
+                    <v>16330</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>16340</v>
+                    <v>16330</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -11739,7 +11780,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>16340</v>
+                                    <v>16330</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11755,7 +11796,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>16340</v>
+                                    <v>16330</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11765,15 +11806,15 @@
         </relation>
         <relation>
             <name>containerparent</name>
-            <cardinality>138658</cardinality>
+            <cardinality>138574</cardinality>
             <columnsizes>
                 <e>
                     <k>parent</k>
-                    <v>16340</v>
+                    <v>16330</v>
                 </e>
                 <e>
                     <k>child</k>
-                    <v>138658</v>
+                    <v>138574</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -11787,32 +11828,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>12</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>23</a>
                                     <b>28</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>40</a>
                                     <b>67</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11828,7 +11869,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>138658</v>
+                                    <v>138574</v>
                                 </b>
                             </bs>
                         </hist>
@@ -11838,7 +11879,7 @@
         </relation>
         <relation>
             <name>fileannotations</name>
-            <cardinality>5129404</cardinality>
+            <cardinality>5129436</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
@@ -12680,19 +12721,19 @@
         </relation>
         <relation>
             <name>macroinvocations</name>
-            <cardinality>33490802</cardinality>
+            <cardinality>33491008</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>33490802</v>
+                    <v>33491008</v>
                 </e>
                 <e>
                     <k>macro_id</k>
-                    <v>79483</v>
+                    <v>79484</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>760382</v>
+                    <v>760387</v>
                 </e>
                 <e>
                     <k>kind</k>
@@ -12710,7 +12751,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>33490802</v>
+                                    <v>33491008</v>
                                 </b>
                             </bs>
                         </hist>
@@ -12726,7 +12767,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>33490802</v>
+                                    <v>33491008</v>
                                 </b>
                             </bs>
                         </hist>
@@ -12742,7 +12783,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>33490802</v>
+                                    <v>33491008</v>
                                 </b>
                             </bs>
                         </hist>
@@ -12824,7 +12865,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>42467</v>
+                                    <v>42468</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12870,7 +12911,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>73748</v>
+                                    <v>73749</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12891,22 +12932,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>281223</v>
+                                    <v>281225</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>169657</v>
+                                    <v>169658</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>70734</v>
+                                    <v>70735</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>60326</v>
+                                    <v>60327</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -12942,7 +12983,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>714211</v>
+                                    <v>714216</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -12963,7 +13004,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>760382</v>
+                                    <v>760387</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13036,15 +13077,15 @@
         </relation>
         <relation>
             <name>macroparent</name>
-            <cardinality>29950538</cardinality>
+            <cardinality>29950722</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>29950538</v>
+                    <v>29950722</v>
                 </e>
                 <e>
                     <k>parent_id</k>
-                    <v>23286856</v>
+                    <v>23286998</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13058,7 +13099,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>29950538</v>
+                                    <v>29950722</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13074,17 +13115,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17992681</v>
+                                    <v>17992792</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>4459523</v>
+                                    <v>4459550</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>88</b>
-                                    <v>834650</v>
+                                    <v>834655</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13172,11 +13213,11 @@
         </relation>
         <relation>
             <name>macro_argument_unexpanded</name>
-            <cardinality>84548918</cardinality>
+            <cardinality>84549437</cardinality>
             <columnsizes>
                 <e>
                     <k>invocation</k>
-                    <v>26214596</v>
+                    <v>26214757</v>
                 </e>
                 <e>
                     <k>argument_index</k>
@@ -13184,7 +13225,7 @@
                 </e>
                 <e>
                     <k>text</k>
-                    <v>318306</v>
+                    <v>318308</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13198,22 +13239,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7432418</v>
+                                    <v>7432464</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10673962</v>
+                                    <v>10674027</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>6139289</v>
+                                    <v>6139327</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>67</b>
-                                    <v>1968925</v>
+                                    <v>1968937</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13229,22 +13270,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7502578</v>
+                                    <v>7502624</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10820511</v>
+                                    <v>10820578</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>5972962</v>
+                                    <v>5972999</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>67</b>
-                                    <v>1918544</v>
+                                    <v>1918556</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13312,12 +13353,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>35073</v>
+                                    <v>35074</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>61263</v>
+                                    <v>61264</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -13327,12 +13368,12 @@
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>45086</v>
+                                    <v>45087</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>7</b>
-                                    <v>23931</v>
+                                    <v>23932</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -13378,7 +13419,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>230198</v>
+                                    <v>230200</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -13388,7 +13429,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>9</b>
-                                    <v>10283</v>
+                                    <v>10284</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13398,11 +13439,11 @@
         </relation>
         <relation>
             <name>macro_argument_expanded</name>
-            <cardinality>84548918</cardinality>
+            <cardinality>84549437</cardinality>
             <columnsizes>
                 <e>
                     <k>invocation</k>
-                    <v>26214596</v>
+                    <v>26214757</v>
                 </e>
                 <e>
                     <k>argument_index</k>
@@ -13410,7 +13451,7 @@
                 </e>
                 <e>
                     <k>text</k>
-                    <v>192900</v>
+                    <v>192902</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13424,22 +13465,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7432418</v>
+                                    <v>7432464</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10673962</v>
+                                    <v>10674027</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>6139289</v>
+                                    <v>6139327</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>67</b>
-                                    <v>1968925</v>
+                                    <v>1968937</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13455,22 +13496,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>10688727</v>
+                                    <v>10688793</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>9201805</v>
+                                    <v>9201862</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>5208245</v>
+                                    <v>5208277</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>9</b>
-                                    <v>1115817</v>
+                                    <v>1115824</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13609,7 +13650,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>97624</v>
+                                    <v>97625</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -13629,19 +13670,19 @@
         </relation>
         <relation>
             <name>functions</name>
-            <cardinality>4179363</cardinality>
+            <cardinality>4176817</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>4179363</v>
+                    <v>4176817</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>1895466</v>
+                    <v>1894311</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>3268</v>
+                    <v>3266</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13655,7 +13696,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4179363</v>
+                                    <v>4176817</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13671,7 +13712,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4179363</v>
+                                    <v>4176817</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13687,22 +13728,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1498165</v>
+                                    <v>1497253</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>153131</v>
+                                    <v>153038</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>142860</v>
+                                    <v>142773</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>952</b>
-                                    <v>101309</v>
+                                    <v>101247</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13718,7 +13759,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1894999</v>
+                                    <v>1893845</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -13820,15 +13861,15 @@
         </relation>
         <relation>
             <name>function_entry_point</name>
-            <cardinality>1151752</cardinality>
+            <cardinality>1151517</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1141948</v>
+                    <v>1141719</v>
                 </e>
                 <e>
                     <k>entry_point</k>
-                    <v>1151752</v>
+                    <v>1151517</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13842,12 +13883,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1132144</v>
+                                    <v>1131921</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13863,7 +13904,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1151752</v>
+                                    <v>1151517</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13873,15 +13914,15 @@
         </relation>
         <relation>
             <name>function_return_type</name>
-            <cardinality>4184498</cardinality>
+            <cardinality>4181950</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>4179363</v>
+                    <v>4176817</v>
                 </e>
                 <e>
                     <k>return_type</k>
-                    <v>817945</v>
+                    <v>817446</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13895,12 +13936,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4174227</v>
+                                    <v>4171685</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>5135</v>
+                                    <v>5132</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13916,22 +13957,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>506080</v>
+                                    <v>505771</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>211489</v>
+                                    <v>211360</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>66294</v>
+                                    <v>66254</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>2231</b>
-                                    <v>34081</v>
+                                    <v>34060</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13941,15 +13982,15 @@
         </relation>
         <relation>
             <name>coroutine</name>
-            <cardinality>0</cardinality>
+            <cardinality>6</cardinality>
             <columnsizes>
                 <e>
                     <k>function</k>
-                    <v>0</v>
+                    <v>6</v>
                 </e>
                 <e>
                     <k>traits</k>
-                    <v>0</v>
+                    <v>3</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -13963,7 +14004,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>6</v>
                                 </b>
                             </bs>
                         </hist>
@@ -13975,7 +14016,23 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>1</v>
+                                </b>
+                                <b>
+                                    <a>2</a>
+                                    <b>3</b>
+                                    <v>1</v>
+                                </b>
+                                <b>
+                                    <a>3</a>
+                                    <b>4</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -13983,19 +14040,19 @@
         </relation>
         <relation>
             <name>coroutine_placeholder_variable</name>
-            <cardinality>0</cardinality>
+            <cardinality>18</cardinality>
             <columnsizes>
                 <e>
                     <k>placeholder_variable</k>
-                    <v>0</v>
+                    <v>18</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>0</v>
+                    <v>3</v>
                 </e>
                 <e>
                     <k>function</k>
-                    <v>0</v>
+                    <v>6</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14009,7 +14066,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>18</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14025,7 +14082,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>18</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14037,7 +14094,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>6</a>
+                                    <b>7</b>
+                                    <v>3</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -14047,7 +14110,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>6</a>
+                                    <b>7</b>
+                                    <v>3</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -14057,7 +14126,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>3</a>
+                                    <b>4</b>
+                                    <v>6</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -14067,7 +14142,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>3</a>
+                                    <b>4</b>
+                                    <v>6</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -14075,15 +14156,15 @@
         </relation>
         <relation>
             <name>coroutine_new</name>
-            <cardinality>0</cardinality>
+            <cardinality>6</cardinality>
             <columnsizes>
                 <e>
                     <k>function</k>
-                    <v>0</v>
+                    <v>6</v>
                 </e>
                 <e>
                     <k>new</k>
-                    <v>0</v>
+                    <v>1</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14097,7 +14178,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>6</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14109,7 +14190,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>6</a>
+                                    <b>7</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -14117,15 +14204,15 @@
         </relation>
         <relation>
             <name>coroutine_delete</name>
-            <cardinality>0</cardinality>
+            <cardinality>6</cardinality>
             <columnsizes>
                 <e>
                     <k>function</k>
-                    <v>0</v>
+                    <v>6</v>
                 </e>
                 <e>
                     <k>delete</k>
-                    <v>0</v>
+                    <v>1</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14139,7 +14226,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>6</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14151,7 +14238,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>6</a>
+                                    <b>7</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -14170,33 +14263,33 @@
         </relation>
         <relation>
             <name>function_deleted</name>
-            <cardinality>96173</cardinality>
+            <cardinality>96115</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>96173</v>
+                    <v>96115</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>function_defaulted</name>
-            <cardinality>73764</cardinality>
+            <cardinality>73719</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>73764</v>
+                    <v>73719</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>function_prototyped</name>
-            <cardinality>4087391</cardinality>
+            <cardinality>4084901</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>4087391</v>
+                    <v>4084901</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -14349,27 +14442,27 @@
         </relation>
         <relation>
             <name>fun_decls</name>
-            <cardinality>4548652</cardinality>
+            <cardinality>4546348</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>4543516</v>
+                    <v>4541216</v>
                 </e>
                 <e>
                     <k>function</k>
-                    <v>4035569</v>
+                    <v>4033111</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>816544</v>
+                    <v>816047</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>1797891</v>
+                    <v>1796796</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>3370755</v>
+                    <v>3368702</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14383,7 +14476,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4543516</v>
+                                    <v>4541216</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14399,12 +14492,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4538381</v>
+                                    <v>4536084</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>5135</v>
+                                    <v>5132</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14420,7 +14513,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4543516</v>
+                                    <v>4541216</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14436,7 +14529,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4543516</v>
+                                    <v>4541216</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14452,17 +14545,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3606521</v>
+                                    <v>3603858</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>356216</v>
+                                    <v>356466</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>72830</v>
+                                    <v>72786</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14478,12 +14571,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3995885</v>
+                                    <v>3993452</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>39683</v>
+                                    <v>39659</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14499,7 +14592,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4035569</v>
+                                    <v>4033111</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14515,17 +14608,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3663012</v>
+                                    <v>3660781</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>311864</v>
+                                    <v>311674</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>6</b>
-                                    <v>60692</v>
+                                    <v>60655</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14541,22 +14634,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>431381</v>
+                                    <v>431119</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>274048</v>
+                                    <v>273882</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>6</b>
-                                    <v>63493</v>
+                                    <v>63454</v>
                                 </b>
                                 <b>
                                     <a>6</a>
-                                    <b>2476</b>
-                                    <v>47620</v>
+                                    <b>2477</b>
+                                    <v>47591</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14572,22 +14665,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>515417</v>
+                                    <v>515103</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>203085</v>
+                                    <v>202961</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>63026</v>
+                                    <v>62988</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>2192</b>
-                                    <v>35014</v>
+                                    <v>34993</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14603,17 +14696,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>690024</v>
+                                    <v>689604</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>67228</v>
+                                    <v>67187</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>773</b>
-                                    <v>59291</v>
+                                    <v>59255</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14629,22 +14722,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>595251</v>
+                                    <v>594888</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>121384</v>
+                                    <v>121310</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>63493</v>
+                                    <v>63454</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>1959</b>
-                                    <v>36415</v>
+                                    <v>36393</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14660,27 +14753,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1228318</v>
+                                    <v>1227570</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>267045</v>
+                                    <v>266883</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>77966</v>
+                                    <v>77918</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>146128</v>
+                                    <v>146039</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>986</b>
-                                    <v>78433</v>
+                                    <v>78385</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14696,22 +14789,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1407593</v>
+                                    <v>1406736</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>152197</v>
+                                    <v>152104</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>136791</v>
+                                    <v>136707</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>936</b>
-                                    <v>101309</v>
+                                    <v>101247</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14727,17 +14820,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1579399</v>
+                                    <v>1578437</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>134923</v>
+                                    <v>134841</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>562</b>
-                                    <v>83568</v>
+                                    <v>83517</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14753,27 +14846,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1236254</v>
+                                    <v>1235502</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>293190</v>
+                                    <v>293011</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>78899</v>
+                                    <v>78851</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>8</b>
-                                    <v>137257</v>
+                                    <v>137174</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>542</b>
-                                    <v>52288</v>
+                                    <v>52256</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14789,17 +14882,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2966451</v>
+                                    <v>2964644</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>277783</v>
+                                    <v>277614</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>55</b>
-                                    <v>126520</v>
+                                    <v>126442</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14815,17 +14908,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3033679</v>
+                                    <v>3031832</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>7</b>
-                                    <v>244169</v>
+                                    <v>244020</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>55</b>
-                                    <v>92905</v>
+                                    <v>92849</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14841,12 +14934,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3207353</v>
+                                    <v>3205399</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>18</b>
-                                    <v>163402</v>
+                                    <v>163302</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14862,12 +14955,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3232563</v>
+                                    <v>3230595</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>13</b>
-                                    <v>138191</v>
+                                    <v>138107</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14877,22 +14970,22 @@
         </relation>
         <relation>
             <name>fun_def</name>
-            <cardinality>1888930</cardinality>
+            <cardinality>1888246</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1888930</v>
+                    <v>1888246</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>fun_specialized</name>
-            <cardinality>26144</cardinality>
+            <cardinality>26128</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>26144</v>
+                    <v>26128</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -14910,15 +15003,15 @@
         </relation>
         <relation>
             <name>fun_decl_specifiers</name>
-            <cardinality>2906692</cardinality>
+            <cardinality>2904922</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1689579</v>
+                    <v>1688550</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>2801</v>
+                    <v>2799</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -14932,17 +15025,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>491140</v>
+                                    <v>490841</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1179764</v>
+                                    <v>1179045</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>18674</v>
+                                    <v>18663</v>
                                 </b>
                             </bs>
                         </hist>
@@ -14993,19 +15086,19 @@
         </relation>
         <relation>
             <name>fun_decl_throws</name>
-            <cardinality>0</cardinality>
+            <cardinality>7</cardinality>
             <columnsizes>
                 <e>
                     <k>fun_decl</k>
-                    <v>0</v>
+                    <v>7</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>0</v>
+                    <v>1</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>0</v>
+                    <v>2</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -15015,7 +15108,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>7</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -15025,7 +15124,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>7</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -15035,7 +15140,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>7</a>
+                                    <b>8</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -15045,7 +15156,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>2</a>
+                                    <b>3</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -15055,7 +15172,18 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>1</v>
+                                </b>
+                                <b>
+                                    <a>6</a>
+                                    <b>7</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -15065,7 +15193,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>2</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -15073,11 +15207,11 @@
         </relation>
         <relation>
             <name>fun_decl_empty_throws</name>
-            <cardinality>1472021</cardinality>
+            <cardinality>1471124</cardinality>
             <columnsizes>
                 <e>
                     <k>fun_decl</k>
-                    <v>1472021</v>
+                    <v>1471124</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -15137,11 +15271,11 @@
         </relation>
         <relation>
             <name>fun_decl_empty_noexcept</name>
-            <cardinality>863230</cardinality>
+            <cardinality>863171</cardinality>
             <columnsizes>
                 <e>
                     <k>fun_decl</k>
-                    <v>863230</v>
+                    <v>863171</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -15246,19 +15380,19 @@
         </relation>
         <relation>
             <name>param_decl_bind</name>
-            <cardinality>6995017</cardinality>
+            <cardinality>6991224</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>6995017</v>
+                    <v>6991224</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>7936</v>
+                    <v>7931</v>
                 </e>
                 <e>
                     <k>fun_decl</k>
-                    <v>3835284</v>
+                    <v>3833415</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -15272,7 +15406,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6995017</v>
+                                    <v>6991224</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15288,7 +15422,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6995017</v>
+                                    <v>6991224</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15367,8 +15501,8 @@
                                     <v>466</v>
                                 </b>
                                 <b>
-                                    <a>8215</a>
-                                    <b>8216</b>
+                                    <a>8216</a>
+                                    <b>8217</b>
                                     <v>466</v>
                                 </b>
                             </bs>
@@ -15448,8 +15582,8 @@
                                     <v>466</v>
                                 </b>
                                 <b>
-                                    <a>8215</a>
-                                    <b>8216</b>
+                                    <a>8216</a>
+                                    <b>8217</b>
                                     <v>466</v>
                                 </b>
                             </bs>
@@ -15466,27 +15600,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1973899</v>
+                                    <v>1973163</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1061647</v>
+                                    <v>1061001</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>502812</v>
+                                    <v>502505</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>8</b>
-                                    <v>290856</v>
+                                    <v>290678</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>18</b>
-                                    <v>6069</v>
+                                    <v>6065</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15502,27 +15636,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1973899</v>
+                                    <v>1973163</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1061647</v>
+                                    <v>1061001</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>502812</v>
+                                    <v>502505</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>8</b>
-                                    <v>290856</v>
+                                    <v>290678</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>18</b>
-                                    <v>6069</v>
+                                    <v>6065</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15532,27 +15666,27 @@
         </relation>
         <relation>
             <name>var_decls</name>
-            <cardinality>8110354</cardinality>
+            <cardinality>8105882</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>8039391</v>
+                    <v>8034962</v>
                 </e>
                 <e>
                     <k>variable</k>
-                    <v>7027231</v>
+                    <v>7022951</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>2043462</v>
+                    <v>2042217</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>667614</v>
+                    <v>667208</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>5311974</v>
+                    <v>5308739</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -15566,7 +15700,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>8039391</v>
+                                    <v>8034962</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15582,12 +15716,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>7971229</v>
+                                    <v>7966841</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>68162</v>
+                                    <v>68120</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15603,7 +15737,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>8039391</v>
+                                    <v>8034962</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15619,12 +15753,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>8036590</v>
+                                    <v>8032162</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15640,17 +15774,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6175205</v>
+                                    <v>6170977</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>698427</v>
+                                    <v>698469</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>153598</v>
+                                    <v>153504</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15666,12 +15800,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6855892</v>
+                                    <v>6851717</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>171338</v>
+                                    <v>171234</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15687,12 +15821,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6911916</v>
+                                    <v>6907706</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>115315</v>
+                                    <v>115245</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15708,17 +15842,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6481934</v>
+                                    <v>6477987</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>542962</v>
+                                    <v>542631</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15734,27 +15868,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1165758</v>
+                                    <v>1165048</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>477134</v>
+                                    <v>476377</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>94773</v>
+                                    <v>95182</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>184877</v>
+                                    <v>184765</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>762</b>
-                                    <v>120917</v>
+                                    <v>120844</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15770,22 +15904,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1299281</v>
+                                    <v>1298490</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>452390</v>
+                                    <v>452115</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>6</b>
-                                    <v>155932</v>
+                                    <v>155837</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>724</b>
-                                    <v>135857</v>
+                                    <v>135774</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15801,17 +15935,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1539249</v>
+                                    <v>1538311</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>383295</v>
+                                    <v>383061</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>128</b>
-                                    <v>120917</v>
+                                    <v>120844</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15827,22 +15961,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1365576</v>
+                                    <v>1364744</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>404303</v>
+                                    <v>404057</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>173206</v>
+                                    <v>173100</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>592</b>
-                                    <v>100375</v>
+                                    <v>100314</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15858,37 +15992,37 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>341277</v>
+                                    <v>341069</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>86836</v>
+                                    <v>86783</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>48553</v>
+                                    <v>48524</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>51821</v>
+                                    <v>51790</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>12</b>
-                                    <v>52288</v>
+                                    <v>52256</v>
                                 </b>
                                 <b>
                                     <a>12</a>
                                     <b>33</b>
-                                    <v>50421</v>
+                                    <v>50390</v>
                                 </b>
                                 <b>
                                     <a>34</a>
-                                    <b>2384</b>
-                                    <v>36415</v>
+                                    <b>2385</b>
+                                    <v>36393</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15904,37 +16038,37 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>368822</v>
+                                    <v>368597</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>77966</v>
+                                    <v>77918</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>45285</v>
+                                    <v>45258</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>49487</v>
+                                    <v>49457</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>14</b>
-                                    <v>53222</v>
+                                    <v>53190</v>
                                 </b>
                                 <b>
                                     <a>14</a>
                                     <b>56</b>
-                                    <v>50888</v>
+                                    <v>50857</v>
                                 </b>
                                 <b>
                                     <a>56</a>
                                     <b>2301</b>
-                                    <v>21942</v>
+                                    <v>21929</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15950,27 +16084,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>457059</v>
+                                    <v>456781</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>93839</v>
+                                    <v>93782</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>46686</v>
+                                    <v>46657</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>19</b>
-                                    <v>50888</v>
+                                    <v>50857</v>
                                 </b>
                                 <b>
                                     <a>19</a>
                                     <b>1182</b>
-                                    <v>19141</v>
+                                    <v>19129</v>
                                 </b>
                             </bs>
                         </hist>
@@ -15986,32 +16120,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>379093</v>
+                                    <v>378862</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>90571</v>
+                                    <v>90516</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>59758</v>
+                                    <v>59722</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>9</b>
-                                    <v>51354</v>
+                                    <v>51323</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>21</b>
-                                    <v>50421</v>
+                                    <v>50390</v>
                                 </b>
                                 <b>
                                     <a>21</a>
                                     <b>1010</b>
-                                    <v>36415</v>
+                                    <v>36393</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16027,17 +16161,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4496363</v>
+                                    <v>4493625</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>531757</v>
+                                    <v>531433</v>
                                 </b>
                                 <b>
                                     <a>3</a>
-                                    <b>896</b>
-                                    <v>283853</v>
+                                    <b>897</b>
+                                    <v>283680</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16053,17 +16187,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4885727</v>
+                                    <v>4882752</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>17</b>
-                                    <v>415508</v>
+                                    <v>415255</v>
                                 </b>
                                 <b>
                                     <a>17</a>
                                     <b>892</b>
-                                    <v>10737</v>
+                                    <v>10731</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16079,12 +16213,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4961826</v>
+                                    <v>4958804</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>759</b>
-                                    <v>350147</v>
+                                    <v>349934</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16100,12 +16234,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5302637</v>
+                                    <v>5299407</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>6</b>
-                                    <v>9337</v>
+                                    <v>9331</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16115,26 +16249,26 @@
         </relation>
         <relation>
             <name>var_def</name>
-            <cardinality>3994952</cardinality>
+            <cardinality>3992985</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>3994952</v>
+                    <v>3992985</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>var_decl_specifiers</name>
-            <cardinality>378626</cardinality>
+            <cardinality>378395</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>378626</v>
+                    <v>378395</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>1867</v>
+                    <v>1866</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -16148,7 +16282,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>378626</v>
+                                    <v>378395</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16189,30 +16323,30 @@
         </relation>
         <relation>
             <name>is_structured_binding</name>
-            <cardinality>0</cardinality>
+            <cardinality>18</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>0</v>
+                    <v>18</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>type_decls</name>
-            <cardinality>3283451</cardinality>
+            <cardinality>3281452</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>3283451</v>
+                    <v>3281452</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>3233030</v>
+                    <v>3231061</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>3166269</v>
+                    <v>3164340</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -16226,7 +16360,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3283451</v>
+                                    <v>3281452</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16242,7 +16376,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3283451</v>
+                                    <v>3281452</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16258,12 +16392,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3191479</v>
+                                    <v>3189536</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>5</b>
-                                    <v>41550</v>
+                                    <v>41525</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16279,12 +16413,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3191479</v>
+                                    <v>3189536</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>5</b>
-                                    <v>41550</v>
+                                    <v>41525</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16300,12 +16434,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3113980</v>
+                                    <v>3112083</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>20</b>
-                                    <v>52288</v>
+                                    <v>52256</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16321,12 +16455,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3113980</v>
+                                    <v>3112083</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>20</b>
-                                    <v>52288</v>
+                                    <v>52256</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16336,22 +16470,22 @@
         </relation>
         <relation>
             <name>type_def</name>
-            <cardinality>2641981</cardinality>
+            <cardinality>2640372</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>2641981</v>
+                    <v>2640372</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>type_decl_top</name>
-            <cardinality>743713</cardinality>
+            <cardinality>743260</cardinality>
             <columnsizes>
                 <e>
                     <k>type_decl</k>
-                    <v>743713</v>
+                    <v>743260</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -16724,19 +16858,19 @@
         </relation>
         <relation>
             <name>usings</name>
-            <cardinality>369755</cardinality>
+            <cardinality>369530</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>369755</v>
+                    <v>369530</v>
                 </e>
                 <e>
                     <k>element_id</k>
-                    <v>315599</v>
+                    <v>315407</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>247904</v>
+                    <v>247753</v>
                 </e>
                 <e>
                     <k>kind</k>
@@ -16754,7 +16888,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>369755</v>
+                                    <v>369530</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16770,7 +16904,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>369755</v>
+                                    <v>369530</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16786,7 +16920,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>369755</v>
+                                    <v>369530</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16802,17 +16936,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>263311</v>
+                                    <v>263150</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>50888</v>
+                                    <v>50857</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16828,17 +16962,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>263311</v>
+                                    <v>263150</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>50888</v>
+                                    <v>50857</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16854,7 +16988,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>315599</v>
+                                    <v>315407</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16870,22 +17004,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>202618</v>
+                                    <v>202495</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>10737</v>
+                                    <v>10731</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>31279</v>
+                                    <v>31260</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>11</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16901,22 +17035,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>202618</v>
+                                    <v>202495</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>10737</v>
+                                    <v>10731</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>31279</v>
+                                    <v>31260</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>11</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                             </bs>
                         </hist>
@@ -16932,7 +17066,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>247904</v>
+                                    <v>247753</v>
                                 </b>
                             </bs>
                         </hist>
@@ -17005,7 +17139,7 @@
         </relation>
         <relation>
             <name>using_container</name>
-            <cardinality>466798</cardinality>
+            <cardinality>466800</cardinality>
             <columnsizes>
                 <e>
                     <k>parent</k>
@@ -17013,7 +17147,7 @@
                 </e>
                 <e>
                     <k>child</k>
-                    <v>295989</v>
+                    <v>295990</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -17083,12 +17217,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>218311</v>
+                                    <v>218313</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>51724</v>
+                                    <v>51725</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -17716,23 +17850,23 @@
         </relation>
         <relation>
             <name>params</name>
-            <cardinality>6354480</cardinality>
+            <cardinality>6350610</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>6190611</v>
+                    <v>6186841</v>
                 </e>
                 <e>
                     <k>function</k>
-                    <v>3491673</v>
+                    <v>3489546</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>7936</v>
+                    <v>7931</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>1846445</v>
+                    <v>1845321</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -17746,7 +17880,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6190611</v>
+                                    <v>6186841</v>
                                 </b>
                             </bs>
                         </hist>
@@ -17762,7 +17896,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6190611</v>
+                                    <v>6186841</v>
                                 </b>
                             </bs>
                         </hist>
@@ -17778,12 +17912,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6066892</v>
+                                    <v>6063198</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>123718</v>
+                                    <v>123643</v>
                                 </b>
                             </bs>
                         </hist>
@@ -17799,22 +17933,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1867454</v>
+                                    <v>1866317</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>952868</v>
+                                    <v>952288</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>429981</v>
+                                    <v>429719</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>18</b>
-                                    <v>241368</v>
+                                    <v>241221</v>
                                 </b>
                             </bs>
                         </hist>
@@ -17830,22 +17964,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1867454</v>
+                                    <v>1866317</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>952868</v>
+                                    <v>952288</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>429981</v>
+                                    <v>429719</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>18</b>
-                                    <v>241368</v>
+                                    <v>241221</v>
                                 </b>
                             </bs>
                         </hist>
@@ -17861,22 +17995,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2165780</v>
+                                    <v>2164461</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>826815</v>
+                                    <v>826311</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>346412</v>
+                                    <v>346201</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>12</b>
-                                    <v>152664</v>
+                                    <v>152571</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18074,7 +18208,7 @@
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -18130,22 +18264,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1183966</v>
+                                    <v>1183245</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>406171</v>
+                                    <v>405923</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>154064</v>
+                                    <v>153971</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>518</b>
-                                    <v>102243</v>
+                                    <v>102180</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18161,22 +18295,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1404792</v>
+                                    <v>1403937</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>212422</v>
+                                    <v>212293</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>147528</v>
+                                    <v>147439</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>502</b>
-                                    <v>81701</v>
+                                    <v>81651</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18192,17 +18326,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1420199</v>
+                                    <v>1419334</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>347346</v>
+                                    <v>347135</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>13</b>
-                                    <v>78899</v>
+                                    <v>78851</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18212,11 +18346,11 @@
         </relation>
         <relation>
             <name>overrides</name>
-            <cardinality>125725</cardinality>
+            <cardinality>125735</cardinality>
             <columnsizes>
                 <e>
                     <k>new</k>
-                    <v>122752</v>
+                    <v>122762</v>
                 </e>
                 <e>
                     <k>old</k>
@@ -18234,7 +18368,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>119788</v>
+                                    <v>119797</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -18642,11 +18776,11 @@
         </relation>
         <relation>
             <name>localvariables</name>
-            <cardinality>576944</cardinality>
+            <cardinality>576952</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>576944</v>
+                    <v>576952</v>
                 </e>
                 <e>
                     <k>type_id</k>
@@ -18654,7 +18788,7 @@
                 </e>
                 <e>
                     <k>name</k>
-                    <v>90547</v>
+                    <v>90549</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -18668,7 +18802,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>576944</v>
+                                    <v>576952</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18684,7 +18818,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>576944</v>
+                                    <v>576952</v>
                                 </b>
                             </bs>
                         </hist>
@@ -18705,7 +18839,7 @@
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>5362</v>
+                                    <v>5366</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -18715,7 +18849,7 @@
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>3380</v>
+                                    <v>3376</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -18741,7 +18875,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26908</v>
+                                    <v>26913</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -18751,7 +18885,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>2918</v>
+                                    <v>2914</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -18777,12 +18911,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>57031</v>
+                                    <v>57032</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>14284</v>
+                                    <v>14285</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -18813,7 +18947,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>76491</v>
+                                    <v>76492</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -18823,7 +18957,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>1486</b>
-                                    <v>6644</v>
+                                    <v>6645</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19851,31 +19985,31 @@
         </relation>
         <relation>
             <name>builtintypes</name>
-            <cardinality>26144</cardinality>
+            <cardinality>26128</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>26144</v>
+                    <v>26128</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>26144</v>
+                    <v>26128</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>26144</v>
+                    <v>26128</v>
                 </e>
                 <e>
                     <k>size</k>
-                    <v>3268</v>
+                    <v>3266</v>
                 </e>
                 <e>
                     <k>sign</k>
-                    <v>1400</v>
+                    <v>1399</v>
                 </e>
                 <e>
                     <k>alignment</k>
-                    <v>2334</v>
+                    <v>2332</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -19889,7 +20023,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19905,7 +20039,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19921,7 +20055,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19937,7 +20071,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19953,7 +20087,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19969,7 +20103,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -19985,7 +20119,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20001,7 +20135,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20017,7 +20151,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20033,7 +20167,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20049,7 +20183,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20065,7 +20199,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20081,7 +20215,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20097,7 +20231,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20113,7 +20247,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20272,7 +20406,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20288,12 +20422,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20408,7 +20542,7 @@
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20532,7 +20666,7 @@
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20548,7 +20682,7 @@
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20558,23 +20692,23 @@
         </relation>
         <relation>
             <name>derivedtypes</name>
-            <cardinality>3669548</cardinality>
+            <cardinality>3667313</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>3669548</v>
+                    <v>3667313</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>1552788</v>
+                    <v>1551842</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>2801</v>
+                    <v>2799</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>2362796</v>
+                    <v>2361357</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -20588,7 +20722,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3669548</v>
+                                    <v>3667313</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20604,7 +20738,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3669548</v>
+                                    <v>3667313</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20620,7 +20754,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3669548</v>
+                                    <v>3667313</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20636,17 +20770,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1324025</v>
+                                    <v>1323218</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>120450</v>
+                                    <v>120377</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>1153</b>
-                                    <v>108312</v>
+                                    <v>108246</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20662,7 +20796,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1551854</v>
+                                    <v>1550909</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -20683,17 +20817,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1324025</v>
+                                    <v>1323218</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>4</b>
-                                    <v>120450</v>
+                                    <v>120377</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>1135</b>
-                                    <v>108312</v>
+                                    <v>108246</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20832,22 +20966,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1515439</v>
+                                    <v>1514516</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>546230</v>
+                                    <v>545897</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>218492</v>
+                                    <v>218359</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>72</b>
-                                    <v>82634</v>
+                                    <v>82584</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20863,22 +20997,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1526644</v>
+                                    <v>1525714</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>538760</v>
+                                    <v>538432</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>215690</v>
+                                    <v>215559</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>72</b>
-                                    <v>81701</v>
+                                    <v>81651</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20894,22 +21028,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1519641</v>
+                                    <v>1518715</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>549965</v>
+                                    <v>549630</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>217558</v>
+                                    <v>217425</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>75631</v>
+                                    <v>75585</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20919,11 +21053,11 @@
         </relation>
         <relation>
             <name>pointerishsize</name>
-            <cardinality>2707342</cardinality>
+            <cardinality>2705693</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>2707342</v>
+                    <v>2705693</v>
                 </e>
                 <e>
                     <k>size</k>
@@ -20945,7 +21079,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2707342</v>
+                                    <v>2705693</v>
                                 </b>
                             </bs>
                         </hist>
@@ -20961,7 +21095,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2707342</v>
+                                    <v>2705693</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21035,23 +21169,23 @@
         </relation>
         <relation>
             <name>arraysizes</name>
-            <cardinality>88237</cardinality>
+            <cardinality>88183</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>88237</v>
+                    <v>88183</v>
                 </e>
                 <e>
                     <k>num_elements</k>
-                    <v>31746</v>
+                    <v>31727</v>
                 </e>
                 <e>
                     <k>bytesize</k>
-                    <v>33147</v>
+                    <v>33127</v>
                 </e>
                 <e>
                     <k>alignment</k>
-                    <v>1867</v>
+                    <v>1866</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -21065,7 +21199,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>88237</v>
+                                    <v>88183</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21081,7 +21215,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>88237</v>
+                                    <v>88183</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21097,7 +21231,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>88237</v>
+                                    <v>88183</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21113,22 +21247,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>23810</v>
+                                    <v>23795</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>13</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>13</a>
@@ -21149,17 +21283,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26611</v>
+                                    <v>26595</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21175,17 +21309,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26611</v>
+                                    <v>26595</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21201,27 +21335,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>23810</v>
+                                    <v>23795</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>16</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21237,17 +21371,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>27544</v>
+                                    <v>27528</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21263,12 +21397,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>27544</v>
+                                    <v>27528</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -21371,15 +21505,15 @@
         </relation>
         <relation>
             <name>typedefbase</name>
-            <cardinality>1686099</cardinality>
+            <cardinality>1686109</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1686099</v>
+                    <v>1686109</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>793481</v>
+                    <v>793485</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -21393,7 +21527,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1686099</v>
+                                    <v>1686109</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21409,12 +21543,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>617400</v>
+                                    <v>617404</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>83253</v>
+                                    <v>83254</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -21720,19 +21854,19 @@
         </relation>
         <relation>
             <name>usertypes</name>
-            <cardinality>5234008</cardinality>
+            <cardinality>5230820</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>5234008</v>
+                    <v>5230820</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>1352503</v>
+                    <v>1351680</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>5135</v>
+                    <v>5132</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -21746,7 +21880,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5234008</v>
+                                    <v>5230820</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21762,7 +21896,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5234008</v>
+                                    <v>5230820</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21778,27 +21912,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>983681</v>
+                                    <v>983082</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>153598</v>
+                                    <v>153504</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>104577</v>
+                                    <v>104513</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>61</b>
-                                    <v>101776</v>
+                                    <v>101714</v>
                                 </b>
                                 <b>
                                     <a>65</a>
                                     <b>874</b>
-                                    <v>8870</v>
+                                    <v>8865</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21814,17 +21948,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1211977</v>
+                                    <v>1211239</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>125586</v>
+                                    <v>125509</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>14939</v>
+                                    <v>14930</v>
                                 </b>
                             </bs>
                         </hist>
@@ -21966,19 +22100,19 @@
         </relation>
         <relation>
             <name>usertypesize</name>
-            <cardinality>1706386</cardinality>
+            <cardinality>1705347</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1706386</v>
+                    <v>1705347</v>
                 </e>
                 <e>
                     <k>size</k>
-                    <v>13539</v>
+                    <v>13530</v>
                 </e>
                 <e>
                     <k>alignment</k>
-                    <v>2334</v>
+                    <v>2332</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -21992,7 +22126,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1706386</v>
+                                    <v>1705347</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22008,7 +22142,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1706386</v>
+                                    <v>1705347</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22024,12 +22158,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3268</v>
+                                    <v>3266</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>4201</v>
+                                    <v>4199</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -22080,12 +22214,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -22236,15 +22370,15 @@
         </relation>
         <relation>
             <name>mangled_name</name>
-            <cardinality>9019338</cardinality>
+            <cardinality>9013845</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>9019338</v>
+                    <v>9013845</v>
                 </e>
                 <e>
                     <k>mangled_name</k>
-                    <v>6061757</v>
+                    <v>6058065</v>
                 </e>
                 <e>
                     <k>is_complete</k>
@@ -22262,7 +22396,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>9019338</v>
+                                    <v>9013845</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22278,7 +22412,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>9019338</v>
+                                    <v>9013845</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22294,12 +22428,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>5789108</v>
+                                    <v>5785583</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>874</b>
-                                    <v>272648</v>
+                                    <v>272482</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22315,7 +22449,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>6061757</v>
+                                    <v>6058065</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22357,59 +22491,59 @@
         </relation>
         <relation>
             <name>is_pod_class</name>
-            <cardinality>534710</cardinality>
+            <cardinality>534713</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>534710</v>
+                    <v>534713</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>is_standard_layout_class</name>
-            <cardinality>1253995</cardinality>
+            <cardinality>1253232</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1253995</v>
+                    <v>1253232</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>is_complete</name>
-            <cardinality>1645694</cardinality>
+            <cardinality>1644692</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1645694</v>
+                    <v>1644692</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>is_class_template</name>
-            <cardinality>398234</cardinality>
+            <cardinality>397992</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>398234</v>
+                    <v>397992</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>class_instantiation</name>
-            <cardinality>1089659</cardinality>
+            <cardinality>1088996</cardinality>
             <columnsizes>
                 <e>
                     <k>to</k>
-                    <v>1089659</v>
+                    <v>1088996</v>
                 </e>
                 <e>
                     <k>from</k>
-                    <v>168537</v>
+                    <v>168435</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -22423,7 +22557,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1089659</v>
+                                    <v>1088996</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22439,47 +22573,47 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>59758</v>
+                                    <v>59722</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>29412</v>
+                                    <v>29394</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>15873</v>
+                                    <v>15863</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>13072</v>
+                                    <v>13064</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>9804</v>
+                                    <v>9798</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>10</b>
-                                    <v>12605</v>
+                                    <v>12597</v>
                                 </b>
                                 <b>
                                     <a>10</a>
                                     <b>16</b>
-                                    <v>13072</v>
+                                    <v>13064</v>
                                 </b>
                                 <b>
                                     <a>16</a>
                                     <b>70</b>
-                                    <v>13539</v>
+                                    <v>13530</v>
                                 </b>
                                 <b>
                                     <a>70</a>
                                     <b>84</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22489,11 +22623,11 @@
         </relation>
         <relation>
             <name>class_template_argument</name>
-            <cardinality>2882732</cardinality>
+            <cardinality>2882750</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>1315503</v>
+                    <v>1315511</v>
                 </e>
                 <e>
                     <k>index</k>
@@ -22501,7 +22635,7 @@
                 </e>
                 <e>
                     <k>arg_type</k>
-                    <v>840385</v>
+                    <v>840390</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -22515,22 +22649,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>540953</v>
+                                    <v>540956</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>399235</v>
+                                    <v>399237</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>231395</v>
+                                    <v>231396</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>7</b>
-                                    <v>120314</v>
+                                    <v>120315</v>
                                 </b>
                                 <b>
                                     <a>7</a>
@@ -22551,17 +22685,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>567605</v>
+                                    <v>567609</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>410478</v>
+                                    <v>410481</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>244840</v>
+                                    <v>244841</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -22674,17 +22808,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>523343</v>
+                                    <v>523346</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>174342</v>
+                                    <v>174343</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>51340</v>
+                                    <v>51341</v>
                                 </b>
                                 <b>
                                     <a>4</a>
@@ -22710,7 +22844,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>746486</v>
+                                    <v>746490</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -22730,19 +22864,19 @@
         </relation>
         <relation>
             <name>class_template_argument_value</name>
-            <cardinality>495342</cardinality>
+            <cardinality>495040</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>304861</v>
+                    <v>304676</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>1867</v>
+                    <v>1866</v>
                 </e>
                 <e>
                     <k>arg_value</k>
-                    <v>495342</v>
+                    <v>495040</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -22756,17 +22890,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>249772</v>
+                                    <v>249619</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>53222</v>
+                                    <v>53190</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22782,22 +22916,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>189546</v>
+                                    <v>189431</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>81234</v>
+                                    <v>81184</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>12138</v>
+                                    <v>12131</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>9</b>
-                                    <v>21942</v>
+                                    <v>21929</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22875,7 +23009,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>495342</v>
+                                    <v>495040</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22891,7 +23025,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>495342</v>
+                                    <v>495040</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22901,15 +23035,15 @@
         </relation>
         <relation>
             <name>is_proxy_class_for</name>
-            <cardinality>62092</cardinality>
+            <cardinality>62055</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>62092</v>
+                    <v>62055</v>
                 </e>
                 <e>
                     <k>templ_param_id</k>
-                    <v>62092</v>
+                    <v>62055</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -22923,7 +23057,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>62092</v>
+                                    <v>62055</v>
                                 </b>
                             </bs>
                         </hist>
@@ -22939,7 +23073,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>62092</v>
+                                    <v>62055</v>
                                 </b>
                             </bs>
                         </hist>
@@ -23245,11 +23379,11 @@
         </relation>
         <relation>
             <name>is_function_template</name>
-            <cardinality>1402925</cardinality>
+            <cardinality>1402070</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1402925</v>
+                    <v>1402070</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -24380,19 +24514,19 @@
         </relation>
         <relation>
             <name>routinetypeargs</name>
-            <cardinality>983214</cardinality>
+            <cardinality>982616</cardinality>
             <columnsizes>
                 <e>
                     <k>routine</k>
-                    <v>423445</v>
+                    <v>423187</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>7936</v>
+                    <v>7931</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>226895</v>
+                    <v>226757</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -24406,27 +24540,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>152664</v>
+                                    <v>152571</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>133989</v>
+                                    <v>133908</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>63493</v>
+                                    <v>63454</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>45752</v>
+                                    <v>45724</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>18</b>
-                                    <v>27544</v>
+                                    <v>27528</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24442,27 +24576,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>182543</v>
+                                    <v>182432</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>133522</v>
+                                    <v>133441</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>58824</v>
+                                    <v>58788</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>33614</v>
+                                    <v>33593</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>11</b>
-                                    <v>14939</v>
+                                    <v>14930</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24503,7 +24637,7 @@
                                 <b>
                                     <a>10</a>
                                     <b>11</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>13</a>
@@ -24564,7 +24698,7 @@
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>5</a>
@@ -24620,27 +24754,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>146595</v>
+                                    <v>146505</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>30812</v>
+                                    <v>30794</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>5</b>
-                                    <v>16807</v>
+                                    <v>16796</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>12</b>
-                                    <v>18207</v>
+                                    <v>18196</v>
                                 </b>
                                 <b>
                                     <a>12</a>
                                     <b>110</b>
-                                    <v>14472</v>
+                                    <v>14463</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24656,22 +24790,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>172739</v>
+                                    <v>172634</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>30812</v>
+                                    <v>30794</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>6</b>
-                                    <v>18674</v>
+                                    <v>18663</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>14</b>
-                                    <v>4668</v>
+                                    <v>4665</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24681,19 +24815,19 @@
         </relation>
         <relation>
             <name>ptrtomembers</name>
-            <cardinality>37815</cardinality>
+            <cardinality>37792</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>37815</v>
+                    <v>37792</v>
                 </e>
                 <e>
                     <k>type_id</k>
-                    <v>37815</v>
+                    <v>37792</v>
                 </e>
                 <e>
                     <k>class_id</k>
-                    <v>15406</v>
+                    <v>15397</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -24707,7 +24841,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>37815</v>
+                                    <v>37792</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24723,7 +24857,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>37815</v>
+                                    <v>37792</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24739,7 +24873,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>37815</v>
+                                    <v>37792</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24755,7 +24889,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>37815</v>
+                                    <v>37792</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24771,12 +24905,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>13539</v>
+                                    <v>13530</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>9</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>28</a>
@@ -24797,12 +24931,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>13539</v>
+                                    <v>13530</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>9</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                                 <b>
                                     <a>28</a>
@@ -24817,15 +24951,15 @@
         </relation>
         <relation>
             <name>specifiers</name>
-            <cardinality>24743</cardinality>
+            <cardinality>24728</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>24743</v>
+                    <v>24728</v>
                 </e>
                 <e>
                     <k>str</k>
-                    <v>24743</v>
+                    <v>24728</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -24839,7 +24973,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>24743</v>
+                                    <v>24728</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24855,7 +24989,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>24743</v>
+                                    <v>24728</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24865,15 +24999,15 @@
         </relation>
         <relation>
             <name>typespecifiers</name>
-            <cardinality>1132144</cardinality>
+            <cardinality>1131454</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>1113936</v>
+                    <v>1113258</v>
                 </e>
                 <e>
                     <k>spec_id</k>
-                    <v>3734</v>
+                    <v>3732</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -24887,12 +25021,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1095728</v>
+                                    <v>1095061</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>18207</v>
+                                    <v>18196</v>
                                 </b>
                             </bs>
                         </hist>
@@ -24948,15 +25082,15 @@
         </relation>
         <relation>
             <name>funspecifiers</name>
-            <cardinality>10304614</cardinality>
+            <cardinality>10298338</cardinality>
             <columnsizes>
                 <e>
                     <k>func_id</k>
-                    <v>4068249</v>
+                    <v>4065772</v>
                 </e>
                 <e>
                     <k>spec_id</k>
-                    <v>8403</v>
+                    <v>8398</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -24970,27 +25104,27 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1357639</v>
+                                    <v>1356812</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>641003</v>
+                                    <v>640613</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>985082</v>
+                                    <v>984482</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>780129</v>
+                                    <v>779654</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>8</b>
-                                    <v>304395</v>
+                                    <v>304209</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25101,15 +25235,15 @@
         </relation>
         <relation>
             <name>varspecifiers</name>
-            <cardinality>2246080</cardinality>
+            <cardinality>2244713</cardinality>
             <columnsizes>
                 <e>
                     <k>var_id</k>
-                    <v>1225050</v>
+                    <v>1224304</v>
                 </e>
                 <e>
                     <k>spec_id</k>
-                    <v>3734</v>
+                    <v>3732</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -25123,22 +25257,22 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>730174</v>
+                                    <v>729730</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>202618</v>
+                                    <v>202495</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>58357</v>
+                                    <v>58322</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>233898</v>
+                                    <v>233756</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25247,19 +25381,19 @@
         </relation>
         <relation>
             <name>attributes</name>
-            <cardinality>561636</cardinality>
+            <cardinality>561294</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>561636</v>
+                    <v>561294</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>1400</v>
+                    <v>1399</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>11204</v>
+                    <v>11197</v>
                 </e>
                 <e>
                     <k>name_space</k>
@@ -25267,7 +25401,7 @@
                 </e>
                 <e>
                     <k>location</k>
-                    <v>481336</v>
+                    <v>481043</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -25281,7 +25415,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>561636</v>
+                                    <v>561294</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25297,7 +25431,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>561636</v>
+                                    <v>561294</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25313,7 +25447,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>561636</v>
+                                    <v>561294</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25329,7 +25463,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>561636</v>
+                                    <v>561294</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25520,7 +25654,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -25541,7 +25675,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>11204</v>
+                                    <v>11197</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25712,17 +25846,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>431848</v>
+                                    <v>431585</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>20075</v>
+                                    <v>20062</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>7</b>
-                                    <v>29412</v>
+                                    <v>29394</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25738,7 +25872,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>481336</v>
+                                    <v>481043</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25754,17 +25888,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>433249</v>
+                                    <v>432985</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>19608</v>
+                                    <v>19596</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>28478</v>
+                                    <v>28461</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25780,7 +25914,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>481336</v>
+                                    <v>481043</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25790,27 +25924,27 @@
         </relation>
         <relation>
             <name>attribute_args</name>
-            <cardinality>344078</cardinality>
+            <cardinality>343868</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>344078</v>
+                    <v>343868</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>1400</v>
+                    <v>1399</v>
                 </e>
                 <e>
                     <k>attribute</k>
-                    <v>262844</v>
+                    <v>262684</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>1400</v>
+                    <v>1399</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>327738</v>
+                    <v>327538</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -25824,7 +25958,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>344078</v>
+                                    <v>343868</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25840,7 +25974,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>344078</v>
+                                    <v>343868</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25856,7 +25990,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>344078</v>
+                                    <v>343868</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25872,7 +26006,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>344078</v>
+                                    <v>343868</v>
                                 </b>
                             </bs>
                         </hist>
@@ -25987,17 +26121,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>197483</v>
+                                    <v>197363</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>49487</v>
+                                    <v>49457</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>15873</v>
+                                    <v>15863</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26013,12 +26147,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>252573</v>
+                                    <v>252419</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26034,17 +26168,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>197483</v>
+                                    <v>197363</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>49487</v>
+                                    <v>49457</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>15873</v>
+                                    <v>15863</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26060,17 +26194,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>197483</v>
+                                    <v>197363</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>49487</v>
+                                    <v>49457</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>15873</v>
+                                    <v>15863</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26185,12 +26319,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>313732</v>
+                                    <v>313541</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>7</b>
-                                    <v>14005</v>
+                                    <v>13997</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26206,12 +26340,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>315132</v>
+                                    <v>314941</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>12605</v>
+                                    <v>12597</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26227,12 +26361,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>313732</v>
+                                    <v>313541</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>7</b>
-                                    <v>14005</v>
+                                    <v>13997</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26248,7 +26382,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>327738</v>
+                                    <v>327538</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26258,15 +26392,15 @@
         </relation>
         <relation>
             <name>attribute_arg_value</name>
-            <cardinality>25210</cardinality>
+            <cardinality>25195</cardinality>
             <columnsizes>
                 <e>
                     <k>arg</k>
-                    <v>25210</v>
+                    <v>25195</v>
                 </e>
                 <e>
                     <k>value</k>
-                    <v>15873</v>
+                    <v>15863</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26280,7 +26414,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>25210</v>
+                                    <v>25195</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26296,12 +26430,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>14472</v>
+                                    <v>14463</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>16</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26359,15 +26493,15 @@
         </relation>
         <relation>
             <name>attribute_arg_constant</name>
-            <cardinality>318400</cardinality>
+            <cardinality>318207</cardinality>
             <columnsizes>
                 <e>
                     <k>arg</k>
-                    <v>318400</v>
+                    <v>318207</v>
                 </e>
                 <e>
                     <k>constant</k>
-                    <v>318400</v>
+                    <v>318207</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26381,7 +26515,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>318400</v>
+                                    <v>318207</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26397,7 +26531,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>318400</v>
+                                    <v>318207</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26407,15 +26541,15 @@
         </relation>
         <relation>
             <name>attribute_arg_expr</name>
-            <cardinality>0</cardinality>
+            <cardinality>3</cardinality>
             <columnsizes>
                 <e>
                     <k>arg</k>
-                    <v>0</v>
+                    <v>3</v>
                 </e>
                 <e>
                     <k>expr</k>
-                    <v>0</v>
+                    <v>3</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26429,7 +26563,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>3</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26441,7 +26575,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>3</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -26449,15 +26589,15 @@
         </relation>
         <relation>
             <name>attribute_arg_name</name>
-            <cardinality>0</cardinality>
+            <cardinality>6</cardinality>
             <columnsizes>
                 <e>
                     <k>arg</k>
-                    <v>0</v>
+                    <v>6</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>0</v>
+                    <v>5</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26471,7 +26611,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>6</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26483,7 +26623,18 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>4</v>
+                                </b>
+                                <b>
+                                    <a>2</a>
+                                    <b>3</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -26559,15 +26710,15 @@
         </relation>
         <relation>
             <name>funcattributes</name>
-            <cardinality>630265</cardinality>
+            <cardinality>629882</cardinality>
             <columnsizes>
                 <e>
                     <k>func_id</k>
-                    <v>443520</v>
+                    <v>443250</v>
                 </e>
                 <e>
                     <k>spec_id</k>
-                    <v>524754</v>
+                    <v>524435</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26581,17 +26732,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>338476</v>
+                                    <v>338269</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>64427</v>
+                                    <v>64387</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>6</b>
-                                    <v>39683</v>
+                                    <v>39659</v>
                                 </b>
                                 <b>
                                     <a>6</a>
@@ -26612,12 +26763,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>506080</v>
+                                    <v>505771</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>17</b>
-                                    <v>18674</v>
+                                    <v>18663</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26753,15 +26904,15 @@
         </relation>
         <relation>
             <name>unspecifiedtype</name>
-            <cardinality>9488069</cardinality>
+            <cardinality>9482291</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>9488069</v>
+                    <v>9482291</v>
                 </e>
                 <e>
                     <k>unspecified_type_id</k>
-                    <v>6490338</v>
+                    <v>6486385</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26775,7 +26926,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>9488069</v>
+                                    <v>9482291</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26791,17 +26942,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4558923</v>
+                                    <v>4556146</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>1715723</v>
+                                    <v>1714678</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>145</b>
-                                    <v>215690</v>
+                                    <v>215559</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26811,19 +26962,19 @@
         </relation>
         <relation>
             <name>member</name>
-            <cardinality>3881037</cardinality>
+            <cardinality>3878673</cardinality>
             <columnsizes>
                 <e>
                     <k>parent</k>
-                    <v>545763</v>
+                    <v>545431</v>
                 </e>
                 <e>
                     <k>index</k>
-                    <v>92905</v>
+                    <v>92849</v>
                 </e>
                 <e>
                     <k>child</k>
-                    <v>3809607</v>
+                    <v>3807287</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -26837,47 +26988,47 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>129788</v>
+                                    <v>129709</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>64894</v>
+                                    <v>64854</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>73297</v>
+                                    <v>73252</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>75165</v>
+                                    <v>75119</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>40617</v>
+                                    <v>40592</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>8</b>
-                                    <v>46686</v>
+                                    <v>46657</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>14</b>
-                                    <v>45752</v>
+                                    <v>45724</v>
                                 </b>
                                 <b>
                                     <a>14</a>
                                     <b>30</b>
-                                    <v>41550</v>
+                                    <v>41525</v>
                                 </b>
                                 <b>
                                     <a>30</a>
                                     <b>200</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26893,52 +27044,52 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>129788</v>
+                                    <v>129709</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>64894</v>
+                                    <v>64854</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>73297</v>
+                                    <v>73252</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>76098</v>
+                                    <v>76052</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>39683</v>
+                                    <v>39659</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>24276</v>
+                                    <v>24262</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>9</b>
-                                    <v>42017</v>
+                                    <v>41992</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>17</b>
-                                    <v>43885</v>
+                                    <v>43858</v>
                                 </b>
                                 <b>
                                     <a>17</a>
                                     <b>41</b>
-                                    <v>41550</v>
+                                    <v>41525</v>
                                 </b>
                                 <b>
                                     <a>41</a>
                                     <b>200</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                             </bs>
                         </hist>
@@ -26954,62 +27105,62 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>7936</v>
+                                    <v>7931</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>9</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>16</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>16</a>
                                     <b>52</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>52</a>
                                     <b>107</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>108</a>
                                     <b>577</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>737</a>
                                     <b>1162</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -27025,62 +27176,62 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>26144</v>
+                                    <v>26128</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>3734</v>
+                                    <v>3732</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>7936</v>
+                                    <v>7931</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>6</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>7</b>
-                                    <v>5602</v>
+                                    <v>5598</v>
                                 </b>
                                 <b>
                                     <a>7</a>
                                     <b>9</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                                 <b>
                                     <a>9</a>
                                     <b>16</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>16</a>
                                     <b>52</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>52</a>
                                     <b>107</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>108</a>
                                     <b>577</b>
-                                    <v>7002</v>
+                                    <v>6998</v>
                                 </b>
                                 <b>
                                     <a>738</a>
                                     <b>1163</b>
-                                    <v>1400</v>
+                                    <v>1399</v>
                                 </b>
                             </bs>
                         </hist>
@@ -27096,7 +27247,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3809607</v>
+                                    <v>3807287</v>
                                 </b>
                             </bs>
                         </hist>
@@ -27112,12 +27263,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>3738177</v>
+                                    <v>3735900</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>71430</v>
+                                    <v>71386</v>
                                 </b>
                             </bs>
                         </hist>
@@ -27127,11 +27278,11 @@
         </relation>
         <relation>
             <name>enclosingfunction</name>
-            <cardinality>118327</cardinality>
+            <cardinality>118328</cardinality>
             <columnsizes>
                 <e>
                     <k>child</k>
-                    <v>118327</v>
+                    <v>118328</v>
                 </e>
                 <e>
                     <k>parent</k>
@@ -27149,7 +27300,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>118327</v>
+                                    <v>118328</v>
                                 </b>
                             </bs>
                         </hist>
@@ -27180,7 +27331,7 @@
                                 <b>
                                     <a>4</a>
                                     <b>45</b>
-                                    <v>4887</v>
+                                    <v>4888</v>
                                 </b>
                             </bs>
                         </hist>
@@ -28647,15 +28798,15 @@
         </relation>
         <relation>
             <name>commentbinding</name>
-            <cardinality>3091104</cardinality>
+            <cardinality>3089221</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>2445431</v>
+                    <v>2443942</v>
                 </e>
                 <e>
                     <k>element</k>
-                    <v>3014538</v>
+                    <v>3012702</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -28669,12 +28820,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2368399</v>
+                                    <v>2366956</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>97</b>
-                                    <v>77032</v>
+                                    <v>76985</v>
                                 </b>
                             </bs>
                         </hist>
@@ -28690,12 +28841,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2937972</v>
+                                    <v>2936183</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>76565</v>
+                                    <v>76519</v>
                                 </b>
                             </bs>
                         </hist>
@@ -29100,15 +29251,15 @@
         </relation>
         <relation>
             <name>namespaces</name>
-            <cardinality>12138</cardinality>
+            <cardinality>12131</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>12138</v>
+                    <v>12131</v>
                 </e>
                 <e>
                     <k>name</k>
-                    <v>9804</v>
+                    <v>9798</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -29122,7 +29273,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>12138</v>
+                                    <v>12131</v>
                                 </b>
                             </bs>
                         </hist>
@@ -29138,7 +29289,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>8403</v>
+                                    <v>8398</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -29158,26 +29309,26 @@
         </relation>
         <relation>
             <name>namespace_inline</name>
-            <cardinality>1400</cardinality>
+            <cardinality>1399</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>1400</v>
+                    <v>1399</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>namespacembrs</name>
-            <cardinality>2388007</cardinality>
+            <cardinality>2386553</cardinality>
             <columnsizes>
                 <e>
                     <k>parentid</k>
-                    <v>10270</v>
+                    <v>10264</v>
                 </e>
                 <e>
                     <k>memberid</k>
-                    <v>2388007</v>
+                    <v>2386553</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -29191,7 +29342,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -29252,7 +29403,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2388007</v>
+                                    <v>2386553</v>
                                 </b>
                             </bs>
                         </hist>
@@ -29748,7 +29899,7 @@
                 </e>
                 <e>
                     <k>qualifyingelement</k>
-                    <v>97518</v>
+                    <v>97537</v>
                 </e>
                 <e>
                     <k>location</k>
@@ -29862,7 +30013,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>58401</v>
+                                    <v>58420</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -29898,7 +30049,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>58401</v>
+                                    <v>58420</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -29934,7 +30085,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>63815</v>
+                                    <v>63834</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -30047,12 +30198,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>137073</v>
+                                    <v>137054</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>55684</v>
+                                    <v>55703</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -30173,7 +30324,7 @@
                 </e>
                 <e>
                     <k>fun</k>
-                    <v>511304</v>
+                    <v>511342</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -30208,12 +30359,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>315012</v>
+                                    <v>315088</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>77931</v>
+                                    <v>77893</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -31993,15 +32144,15 @@
         </relation>
         <relation>
             <name>expr_types</name>
-            <cardinality>18451396</cardinality>
+            <cardinality>18451397</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>18319782</v>
+                    <v>18319781</v>
                 </e>
                 <e>
                     <k>typeid</k>
-                    <v>1214616</v>
+                    <v>1214623</v>
                 </e>
                 <e>
                     <k>value_category</k>
@@ -32019,12 +32170,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>18188167</v>
+                                    <v>18188166</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>131614</v>
+                                    <v>131615</v>
                                 </b>
                             </bs>
                         </hist>
@@ -32040,7 +32191,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>18319782</v>
+                                    <v>18319781</v>
                                 </b>
                             </bs>
                         </hist>
@@ -32056,42 +32207,42 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>438565</v>
+                                    <v>438567</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>249332</v>
+                                    <v>249345</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>102839</v>
+                                    <v>102817</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>5</b>
-                                    <v>81865</v>
+                                    <v>81877</v>
                                 </b>
                                 <b>
                                     <a>5</a>
                                     <b>8</b>
-                                    <v>109274</v>
+                                    <v>109275</v>
                                 </b>
                                 <b>
                                     <a>8</a>
                                     <b>14</b>
-                                    <v>96495</v>
+                                    <v>96496</v>
                                 </b>
                                 <b>
                                     <a>14</a>
                                     <b>41</b>
-                                    <v>91664</v>
+                                    <v>91653</v>
                                 </b>
                                 <b>
                                     <a>41</a>
                                     <b>125325</b>
-                                    <v>44578</v>
+                                    <v>44590</v>
                                 </b>
                             </bs>
                         </hist>
@@ -32107,7 +32258,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1050230</v>
+                                    <v>1050237</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -32141,8 +32292,8 @@
                                     <v>11</v>
                                 </b>
                                 <b>
-                                    <a>1239489</a>
-                                    <b>1239490</b>
+                                    <a>1239479</a>
+                                    <b>1239480</b>
                                     <v>11</v>
                                 </b>
                             </bs>
@@ -32179,11 +32330,11 @@
         </relation>
         <relation>
             <name>compound_requirement_is_noexcept</name>
-            <cardinality>0</cardinality>
+            <cardinality>1</cardinality>
             <columnsizes>
                 <e>
                     <k>expr</k>
-                    <v>0</v>
+                    <v>1</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -33570,15 +33721,15 @@
         </relation>
         <relation>
             <name>code_block</name>
-            <cardinality>0</cardinality>
+            <cardinality>15</cardinality>
             <columnsizes>
                 <e>
                     <k>block</k>
-                    <v>0</v>
+                    <v>15</v>
                 </e>
                 <e>
                     <k>routine</k>
-                    <v>0</v>
+                    <v>15</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -33592,7 +33743,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>15</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33608,7 +33759,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>15</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33618,11 +33769,11 @@
         </relation>
         <relation>
             <name>lambdas</name>
-            <cardinality>21475</cardinality>
+            <cardinality>21462</cardinality>
             <columnsizes>
                 <e>
                     <k>expr</k>
-                    <v>21475</v>
+                    <v>21462</v>
                 </e>
                 <e>
                     <k>default_capture</k>
@@ -33644,7 +33795,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>21475</v>
+                                    <v>21462</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33660,7 +33811,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>21475</v>
+                                    <v>21462</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33734,15 +33885,15 @@
         </relation>
         <relation>
             <name>lambda_capture</name>
-            <cardinality>28011</cardinality>
+            <cardinality>27994</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>28011</v>
+                    <v>27994</v>
                 </e>
                 <e>
                     <k>lambda</k>
-                    <v>20541</v>
+                    <v>20529</v>
                 </e>
                 <e>
                     <k>index</k>
@@ -33750,7 +33901,7 @@
                 </e>
                 <e>
                     <k>field</k>
-                    <v>28011</v>
+                    <v>27994</v>
                 </e>
                 <e>
                     <k>captured_by_reference</k>
@@ -33762,7 +33913,7 @@
                 </e>
                 <e>
                     <k>location</k>
-                    <v>2801</v>
+                    <v>2799</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -33776,7 +33927,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33792,7 +33943,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33808,7 +33959,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33824,7 +33975,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33840,7 +33991,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33856,7 +34007,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33872,12 +34023,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>13072</v>
+                                    <v>13064</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33893,12 +34044,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>13072</v>
+                                    <v>13064</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33914,12 +34065,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>13072</v>
+                                    <v>13064</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33935,7 +34086,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>20541</v>
+                                    <v>20529</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33951,7 +34102,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>20541</v>
+                                    <v>20529</v>
                                 </b>
                             </bs>
                         </hist>
@@ -33967,12 +34118,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>13072</v>
+                                    <v>13064</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>7469</v>
+                                    <v>7465</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34104,7 +34255,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34120,7 +34271,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34136,7 +34287,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34152,7 +34303,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34168,7 +34319,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34184,7 +34335,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>28011</v>
+                                    <v>27994</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34392,7 +34543,7 @@
                                 <b>
                                     <a>8</a>
                                     <b>9</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>14</a>
@@ -34413,7 +34564,7 @@
                                 <b>
                                     <a>8</a>
                                     <b>9</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>14</a>
@@ -34434,7 +34585,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34450,7 +34601,7 @@
                                 <b>
                                     <a>8</a>
                                     <b>9</b>
-                                    <v>1867</v>
+                                    <v>1866</v>
                                 </b>
                                 <b>
                                     <a>14</a>
@@ -34471,7 +34622,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34487,7 +34638,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>2801</v>
+                                    <v>2799</v>
                                 </b>
                             </bs>
                         </hist>
@@ -34497,19 +34648,19 @@
         </relation>
         <relation>
             <name>fold</name>
-            <cardinality>0</cardinality>
+            <cardinality>4</cardinality>
             <columnsizes>
                 <e>
                     <k>expr</k>
-                    <v>0</v>
+                    <v>4</v>
                 </e>
                 <e>
                     <k>operator</k>
-                    <v>0</v>
+                    <v>4</v>
                 </e>
                 <e>
                     <k>is_left_fold</k>
-                    <v>0</v>
+                    <v>2</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -34519,7 +34670,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>4</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34529,7 +34686,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>4</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34539,7 +34702,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>4</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34549,7 +34718,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>4</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34559,7 +34734,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>2</a>
+                                    <b>3</b>
+                                    <v>2</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34569,7 +34750,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>2</a>
+                                    <b>3</b>
+                                    <v>2</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34893,15 +35080,15 @@
         </relation>
         <relation>
             <name>type_vla</name>
-            <cardinality>0</cardinality>
+            <cardinality>1</cardinality>
             <columnsizes>
                 <e>
                     <k>type_id</k>
-                    <v>0</v>
+                    <v>1</v>
                 </e>
                 <e>
                     <k>decl</k>
-                    <v>0</v>
+                    <v>1</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -34911,7 +35098,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -34921,7 +35114,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>1</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -35121,15 +35320,15 @@
         </relation>
         <relation>
             <name>constexpr_if_initialization</name>
-            <cardinality>0</cardinality>
+            <cardinality>3</cardinality>
             <columnsizes>
                 <e>
                     <k>constexpr_if_stmt</k>
-                    <v>0</v>
+                    <v>3</v>
                 </e>
                 <e>
                     <k>init_id</k>
-                    <v>0</v>
+                    <v>3</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -35143,7 +35342,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>3</v>
                                 </b>
                             </bs>
                         </hist>
@@ -35155,7 +35354,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>3</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -35355,15 +35560,15 @@
         </relation>
         <relation>
             <name>switch_initialization</name>
-            <cardinality>0</cardinality>
+            <cardinality>8</cardinality>
             <columnsizes>
                 <e>
                     <k>switch_stmt</k>
-                    <v>0</v>
+                    <v>8</v>
                 </e>
                 <e>
                     <k>init_id</k>
-                    <v>0</v>
+                    <v>8</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -35377,7 +35582,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>17</v>
+                                    <v>8</v>
                                 </b>
                             </bs>
                         </hist>
@@ -35389,7 +35594,13 @@
                     <val>
                         <hist>
                             <budget>12</budget>
-                            <bs/>
+                            <bs>
+                                <b>
+                                    <a>1</a>
+                                    <b>2</b>
+                                    <v>8</v>
+                                </b>
+                            </bs>
                         </hist>
                     </val>
                 </dep>
@@ -36170,11 +36381,11 @@
         </relation>
         <relation>
             <name>stmt_decl_bind</name>
-            <cardinality>580841</cardinality>
+            <cardinality>580849</cardinality>
             <columnsizes>
                 <e>
                     <k>stmt</k>
-                    <v>541059</v>
+                    <v>541066</v>
                 </e>
                 <e>
                     <k>num</k>
@@ -36182,7 +36393,7 @@
                 </e>
                 <e>
                     <k>decl</k>
-                    <v>580737</v>
+                    <v>580745</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -36196,7 +36407,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>520371</v>
+                                    <v>520377</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -36217,7 +36428,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>520371</v>
+                                    <v>520377</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -36420,7 +36631,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580700</v>
+                                    <v>580707</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -36441,7 +36652,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580737</v>
+                                    <v>580745</v>
                                 </b>
                             </bs>
                         </hist>
@@ -36451,11 +36662,11 @@
         </relation>
         <relation>
             <name>stmt_decl_entry_bind</name>
-            <cardinality>580841</cardinality>
+            <cardinality>580849</cardinality>
             <columnsizes>
                 <e>
                     <k>stmt</k>
-                    <v>541059</v>
+                    <v>541066</v>
                 </e>
                 <e>
                     <k>num</k>
@@ -36463,7 +36674,7 @@
                 </e>
                 <e>
                     <k>decl_entry</k>
-                    <v>580783</v>
+                    <v>580791</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -36477,7 +36688,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>520371</v>
+                                    <v>520377</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -36498,7 +36709,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>520371</v>
+                                    <v>520377</v>
                                 </b>
                                 <b>
                                     <a>2</a>
@@ -36701,7 +36912,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580762</v>
+                                    <v>580770</v>
                                 </b>
                                 <b>
                                     <a>3</a>
@@ -36722,7 +36933,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>580783</v>
+                                    <v>580791</v>
                                 </b>
                             </bs>
                         </hist>
@@ -36732,15 +36943,15 @@
         </relation>
         <relation>
             <name>blockscope</name>
-            <cardinality>1410861</cardinality>
+            <cardinality>1410469</cardinality>
             <columnsizes>
                 <e>
                     <k>block</k>
-                    <v>1410861</v>
+                    <v>1410469</v>
                 </e>
                 <e>
                     <k>enclosing</k>
-                    <v>1295546</v>
+                    <v>1295224</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -36754,7 +36965,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1410861</v>
+                                    <v>1410469</v>
                                 </b>
                             </bs>
                         </hist>
@@ -36770,12 +36981,12 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1230185</v>
+                                    <v>1229903</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>13</b>
-                                    <v>65360</v>
+                                    <v>65321</v>
                                 </b>
                             </bs>
                         </hist>
@@ -36971,19 +37182,19 @@
         </relation>
         <relation>
             <name>preprocdirects</name>
-            <cardinality>4190567</cardinality>
+            <cardinality>4188015</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>4190567</v>
+                    <v>4188015</v>
                 </e>
                 <e>
                     <k>kind</k>
-                    <v>5135</v>
+                    <v>5132</v>
                 </e>
                 <e>
                     <k>location</k>
-                    <v>4149950</v>
+                    <v>4147423</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -36997,7 +37208,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4190567</v>
+                                    <v>4188015</v>
                                 </b>
                             </bs>
                         </hist>
@@ -37013,7 +37224,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4190567</v>
+                                    <v>4188015</v>
                                 </b>
                             </bs>
                         </hist>
@@ -37161,7 +37372,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4149483</v>
+                                    <v>4146956</v>
                                 </b>
                                 <b>
                                     <a>88</a>
@@ -37182,7 +37393,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>4149950</v>
+                                    <v>4147423</v>
                                 </b>
                             </bs>
                         </hist>
@@ -37192,15 +37403,15 @@
         </relation>
         <relation>
             <name>preprocpair</name>
-            <cardinality>1431403</cardinality>
+            <cardinality>1430532</cardinality>
             <columnsizes>
                 <e>
                     <k>begin</k>
-                    <v>1197038</v>
+                    <v>1196309</v>
                 </e>
                 <e>
                     <k>elseelifend</k>
-                    <v>1431403</v>
+                    <v>1430532</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -37214,17 +37425,17 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>978546</v>
+                                    <v>977950</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>208221</v>
+                                    <v>208094</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>11</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                             </bs>
                         </hist>
@@ -37240,7 +37451,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>1431403</v>
+                                    <v>1430532</v>
                                 </b>
                             </bs>
                         </hist>
@@ -37250,22 +37461,22 @@
         </relation>
         <relation>
             <name>preproctrue</name>
-            <cardinality>767056</cardinality>
+            <cardinality>766589</cardinality>
             <columnsizes>
                 <e>
                     <k>branch</k>
-                    <v>767056</v>
+                    <v>766589</v>
                 </e>
             </columnsizes>
             <dependencies/>
         </relation>
         <relation>
             <name>preprocfalse</name>
-            <cardinality>331473</cardinality>
+            <cardinality>331271</cardinality>
             <columnsizes>
                 <e>
                     <k>branch</k>
-                    <v>331473</v>
+                    <v>331271</v>
                 </e>
             </columnsizes>
             <dependencies/>
@@ -37418,15 +37629,15 @@
         </relation>
         <relation>
             <name>includes</name>
-            <cardinality>313265</cardinality>
+            <cardinality>313074</cardinality>
             <columnsizes>
                 <e>
                     <k>id</k>
-                    <v>313265</v>
+                    <v>313074</v>
                 </e>
                 <e>
                     <k>included</k>
-                    <v>117182</v>
+                    <v>117111</v>
                 </e>
             </columnsizes>
             <dependencies>
@@ -37440,7 +37651,7 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>313265</v>
+                                    <v>313074</v>
                                 </b>
                             </bs>
                         </hist>
@@ -37456,32 +37667,32 @@
                                 <b>
                                     <a>1</a>
                                     <b>2</b>
-                                    <v>61159</v>
+                                    <v>61121</v>
                                 </b>
                                 <b>
                                     <a>2</a>
                                     <b>3</b>
-                                    <v>21942</v>
+                                    <v>21929</v>
                                 </b>
                                 <b>
                                     <a>3</a>
                                     <b>4</b>
-                                    <v>12605</v>
+                                    <v>12597</v>
                                 </b>
                                 <b>
                                     <a>4</a>
                                     <b>6</b>
-                                    <v>10270</v>
+                                    <v>10264</v>
                                 </b>
                                 <b>
                                     <a>6</a>
                                     <b>14</b>
-                                    <v>8870</v>
+                                    <v>8865</v>
                                 </b>
                                 <b>
                                     <a>14</a>
                                     <b>47</b>
-                                    <v>2334</v>
+                                    <v>2332</v>
                                 </b>
                             </bs>
                         </hist>