Merge "Clarify the behavior about event and property triggers"
diff --git a/debuggerd/crash_dump.cpp b/debuggerd/crash_dump.cpp
index e3ea455..2a769c7 100644
--- a/debuggerd/crash_dump.cpp
+++ b/debuggerd/crash_dump.cpp
@@ -23,7 +23,6 @@
 #include <sys/types.h>
 #include <sys/un.h>
 #include <sys/wait.h>
-#include <syscall.h>
 #include <unistd.h>
 
 #include <limits>
diff --git a/debuggerd/crasher/Android.bp b/debuggerd/crasher/Android.bp
index 3af806b..fe1689c 100644
--- a/debuggerd/crasher/Android.bp
+++ b/debuggerd/crasher/Android.bp
@@ -15,6 +15,7 @@
         "-fstack-protector-all",
         "-Wno-date-time",
     ],
+    tidy: false,  // crasher.cpp tests many memory access errors
     srcs: ["crasher.cpp"],
     arch: {
         arm: {
diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp
index 46190f2..f1b82e9 100644
--- a/fastboot/fastboot.cpp
+++ b/fastboot/fastboot.cpp
@@ -129,23 +129,23 @@
 };
 
 struct Image {
-    const char* nickname;
-    const char* img_name;
-    const char* sig_name;
-    const char* part_name;
+    std::string nickname;
+    std::string img_name;
+    std::string sig_name;
+    std::string part_name;
     bool optional_if_no_image;
     ImageType type;
-    bool IsSecondary() const { return nickname == nullptr; }
+    bool IsSecondary() const { return nickname.empty(); }
 };
 
-static Image images[] = {
+static std::vector<Image> images = {
         // clang-format off
     { "boot",     "boot.img",         "boot.sig",     "boot",     false, ImageType::BootCritical },
     { "init_boot",
                   "init_boot.img",    "init_boot.sig",
                                                       "init_boot",
                                                                   true,  ImageType::BootCritical },
-    { nullptr,    "boot_other.img",   "boot.sig",     "boot",     true,  ImageType::Normal },
+    { "",    "boot_other.img",   "boot.sig",     "boot",     true,  ImageType::Normal },
     { "cache",    "cache.img",        "cache.sig",    "cache",    true,  ImageType::Extra },
     { "dtbo",     "dtbo.img",         "dtbo.sig",     "dtbo",     true,  ImageType::BootCritical },
     { "dts",      "dt.img",           "dt.sig",       "dts",      true,  ImageType::BootCritical },
@@ -164,7 +164,7 @@
                   "system_ext.img",   "system_ext.sig",
                                                       "system_ext",
                                                                   true,  ImageType::Normal },
-    { nullptr,    "system_other.img", "system.sig",   "system",   true,  ImageType::Normal },
+    { "",    "system_other.img", "system.sig",   "system",   true,  ImageType::Normal },
     { "userdata", "userdata.img",     "userdata.sig", "userdata", true,  ImageType::Extra },
     { "vbmeta",   "vbmeta.img",       "vbmeta.sig",   "vbmeta",   true,  ImageType::BootCritical },
     { "vbmeta_system",
@@ -191,7 +191,7 @@
                                       "vendor_kernel_boot.sig",
                                                       "vendor_kernel_boot",
                                                                   true,  ImageType::BootCritical },
-    { nullptr,    "vendor_other.img", "vendor.sig",   "vendor",   true,  ImageType::Normal },
+    { "",    "vendor_other.img", "vendor.sig",   "vendor",   true,  ImageType::Normal },
         // clang-format on
 };
 
@@ -212,8 +212,8 @@
 }
 
 static std::string find_item(const std::string& item) {
-    for (size_t i = 0; i < arraysize(images); ++i) {
-        if (images[i].nickname && item == images[i].nickname) {
+    for (size_t i = 0; i < images.size(); ++i) {
+        if (!images[i].nickname.empty() && item == images[i].nickname) {
             return find_item_given_name(images[i].img_name);
         }
     }
@@ -274,7 +274,8 @@
     // require matching serial number or device path if requested
     // at the command line with the -s option.
     if (local_serial && (strcmp(local_serial, info->serial_number) != 0 &&
-                   strcmp(local_serial, info->device_path) != 0)) return -1;
+                         strcmp(local_serial, info->device_path) != 0))
+        return -1;
     return 0;
 }
 
@@ -532,15 +533,15 @@
     std::vector<char> dtb_data;
     if (!g_dtb_path.empty()) {
         if (g_boot_img_hdr.header_version != 2) {
-                    die("Argument dtb not supported for boot image header version %d\n",
-                        g_boot_img_hdr.header_version);
+            die("Argument dtb not supported for boot image header version %d\n",
+                g_boot_img_hdr.header_version);
         }
         if (!ReadFileToVector(g_dtb_path, &dtb_data)) {
             die("cannot load '%s': %s", g_dtb_path.c_str(), strerror(errno));
         }
     }
 
-    fprintf(stderr,"creating boot image...\n");
+    fprintf(stderr, "creating boot image...\n");
 
     std::vector<char> out;
     mkbootimg(kernel_data, ramdisk_data, second_stage_data, dtb_data, g_base_addr, g_boot_img_hdr,
@@ -562,15 +563,15 @@
     }
 
     if (zip_entry.uncompressed_length > std::numeric_limits<size_t>::max()) {
-      die("entry '%s' is too large: %" PRIu64, entry_name.c_str(), zip_entry.uncompressed_length);
+        die("entry '%s' is too large: %" PRIu64, entry_name.c_str(), zip_entry.uncompressed_length);
     }
     out->resize(zip_entry.uncompressed_length);
 
     fprintf(stderr, "extracting %s (%zu MB) to RAM...\n", entry_name.c_str(),
             out->size() / 1024 / 1024);
 
-    int error = ExtractToMemory(zip, &zip_entry, reinterpret_cast<uint8_t*>(out->data()),
-                                out->size());
+    int error =
+            ExtractToMemory(zip, &zip_entry, reinterpret_cast<uint8_t*>(out->data()), out->size());
     if (error != 0) die("failed to extract '%s': %s", entry_name.c_str(), ErrorCodeString(error));
 
     return true;
@@ -618,8 +619,8 @@
     std::string path_template(make_temporary_template());
     int fd = mkstemp(&path_template[0]);
     if (fd == -1) {
-        die("failed to create temporary file for %s with template %s: %s\n",
-            path_template.c_str(), what, strerror(errno));
+        die("failed to create temporary file for %s with template %s: %s\n", path_template.c_str(),
+            what, strerror(errno));
     }
     unlink(path_template.c_str());
     return fd;
@@ -673,16 +674,15 @@
     std::string var_value;
     if (fb->GetVar(var, &var_value) != fastboot::SUCCESS) {
         fprintf(stderr, "FAILED\n\n");
-        fprintf(stderr, "Could not getvar for '%s' (%s)\n\n", var.c_str(),
-                fb->Error().c_str());
+        fprintf(stderr, "Could not getvar for '%s' (%s)\n\n", var.c_str(), fb->Error().c_str());
         return false;
     }
 
     bool match = false;
     for (const auto& option : options) {
-        if (option == var_value || (option.back() == '*' &&
-                                    !var_value.compare(0, option.length() - 1, option, 0,
-                                                       option.length() - 1))) {
+        if (option == var_value ||
+            (option.back() == '*' &&
+             !var_value.compare(0, option.length() - 1, option, 0, option.length() - 1))) {
             match = true;
             break;
         }
@@ -757,8 +757,8 @@
         die("device doesn't have required partition %s!", partition_name.c_str());
     }
     bool known_partition = false;
-    for (size_t i = 0; i < arraysize(images); ++i) {
-        if (images[i].nickname && images[i].nickname == partition_name) {
+    for (size_t i = 0; i < images.size(); ++i) {
+        if (!images[i].nickname.empty() && images[i].nickname == partition_name) {
             images[i].optional_if_no_image = false;
             known_partition = true;
         }
@@ -796,9 +796,9 @@
             bool met = CheckRequirement(cur_product, name, product, invert, options);
             if (!met) {
                 if (!force_flash) {
-                  die("requirements not met!");
+                    die("requirements not met!");
                 } else {
-                  fprintf(stderr, "requirements not met! but proceeding due to --force\n");
+                    fprintf(stderr, "requirements not met! but proceeding due to --force\n");
                 }
             }
         }
@@ -822,7 +822,6 @@
     DisplayVarOrError("Baseband Version.....", "version-baseband");
     DisplayVarOrError("Serial Number........", "serialno");
     fprintf(stderr, "--------------------------------------------\n");
-
 }
 
 static struct sparse_file** load_sparse_files(int fd, int64_t max_size) {
@@ -830,13 +829,14 @@
     if (!s) die("cannot sparse read file");
 
     if (max_size <= 0 || max_size > std::numeric_limits<uint32_t>::max()) {
-      die("invalid max size %" PRId64, max_size);
+        die("invalid max size %" PRId64, max_size);
     }
 
     int files = sparse_file_resparse(s, max_size, nullptr, 0);
     if (files < 0) die("Failed to resparse");
 
-    sparse_file** out_s = reinterpret_cast<sparse_file**>(calloc(sizeof(struct sparse_file *), files + 1));
+    sparse_file** out_s =
+            reinterpret_cast<sparse_file**>(calloc(sizeof(struct sparse_file*), files + 1));
     if (!out_s) die("Failed to allocate sparse file array");
 
     files = sparse_file_resparse(s, max_size, out_s, files);
@@ -1078,8 +1078,7 @@
     lseek(buf->fd.get(), 0, SEEK_SET);
 }
 
-static void flash_buf(const std::string& partition, struct fastboot_buffer *buf)
-{
+static void flash_buf(const std::string& partition, struct fastboot_buffer* buf) {
     sparse_file** s;
 
     if (partition == "boot" || partition == "boot_a" || partition == "boot_b" ||
@@ -1097,7 +1096,7 @@
             rewrite_vbmeta_buffer(buf, false /* vbmeta_in_boot */);
         } else if (!has_vbmeta_partition() &&
                    (partition == "boot" || partition == "boot_a" || partition == "boot_b")) {
-            rewrite_vbmeta_buffer(buf, true /* vbmeta_in_boot */ );
+            rewrite_vbmeta_buffer(buf, true /* vbmeta_in_boot */);
         }
     }
 
@@ -1143,14 +1142,14 @@
 }
 
 static bool supports_AB() {
-  return get_slot_count() >= 2;
+    return get_slot_count() >= 2;
 }
 
 // Given a current slot, this returns what the 'other' slot is.
 static std::string get_other_slot(const std::string& current_slot, int count) {
     if (count == 0) return "";
 
-    char next = (current_slot[0] - 'a' + 1)%count + 'a';
+    char next = (current_slot[0] - 'a' + 1) % count + 'a';
     return std::string(1, next);
 }
 
@@ -1185,17 +1184,17 @@
     if (count == 0) die("Device does not support slots");
 
     if (slot == "other") {
-        std::string other = get_other_slot( count);
+        std::string other = get_other_slot(count);
         if (other == "") {
-           die("No known slots");
+            die("No known slots");
         }
         return other;
     }
 
-    if (slot.size() == 1 && (slot[0]-'a' >= 0 && slot[0]-'a' < count)) return slot;
+    if (slot.size() == 1 && (slot[0] - 'a' >= 0 && slot[0] - 'a' < count)) return slot;
 
     fprintf(stderr, "Slot %s does not exist. supported slots are:\n", slot.c_str());
-    for (int i=0; i<count; i++) {
+    for (int i = 0; i < count; i++) {
         fprintf(stderr, "%c\n", (char)(i + 'a'));
     }
 
@@ -1203,7 +1202,7 @@
 }
 
 static std::string verify_slot(const std::string& slot) {
-   return verify_slot(slot, true);
+    return verify_slot(slot, true);
 }
 
 static void do_for_partition(const std::string& part, const std::string& slot,
@@ -1243,7 +1242,8 @@
  * partition does not support slots.
  */
 static void do_for_partitions(const std::string& part, const std::string& slot,
-                              const std::function<void(const std::string&)>& func, bool force_slot) {
+                              const std::function<void(const std::string&)>& func,
+                              bool force_slot) {
     std::string has_slot;
     // |part| can be vendor_boot:default. Query has-slot on the first token only.
     auto part_tokens = android::base::Split(part, ":");
@@ -1254,7 +1254,7 @@
                 slot.c_str());
         }
         if (has_slot == "yes") {
-            for (int i=0; i < get_slot_count(); i++) {
+            for (int i = 0; i < get_slot_count(); i++) {
                 do_for_partition(part, std::string(1, (char)(i + 'a')), func, force_slot);
             }
         } else {
@@ -1403,7 +1403,7 @@
 
 class ImageSource {
   public:
-    virtual ~ImageSource() {};
+    virtual ~ImageSource(){};
     virtual bool ReadFile(const std::string& name, std::vector<char>* out) const = 0;
     virtual unique_fd OpenFile(const std::string& name) const = 0;
 };
@@ -1435,13 +1435,11 @@
 
 FlashAllTool::FlashAllTool(const ImageSource& source, const std::string& slot_override,
                            bool skip_secondary, bool wipe, bool force_flash)
-   : source_(source),
-     slot_override_(slot_override),
-     skip_secondary_(skip_secondary),
-     wipe_(wipe),
-     force_flash_(force_flash)
-{
-}
+    : source_(source),
+      slot_override_(slot_override),
+      skip_secondary_(skip_secondary),
+      wipe_(wipe),
+      force_flash_(force_flash) {}
 
 void FlashAllTool::Flash() {
     DumpInfo();
@@ -1508,7 +1506,7 @@
 }
 
 void FlashAllTool::CollectImages() {
-    for (size_t i = 0; i < arraysize(images); ++i) {
+    for (size_t i = 0; i < images.size(); ++i) {
         std::string slot = slot_override_;
         if (images[i].IsSecondary()) {
             if (skip_secondary_) {
@@ -1532,7 +1530,7 @@
             if (image->optional_if_no_image) {
                 continue;
             }
-            die("could not load '%s': %s", image->img_name, strerror(errno));
+            die("could not load '%s': %s", image->img_name.c_str(), strerror(errno));
         }
         FlashImage(*image, slot, &buf);
     }
@@ -1734,8 +1732,7 @@
             fprintf(stderr, "File system type %s not supported.\n", partition_type.c_str());
             return;
         }
-        die("Formatting is not supported for file system with type '%s'.",
-            partition_type.c_str());
+        die("Formatting is not supported for file system with type '%s'.", partition_type.c_str());
     }
 
     int64_t size;
@@ -1892,32 +1889,30 @@
     g_boot_img_hdr.page_size = 2048;
     g_boot_img_hdr.dtb_addr = 0x01100000;
 
-    const struct option longopts[] = {
-        {"base", required_argument, 0, 0},
-        {"cmdline", required_argument, 0, 0},
-        {"disable-verification", no_argument, 0, 0},
-        {"disable-verity", no_argument, 0, 0},
-        {"force", no_argument, 0, 0},
-        {"fs-options", required_argument, 0, 0},
-        {"header-version", required_argument, 0, 0},
-        {"help", no_argument, 0, 'h'},
-        {"kernel-offset", required_argument, 0, 0},
-        {"os-patch-level", required_argument, 0, 0},
-        {"os-version", required_argument, 0, 0},
-        {"page-size", required_argument, 0, 0},
-        {"ramdisk-offset", required_argument, 0, 0},
-        {"set-active", optional_argument, 0, 'a'},
-        {"skip-reboot", no_argument, 0, 0},
-        {"skip-secondary", no_argument, 0, 0},
-        {"slot", required_argument, 0, 0},
-        {"tags-offset", required_argument, 0, 0},
-        {"dtb", required_argument, 0, 0},
-        {"dtb-offset", required_argument, 0, 0},
-        {"unbuffered", no_argument, 0, 0},
-        {"verbose", no_argument, 0, 'v'},
-        {"version", no_argument, 0, 0},
-        {0, 0, 0, 0}
-    };
+    const struct option longopts[] = {{"base", required_argument, 0, 0},
+                                      {"cmdline", required_argument, 0, 0},
+                                      {"disable-verification", no_argument, 0, 0},
+                                      {"disable-verity", no_argument, 0, 0},
+                                      {"force", no_argument, 0, 0},
+                                      {"fs-options", required_argument, 0, 0},
+                                      {"header-version", required_argument, 0, 0},
+                                      {"help", no_argument, 0, 'h'},
+                                      {"kernel-offset", required_argument, 0, 0},
+                                      {"os-patch-level", required_argument, 0, 0},
+                                      {"os-version", required_argument, 0, 0},
+                                      {"page-size", required_argument, 0, 0},
+                                      {"ramdisk-offset", required_argument, 0, 0},
+                                      {"set-active", optional_argument, 0, 'a'},
+                                      {"skip-reboot", no_argument, 0, 0},
+                                      {"skip-secondary", no_argument, 0, 0},
+                                      {"slot", required_argument, 0, 0},
+                                      {"tags-offset", required_argument, 0, 0},
+                                      {"dtb", required_argument, 0, 0},
+                                      {"dtb-offset", required_argument, 0, 0},
+                                      {"unbuffered", no_argument, 0, 0},
+                                      {"verbose", no_argument, 0, 'v'},
+                                      {"version", no_argument, 0, 0},
+                                      {0, 0, 0, 0}};
 
     serial = getenv("ANDROID_SERIAL");
 
@@ -1966,7 +1961,8 @@
                 setvbuf(stdout, nullptr, _IONBF, 0);
                 setvbuf(stderr, nullptr, _IONBF, 0);
             } else if (name == "version") {
-                fprintf(stdout, "fastboot version %s-%s\n", PLATFORM_TOOLS_VERSION, android::build::GetBuildNumber().c_str());
+                fprintf(stdout, "fastboot version %s-%s\n", PLATFORM_TOOLS_VERSION,
+                        android::build::GetBuildNumber().c_str());
                 fprintf(stdout, "Installed as %s\n", android::base::GetExecutablePath().c_str());
                 return 0;
             } else {
@@ -2024,9 +2020,9 @@
         return 1;
     }
     fastboot::DriverCallbacks driver_callbacks = {
-        .prolog = Status,
-        .epilog = Epilog,
-        .info = InfoMessage,
+            .prolog = Status,
+            .epilog = Epilog,
+            .info = InfoMessage,
     };
     fastboot::FastBootDriver fastboot_driver(transport, driver_callbacks, false);
     fb = &fastboot_driver;
@@ -2063,7 +2059,8 @@
             std::string partition = next_arg(&args);
             auto erase = [&](const std::string& partition) {
                 std::string partition_type;
-                if (fb->GetVar("partition-type:" + partition, &partition_type) == fastboot::SUCCESS &&
+                if (fb->GetVar("partition-type:" + partition, &partition_type) ==
+                            fastboot::SUCCESS &&
                     fs_get_generator(partition_type) != nullptr) {
                     fprintf(stderr, "******** Did you mean to fastboot format this %s partition?\n",
                             partition_type.c_str());
@@ -2118,7 +2115,6 @@
                 } else {
                     syntax_error("unknown reboot target %s", what.c_str());
                 }
-
             }
             if (!args.empty()) syntax_error("junk after reboot command");
         } else if (command == FB_CMD_REBOOT_BOOTLOADER) {
@@ -2149,7 +2145,7 @@
             }
             if (fname.empty()) die("cannot determine image filename for '%s'", pname.c_str());
 
-            auto flash = [&](const std::string &partition) {
+            auto flash = [&](const std::string& partition) {
                 if (should_flash_in_userspace(partition) && !is_userspace_fastboot() &&
                     !force_flash) {
                     die("The partition you are trying to flash is dynamic, and "
@@ -2178,7 +2174,8 @@
             do_for_partitions(partition, slot_override, flashraw, true);
         } else if (command == "flashall") {
             if (slot_override == "all") {
-                fprintf(stderr, "Warning: slot set to 'all'. Secondary slots will not be flashed.\n");
+                fprintf(stderr,
+                        "Warning: slot set to 'all'. Secondary slots will not be flashed.\n");
                 do_flashall(slot_override, true, wants_wipe, force_flash);
             } else {
                 do_flashall(slot_override, skip_secondary, wants_wipe, force_flash);
@@ -2187,7 +2184,8 @@
         } else if (command == "update") {
             bool slot_all = (slot_override == "all");
             if (slot_all) {
-                fprintf(stderr, "Warning: slot set to 'all'. Secondary slots will not be flashed.\n");
+                fprintf(stderr,
+                        "Warning: slot set to 'all'. Secondary slots will not be flashed.\n");
             }
             std::string filename = "update.zip";
             if (!args.empty()) {
@@ -2214,10 +2212,9 @@
         } else if (command == "flashing") {
             if (args.empty()) {
                 syntax_error("missing 'flashing' command");
-            } else if (args.size() == 1 && (args[0] == "unlock" || args[0] == "lock" ||
-                                            args[0] == "unlock_critical" ||
-                                            args[0] == "lock_critical" ||
-                                            args[0] == "get_unlock_ability")) {
+            } else if (args.size() == 1 &&
+                       (args[0] == "unlock" || args[0] == "lock" || args[0] == "unlock_critical" ||
+                        args[0] == "lock_critical" || args[0] == "get_unlock_ability")) {
                 do_oem_command("flashing", &args);
             } else {
                 syntax_error("unknown 'flashing' command %s", args[0].c_str());
@@ -2272,7 +2269,7 @@
         if (force_flash) {
             CancelSnapshotIfNeeded();
         }
-        std::vector<std::string> partitions = { "userdata", "cache", "metadata" };
+        std::vector<std::string> partitions = {"userdata", "cache", "metadata"};
         for (const auto& partition : partitions) {
             std::string partition_type;
             if (fb->GetVar("partition-type:" + partition, &partition_type) != fastboot::SUCCESS) {
@@ -2334,8 +2331,7 @@
     unsigned fsOptions = 0;
 
     std::vector<std::string> options = android::base::Split(arg, ",");
-    if (options.size() < 1)
-        syntax_error("bad options: %s", arg);
+    if (options.size() < 1) syntax_error("bad options: %s", arg);
 
     for (size_t i = 0; i < options.size(); ++i) {
         if (options[i] == "casefold")
diff --git a/fastboot/socket_test.cpp b/fastboot/socket_test.cpp
index 373abc3..74ff377 100644
--- a/fastboot/socket_test.cpp
+++ b/fastboot/socket_test.cpp
@@ -293,23 +293,23 @@
 }
 
 TEST(SocketMockTest, TestSendFailure) {
-    SocketMock* mock = new SocketMock;
+    std::unique_ptr<SocketMock> mock(new SocketMock);
 
     mock->ExpectSendFailure("foo");
-    EXPECT_FALSE(SendString(mock, "foo"));
+    EXPECT_FALSE(SendString(mock.get(), "foo"));
 
-    EXPECT_NONFATAL_FAILURE(SendString(mock, "foo"), "no message was expected");
+    EXPECT_NONFATAL_FAILURE(SendString(mock.get(), "foo"), "no message was expected");
 
     mock->ExpectSend("foo");
-    EXPECT_NONFATAL_FAILURE(SendString(mock, "bar"), "expected foo, but got bar");
-    EXPECT_TRUE(SendString(mock, "foo"));
+    EXPECT_NONFATAL_FAILURE(SendString(mock.get(), "bar"), "expected foo, but got bar");
+    EXPECT_TRUE(SendString(mock.get(), "foo"));
 
     mock->AddReceive("foo");
-    EXPECT_NONFATAL_FAILURE(SendString(mock, "foo"), "called out-of-order");
-    EXPECT_TRUE(ReceiveString(mock, "foo"));
+    EXPECT_NONFATAL_FAILURE(SendString(mock.get(), "foo"), "called out-of-order");
+    EXPECT_TRUE(ReceiveString(mock.get(), "foo"));
 
     mock->ExpectSend("foo");
-    EXPECT_NONFATAL_FAILURE(delete mock, "1 event(s) were not handled");
+    EXPECT_NONFATAL_FAILURE(mock.reset(), "1 event(s) were not handled");
 }
 
 TEST(SocketMockTest, TestReceiveSuccess) {
@@ -331,33 +331,33 @@
 }
 
 TEST(SocketMockTest, TestReceiveFailure) {
-    SocketMock* mock = new SocketMock;
+    std::unique_ptr<SocketMock> mock(new SocketMock);
 
     mock->AddReceiveFailure();
-    EXPECT_FALSE(ReceiveString(mock, "foo"));
+    EXPECT_FALSE(ReceiveString(mock.get(), "foo"));
     EXPECT_FALSE(mock->ReceiveTimedOut());
 
     mock->AddReceiveTimeout();
-    EXPECT_FALSE(ReceiveString(mock, "foo"));
+    EXPECT_FALSE(ReceiveString(mock.get(), "foo"));
     EXPECT_TRUE(mock->ReceiveTimedOut());
 
     mock->AddReceive("foo");
     mock->AddReceiveFailure();
-    EXPECT_FALSE(ReceiveString(mock, "foobar"));
+    EXPECT_FALSE(ReceiveString(mock.get(), "foobar"));
 
-    EXPECT_NONFATAL_FAILURE(ReceiveString(mock, "foo"), "no message was ready");
+    EXPECT_NONFATAL_FAILURE(ReceiveString(mock.get(), "foo"), "no message was ready");
 
     mock->ExpectSend("foo");
-    EXPECT_NONFATAL_FAILURE(ReceiveString(mock, "foo"), "called out-of-order");
-    EXPECT_TRUE(SendString(mock, "foo"));
+    EXPECT_NONFATAL_FAILURE(ReceiveString(mock.get(), "foo"), "called out-of-order");
+    EXPECT_TRUE(SendString(mock.get(), "foo"));
 
     char c;
     mock->AddReceive("foo");
     EXPECT_NONFATAL_FAILURE(mock->Receive(&c, 1, 0), "not enough bytes (1) for foo");
-    EXPECT_TRUE(ReceiveString(mock, "foo"));
+    EXPECT_TRUE(ReceiveString(mock.get(), "foo"));
 
     mock->AddReceive("foo");
-    EXPECT_NONFATAL_FAILURE(delete mock, "1 event(s) were not handled");
+    EXPECT_NONFATAL_FAILURE(mock.reset(), "1 event(s) were not handled");
 }
 
 TEST(SocketMockTest, TestAcceptSuccess) {
@@ -372,14 +372,14 @@
 }
 
 TEST(SocketMockTest, TestAcceptFailure) {
-    SocketMock* mock = new SocketMock;
+    std::unique_ptr<SocketMock> mock(new SocketMock);
 
     EXPECT_NONFATAL_FAILURE(mock->Accept(), "no socket was ready");
 
     mock->ExpectSend("foo");
     EXPECT_NONFATAL_FAILURE(mock->Accept(), "called out-of-order");
-    EXPECT_TRUE(SendString(mock, "foo"));
+    EXPECT_TRUE(SendString(mock.get(), "foo"));
 
     mock->AddAccept(nullptr);
-    EXPECT_NONFATAL_FAILURE(delete mock, "1 event(s) were not handled");
+    EXPECT_NONFATAL_FAILURE(mock.reset(), "1 event(s) were not handled");
 }
diff --git a/fs_mgr/OWNERS b/fs_mgr/OWNERS
index 6f1059b..bd46489 100644
--- a/fs_mgr/OWNERS
+++ b/fs_mgr/OWNERS
@@ -1,4 +1,4 @@
-# Bug component: 30545
+# Bug component: 325626
 bowgotsai@google.com
 dvander@google.com
 elsk@google.com
diff --git a/fs_mgr/fs_mgr_fstab.cpp b/fs_mgr/fs_mgr_fstab.cpp
index 7189a71..36bd75d 100644
--- a/fs_mgr/fs_mgr_fstab.cpp
+++ b/fs_mgr/fs_mgr_fstab.cpp
@@ -488,13 +488,21 @@
     return boot_devices;
 }
 
-template <typename Pred>
-std::vector<FstabEntry*> GetEntriesByPred(Fstab* fstab, const Pred& pred) {
+// Helper class that maps Fstab* -> FstabEntry; const Fstab* -> const FstabEntry.
+template <typename FstabPtr>
+struct FstabPtrEntry {
+    using is_const_fstab = std::is_const<std::remove_pointer_t<FstabPtr>>;
+    using type = std::conditional_t<is_const_fstab::value, const FstabEntry, FstabEntry>;
+};
+
+template <typename FstabPtr, typename FstabPtrEntryType = typename FstabPtrEntry<FstabPtr>::type,
+          typename Pred>
+std::vector<FstabPtrEntryType*> GetEntriesByPred(FstabPtr fstab, const Pred& pred) {
     if (fstab == nullptr) {
         return {};
     }
-    std::vector<FstabEntry*> entries;
-    for (auto&& entry : *fstab) {
+    std::vector<FstabPtrEntryType*> entries;
+    for (FstabPtrEntryType& entry : *fstab) {
         if (pred(entry)) {
             entries.push_back(&entry);
         }
@@ -835,25 +843,27 @@
     return !fstab->empty();
 }
 
-FstabEntry* GetEntryForMountPoint(Fstab* fstab, const std::string& path) {
-    if (fstab == nullptr) {
-        return nullptr;
-    }
-
-    for (auto& entry : *fstab) {
-        if (entry.mount_point == path) {
-            return &entry;
-        }
-    }
-
-    return nullptr;
-}
-
 std::vector<FstabEntry*> GetEntriesForMountPoint(Fstab* fstab, const std::string& path) {
     return GetEntriesByPred(fstab,
                             [&path](const FstabEntry& entry) { return entry.mount_point == path; });
 }
 
+std::vector<const FstabEntry*> GetEntriesForMountPoint(const Fstab* fstab,
+                                                       const std::string& path) {
+    return GetEntriesByPred(fstab,
+                            [&path](const FstabEntry& entry) { return entry.mount_point == path; });
+}
+
+FstabEntry* GetEntryForMountPoint(Fstab* fstab, const std::string& path) {
+    std::vector<FstabEntry*> entries = GetEntriesForMountPoint(fstab, path);
+    return entries.empty() ? nullptr : entries.front();
+}
+
+const FstabEntry* GetEntryForMountPoint(const Fstab* fstab, const std::string& path) {
+    std::vector<const FstabEntry*> entries = GetEntriesForMountPoint(fstab, path);
+    return entries.empty() ? nullptr : entries.front();
+}
+
 std::set<std::string> GetBootDevices() {
     // First check bootconfig, then kernel commandline, then the device tree
     std::string dt_file_name = get_android_dt_dir() + "/boot_devices";
diff --git a/fs_mgr/fs_mgr_overlayfs.cpp b/fs_mgr/fs_mgr_overlayfs.cpp
index bb24abf..6349c20 100644
--- a/fs_mgr/fs_mgr_overlayfs.cpp
+++ b/fs_mgr/fs_mgr_overlayfs.cpp
@@ -116,8 +116,7 @@
 
     // For non-A/B devices prefer cache backing storage if
     // kPreferCacheBackingStorageProp property set.
-    if (!IsABDevice() &&
-        android::base::GetBoolProperty(kPreferCacheBackingStorageProp, false) &&
+    if (!IsABDevice() && android::base::GetBoolProperty(kPreferCacheBackingStorageProp, false) &&
         android::base::GetIntProperty("ro.vendor.api_level", -1) < __ANDROID_API_T__) {
         return {kCacheMountPoint, kScratchMountPoint};
     }
@@ -332,8 +331,14 @@
     return major > 5 || (major == 5 && minor >= 15);
 }
 
+const std::string fs_mgr_mount_point(const std::string& mount_point) {
+    if ("/"s != mount_point) return mount_point;
+    return "/system";
+}
+
 // default options for mount_point, returns empty string for none available.
-std::string fs_mgr_get_overlayfs_options(const std::string& mount_point) {
+std::string fs_mgr_get_overlayfs_options(const FstabEntry& entry) {
+    const auto mount_point = fs_mgr_mount_point(entry.mount_point);
     auto candidate = fs_mgr_get_overlayfs_candidate(mount_point);
     if (candidate.empty()) return "";
     auto ret = kLowerdirOption + mount_point + "," + kUpperdirOption + candidate + kUpperName +
@@ -344,14 +349,14 @@
     if (KernelSupportsUserXattrs()) {
         ret += ",userxattr";
     }
+    for (const auto& flag : android::base::Split(entry.fs_options, ",")) {
+        if (android::base::StartsWith(flag, "context=")) {
+            ret += "," + flag;
+        }
+    }
     return ret;
 }
 
-const std::string fs_mgr_mount_point(const std::string& mount_point) {
-    if ("/"s != mount_point) return mount_point;
-    return "/system";
-}
-
 constexpr char kOverlayfsFileContext[] = "u:object_r:overlayfs_file:s0";
 
 class AutoSetFsCreateCon final {
@@ -710,8 +715,9 @@
     return info;
 }
 
-bool fs_mgr_overlayfs_mount(const std::string& mount_point) {
-    auto options = fs_mgr_get_overlayfs_options(mount_point);
+bool fs_mgr_overlayfs_mount(const FstabEntry& entry) {
+    const auto mount_point = fs_mgr_mount_point(entry.mount_point);
+    const auto options = fs_mgr_get_overlayfs_options(entry);
     if (options.empty()) return false;
 
     auto retval = true;
@@ -1346,12 +1352,13 @@
             scratch_can_be_mounted = false;
             TryMountScratch();
         }
-        ret &= fs_mgr_overlayfs_mount(mount_point);
+        ret &= fs_mgr_overlayfs_mount(entry);
     }
     return ret;
 }
 
-bool fs_mgr_overlayfs_setup(const char* mount_point, bool* want_reboot, bool just_disabled_verity) {
+bool fs_mgr_overlayfs_setup(const Fstab& fstab, const char* mount_point, bool* want_reboot,
+                            bool just_disabled_verity) {
     if (!OverlayfsSetupAllowed(/*verbose=*/true)) {
         return false;
     }
@@ -1361,12 +1368,6 @@
         return false;
     }
 
-    Fstab fstab;
-    if (!ReadDefaultFstab(&fstab)) {
-        LOG(ERROR) << "Could not read fstab";
-        return false;
-    }
-
     auto candidates = fs_mgr_overlayfs_candidate_list(fstab);
     for (auto it = candidates.begin(); it != candidates.end();) {
         if (mount_point &&
diff --git a/fs_mgr/fs_mgr_priv_overlayfs.h b/fs_mgr/fs_mgr_priv_overlayfs.h
index 45b954d..2033701 100644
--- a/fs_mgr/fs_mgr_priv_overlayfs.h
+++ b/fs_mgr/fs_mgr_priv_overlayfs.h
@@ -29,8 +29,8 @@
 //
 // If |want_reboot| is non-null, and a reboot is needed to apply overlays, then
 // it will be true on return. The caller is responsible for initializing it.
-bool fs_mgr_overlayfs_setup(const char* mount_point = nullptr, bool* want_reboot = nullptr,
-                            bool just_disabled_verity = true);
+bool fs_mgr_overlayfs_setup(const android::fs_mgr::Fstab& fstab, const char* mount_point = nullptr,
+                            bool* want_reboot = nullptr, bool just_disabled_verity = true);
 
 enum class OverlayfsTeardownResult {
     Ok,
diff --git a/fs_mgr/fs_mgr_remount.cpp b/fs_mgr/fs_mgr_remount.cpp
index 23bc8e8..5fddf86 100644
--- a/fs_mgr/fs_mgr_remount.cpp
+++ b/fs_mgr/fs_mgr_remount.cpp
@@ -289,7 +289,7 @@
         if (fs_mgr_wants_overlayfs(&entry)) {
             bool want_reboot = false;
             bool force = result->disabled_verity;
-            if (!fs_mgr_overlayfs_setup(mount_point.c_str(), &want_reboot, force)) {
+            if (!fs_mgr_overlayfs_setup(*partitions, mount_point.c_str(), &want_reboot, force)) {
                 LOG(ERROR) << "Overlayfs setup for " << mount_point << " failed, skipping";
                 ok = false;
                 it = partitions->erase(it);
@@ -442,7 +442,12 @@
 bool SetupOrTeardownOverlayfs(bool enable) {
     bool want_reboot = false;
     if (enable) {
-        if (!fs_mgr_overlayfs_setup(nullptr, &want_reboot)) {
+        Fstab fstab;
+        if (!ReadDefaultFstab(&fstab)) {
+            LOG(ERROR) << "Could not read fstab.";
+            return want_reboot;
+        }
+        if (!fs_mgr_overlayfs_setup(fstab, nullptr, &want_reboot)) {
             LOG(ERROR) << "Overlayfs setup failed.";
             return want_reboot;
         }
diff --git a/fs_mgr/include_fstab/fstab/fstab.h b/fs_mgr/include_fstab/fstab/fstab.h
index 124f070..a914b53 100644
--- a/fs_mgr/include_fstab/fstab/fstab.h
+++ b/fs_mgr/include_fstab/fstab/fstab.h
@@ -105,10 +105,13 @@
 bool ReadDefaultFstab(Fstab* fstab);
 bool SkipMountingPartitions(Fstab* fstab, bool verbose = false);
 
-FstabEntry* GetEntryForMountPoint(Fstab* fstab, const std::string& path);
 // The Fstab can contain multiple entries for the same mount point with different configurations.
 std::vector<FstabEntry*> GetEntriesForMountPoint(Fstab* fstab, const std::string& path);
 
+// Like GetEntriesForMountPoint() but return only the first entry or nullptr if no entry is found.
+FstabEntry* GetEntryForMountPoint(Fstab* fstab, const std::string& path);
+const FstabEntry* GetEntryForMountPoint(const Fstab* fstab, const std::string& path);
+
 // This method builds DSU fstab entries and transfer the fstab.
 //
 // fstab points to the unmodified fstab.
diff --git a/fs_mgr/libdm/dm.cpp b/fs_mgr/libdm/dm.cpp
index 4034e30..0624fe0 100644
--- a/fs_mgr/libdm/dm.cpp
+++ b/fs_mgr/libdm/dm.cpp
@@ -289,7 +289,7 @@
     return true;
 }
 
-bool DeviceMapper::LoadTableAndActivate(const std::string& name, const DmTable& table) {
+bool DeviceMapper::LoadTable(const std::string& name, const DmTable& table) {
     std::string ioctl_buffer(sizeof(struct dm_ioctl), 0);
     ioctl_buffer += table.Serialize();
 
@@ -305,9 +305,17 @@
         PLOG(ERROR) << "DM_TABLE_LOAD failed";
         return false;
     }
+    return true;
+}
 
-    InitIo(io, name);
-    if (ioctl(fd_, DM_DEV_SUSPEND, io)) {
+bool DeviceMapper::LoadTableAndActivate(const std::string& name, const DmTable& table) {
+    if (!LoadTable(name, table)) {
+        return false;
+    }
+
+    struct dm_ioctl io;
+    InitIo(&io, name);
+    if (ioctl(fd_, DM_DEV_SUSPEND, &io)) {
         PLOG(ERROR) << "DM_TABLE_SUSPEND resume failed";
         return false;
     }
diff --git a/fs_mgr/libdm/dm_test.cpp b/fs_mgr/libdm/dm_test.cpp
index 541f254..4448d35 100644
--- a/fs_mgr/libdm/dm_test.cpp
+++ b/fs_mgr/libdm/dm_test.cpp
@@ -690,3 +690,23 @@
     // Empty device should be in suspended state.
     ASSERT_EQ(DmDeviceState::SUSPENDED, dm.GetState("empty-device"));
 }
+
+TEST(libdm, UeventAfterLoadTable) {
+    static const char* kDeviceName = "libmd-test-uevent-load-table";
+
+    DeviceMapper& dm = DeviceMapper::Instance();
+    ASSERT_TRUE(dm.CreateEmptyDevice(kDeviceName));
+
+    DmTable table;
+    table.Emplace<DmTargetError>(0, 1);
+    ASSERT_TRUE(dm.LoadTable(kDeviceName, table));
+
+    std::string ignore_path;
+    ASSERT_TRUE(dm.WaitForDevice(kDeviceName, 5s, &ignore_path));
+
+    auto info = dm.GetDetailedInfo(kDeviceName);
+    ASSERT_TRUE(info.has_value());
+    ASSERT_TRUE(info->IsSuspended());
+
+    ASSERT_TRUE(dm.DeleteDevice(kDeviceName));
+}
diff --git a/fs_mgr/libdm/include/libdm/dm.h b/fs_mgr/libdm/include/libdm/dm.h
index 1057d7f..f17ae13 100644
--- a/fs_mgr/libdm/include/libdm/dm.h
+++ b/fs_mgr/libdm/include/libdm/dm.h
@@ -75,6 +75,7 @@
                               const std::chrono::milliseconds& timeout_ms) = 0;
     virtual DmDeviceState GetState(const std::string& name) const = 0;
     virtual bool LoadTableAndActivate(const std::string& name, const DmTable& table) = 0;
+    virtual bool LoadTable(const std::string& name, const DmTable& table) = 0;
     virtual bool GetTableInfo(const std::string& name, std::vector<TargetInfo>* table) = 0;
     virtual bool GetTableStatus(const std::string& name, std::vector<TargetInfo>* table) = 0;
     virtual bool GetDmDevicePathByName(const std::string& name, std::string* path) = 0;
@@ -116,7 +117,7 @@
         bool IsBufferFull() const { return flags_ & DM_BUFFER_FULL_FLAG; }
         bool IsInactiveTablePresent() const { return flags_ & DM_INACTIVE_PRESENT_FLAG; }
         bool IsReadOnly() const { return flags_ & DM_READONLY_FLAG; }
-        bool IsSuspended() const { return flags_ & DM_SUSPEND_FLAG; }
+        bool IsSuspended() const { return !IsActiveTablePresent() || (flags_ & DM_SUSPEND_FLAG); }
     };
 
     // Removes a device mapper device with the given name.
@@ -199,6 +200,12 @@
     // Returns 'true' on success, false otherwise.
     bool LoadTableAndActivate(const std::string& name, const DmTable& table) override;
 
+    // Same as LoadTableAndActivate, but there is no resume step. This puts the
+    // new table in the inactive slot.
+    //
+    // Returns 'true' on success, false otherwise.
+    bool LoadTable(const std::string& name, const DmTable& table) override;
+
     // Returns true if a list of available device mapper targets registered in the kernel was
     // successfully read and stored in 'targets'. Returns 'false' otherwise.
     bool GetAvailableTargets(std::vector<DmTargetTypeInfo>* targets);
diff --git a/fs_mgr/libdm/include/libdm/dm_table.h b/fs_mgr/libdm/include/libdm/dm_table.h
index ee66653..427f34d 100644
--- a/fs_mgr/libdm/include/libdm/dm_table.h
+++ b/fs_mgr/libdm/include/libdm/dm_table.h
@@ -31,6 +31,7 @@
 class DmTable {
   public:
     DmTable() : num_sectors_(0), readonly_(false) {}
+    DmTable(DmTable&& other) = default;
 
     // Adds a target to the device mapper table for a range specified in the target object.
     // The function will return 'true' if the target was successfully added and doesn't overlap with
@@ -70,6 +71,8 @@
     void set_readonly(bool readonly) { readonly_ = readonly; }
     bool readonly() const { return readonly_; }
 
+    DmTable& operator=(DmTable&& other) = default;
+
     ~DmTable() = default;
 
   private:
diff --git a/fs_mgr/libdm/include/libdm/dm_target.h b/fs_mgr/libdm/include/libdm/dm_target.h
index 9543058..09fe200 100644
--- a/fs_mgr/libdm/include/libdm/dm_target.h
+++ b/fs_mgr/libdm/include/libdm/dm_target.h
@@ -323,6 +323,14 @@
     std::string control_device_;
 };
 
+class DmTargetError final : public DmTarget {
+  public:
+    DmTargetError(uint64_t start, uint64_t length) : DmTarget(start, length) {}
+
+    std::string name() const override { return "error"; }
+    std::string GetParameterString() const override { return ""; }
+};
+
 }  // namespace dm
 }  // namespace android
 
diff --git a/fs_mgr/libsnapshot/include/libsnapshot/cow_writer.h b/fs_mgr/libsnapshot/include/libsnapshot/cow_writer.h
index a9682a1..798bc73 100644
--- a/fs_mgr/libsnapshot/include/libsnapshot/cow_writer.h
+++ b/fs_mgr/libsnapshot/include/libsnapshot/cow_writer.h
@@ -16,10 +16,17 @@
 
 #include <stdint.h>
 
+#include <condition_variable>
 #include <cstdint>
+#include <future>
 #include <memory>
+#include <mutex>
 #include <optional>
+#include <queue>
 #include <string>
+#include <thread>
+#include <utility>
+#include <vector>
 
 #include <android-base/unique_fd.h>
 #include <libsnapshot/cow_format.h>
@@ -42,6 +49,12 @@
 
     // Preset the number of merged ops. Only useful for testing.
     uint64_t num_merge_ops = 0;
+
+    // Number of threads for compression
+    int num_compress_threads = 0;
+
+    // Batch write cluster ops
+    bool batch_write = false;
 };
 
 // Interface for writing to a snapuserd COW. All operations are ordered; merges
@@ -100,9 +113,40 @@
     CowOptions options_;
 };
 
+class CompressWorker {
+  public:
+    CompressWorker(CowCompressionAlgorithm compression, uint32_t block_size);
+    bool RunThread();
+    void EnqueueCompressBlocks(const void* buffer, size_t num_blocks);
+    bool GetCompressedBuffers(std::vector<std::basic_string<uint8_t>>* compressed_buf);
+    void Finalize();
+
+  private:
+    struct CompressWork {
+        const void* buffer;
+        size_t num_blocks;
+        bool compression_status = false;
+        std::vector<std::basic_string<uint8_t>> compressed_data;
+    };
+
+    CowCompressionAlgorithm compression_;
+    uint32_t block_size_;
+
+    std::queue<CompressWork> work_queue_;
+    std::queue<CompressWork> compressed_queue_;
+    std::mutex lock_;
+    std::condition_variable cv_;
+    bool stopped_ = false;
+
+    std::basic_string<uint8_t> Compress(const void* data, size_t length);
+    bool CompressBlocks(const void* buffer, size_t num_blocks,
+                        std::vector<std::basic_string<uint8_t>>* compressed_data);
+};
+
 class CowWriter : public ICowWriter {
   public:
     explicit CowWriter(const CowOptions& options);
+    ~CowWriter();
 
     // Set up the writer.
     // The file starts from the beginning.
@@ -138,6 +182,7 @@
     bool EmitBlocks(uint64_t new_block_start, const void* data, size_t size, uint64_t old_block,
                     uint16_t offset, uint8_t type);
     void SetupHeaders();
+    void SetupWriteOptions();
     bool ParseOptions();
     bool OpenForWrite();
     bool OpenForAppend(uint64_t label);
@@ -145,9 +190,12 @@
     bool WriteRawData(const void* data, size_t size);
     bool WriteOperation(const CowOperation& op, const void* data = nullptr, size_t size = 0);
     void AddOperation(const CowOperation& op);
-    std::basic_string<uint8_t> Compress(const void* data, size_t length);
     void InitPos();
+    void InitBatchWrites();
+    void InitWorkers();
+    bool FlushCluster();
 
+    bool CompressBlocks(size_t num_blocks, const void* data);
     bool SetFd(android::base::borrowed_fd fd);
     bool Sync();
     bool Truncate(off_t length);
@@ -159,8 +207,11 @@
     CowHeader header_{};
     CowFooter footer_{};
     CowCompressionAlgorithm compression_ = kCowCompressNone;
+    uint64_t current_op_pos_ = 0;
     uint64_t next_op_pos_ = 0;
     uint64_t next_data_pos_ = 0;
+    uint64_t current_data_pos_ = 0;
+    ssize_t total_data_written_ = 0;
     uint32_t cluster_size_ = 0;
     uint32_t current_cluster_size_ = 0;
     uint64_t current_data_size_ = 0;
@@ -168,6 +219,21 @@
     bool merge_in_progress_ = false;
     bool is_block_device_ = false;
     uint64_t cow_image_size_ = INT64_MAX;
+
+    int num_compress_threads_ = 1;
+    std::vector<std::unique_ptr<CompressWorker>> compress_threads_;
+    std::vector<std::future<bool>> threads_;
+    std::vector<std::basic_string<uint8_t>> compressed_buf_;
+    std::vector<std::basic_string<uint8_t>>::iterator buf_iter_;
+
+    std::vector<std::unique_ptr<CowOperation>> opbuffer_vec_;
+    std::vector<std::unique_ptr<uint8_t[]>> databuffer_vec_;
+    std::unique_ptr<struct iovec[]> cowop_vec_;
+    int op_vec_index_ = 0;
+
+    std::unique_ptr<struct iovec[]> data_vec_;
+    int data_vec_index_ = 0;
+    bool batch_write_ = false;
 };
 
 }  // namespace snapshot
diff --git a/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h b/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h
index f850b94..24c91a8 100644
--- a/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h
+++ b/fs_mgr/libsnapshot/include_test/libsnapshot/test_helpers.h
@@ -143,6 +143,9 @@
     virtual DmDeviceState GetState(const std::string& name) const override {
         return impl_.GetState(name);
     }
+    virtual bool LoadTable(const std::string& name, const DmTable& table) {
+        return impl_.LoadTable(name, table);
+    }
     virtual bool LoadTableAndActivate(const std::string& name, const DmTable& table) {
         return impl_.LoadTableAndActivate(name, table);
     }
diff --git a/fs_mgr/libsnapshot/libsnapshot_cow/cow_api_test.cpp b/fs_mgr/libsnapshot/libsnapshot_cow/cow_api_test.cpp
index 2c1187f..862ce55 100644
--- a/fs_mgr/libsnapshot/libsnapshot_cow/cow_api_test.cpp
+++ b/fs_mgr/libsnapshot/libsnapshot_cow/cow_api_test.cpp
@@ -298,6 +298,150 @@
     ASSERT_TRUE(iter->Done());
 }
 
+class CompressionRWTest : public CowTest, public testing::WithParamInterface<const char*> {};
+
+TEST_P(CompressionRWTest, ThreadedBatchWrites) {
+    CowOptions options;
+    options.compression = GetParam();
+    options.num_compress_threads = 2;
+
+    CowWriter writer(options);
+
+    ASSERT_TRUE(writer.Initialize(cow_->fd));
+
+    std::string xor_data = "This is test data-1. Testing xor";
+    xor_data.resize(options.block_size, '\0');
+    ASSERT_TRUE(writer.AddXorBlocks(50, xor_data.data(), xor_data.size(), 24, 10));
+
+    std::string data = "This is test data-2. Testing replace ops";
+    data.resize(options.block_size * 2048, '\0');
+    ASSERT_TRUE(writer.AddRawBlocks(100, data.data(), data.size()));
+
+    std::string data2 = "This is test data-3. Testing replace ops";
+    data2.resize(options.block_size * 259, '\0');
+    ASSERT_TRUE(writer.AddRawBlocks(6000, data2.data(), data2.size()));
+
+    std::string data3 = "This is test data-4. Testing replace ops";
+    data3.resize(options.block_size, '\0');
+    ASSERT_TRUE(writer.AddRawBlocks(9000, data3.data(), data3.size()));
+
+    ASSERT_TRUE(writer.Finalize());
+
+    int expected_blocks = (1 + 2048 + 259 + 1);
+    ASSERT_EQ(lseek(cow_->fd, 0, SEEK_SET), 0);
+
+    CowReader reader;
+    ASSERT_TRUE(reader.Parse(cow_->fd));
+
+    auto iter = reader.GetOpIter();
+    ASSERT_NE(iter, nullptr);
+
+    int total_blocks = 0;
+    while (!iter->Done()) {
+        auto op = &iter->Get();
+
+        if (op->type == kCowXorOp) {
+            total_blocks += 1;
+            StringSink sink;
+            ASSERT_EQ(op->new_block, 50);
+            ASSERT_EQ(op->source, 98314);  // 4096 * 24 + 10
+            ASSERT_TRUE(reader.ReadData(*op, &sink));
+            ASSERT_EQ(sink.stream(), xor_data);
+        }
+
+        if (op->type == kCowReplaceOp) {
+            total_blocks += 1;
+            if (op->new_block == 100) {
+                StringSink sink;
+                ASSERT_TRUE(reader.ReadData(*op, &sink));
+                data.resize(options.block_size);
+                ASSERT_EQ(sink.stream(), data);
+            }
+            if (op->new_block == 6000) {
+                StringSink sink;
+                ASSERT_TRUE(reader.ReadData(*op, &sink));
+                data2.resize(options.block_size);
+                ASSERT_EQ(sink.stream(), data2);
+            }
+            if (op->new_block == 9000) {
+                StringSink sink;
+                ASSERT_TRUE(reader.ReadData(*op, &sink));
+                ASSERT_EQ(sink.stream(), data3);
+            }
+        }
+
+        iter->Next();
+    }
+
+    ASSERT_EQ(total_blocks, expected_blocks);
+}
+
+TEST_P(CompressionRWTest, NoBatchWrites) {
+    CowOptions options;
+    options.compression = GetParam();
+    options.num_compress_threads = 1;
+    options.cluster_ops = 0;
+
+    CowWriter writer(options);
+
+    ASSERT_TRUE(writer.Initialize(cow_->fd));
+
+    std::string data = "Testing replace ops without batch writes";
+    data.resize(options.block_size * 1024, '\0');
+    ASSERT_TRUE(writer.AddRawBlocks(50, data.data(), data.size()));
+
+    std::string data2 = "Testing odd blocks without batch writes";
+    data2.resize(options.block_size * 111, '\0');
+    ASSERT_TRUE(writer.AddRawBlocks(3000, data2.data(), data2.size()));
+
+    std::string data3 = "Testing single 4k block";
+    data3.resize(options.block_size, '\0');
+    ASSERT_TRUE(writer.AddRawBlocks(5000, data3.data(), data3.size()));
+
+    ASSERT_TRUE(writer.Finalize());
+
+    int expected_blocks = (1024 + 111 + 1);
+    ASSERT_EQ(lseek(cow_->fd, 0, SEEK_SET), 0);
+
+    CowReader reader;
+    ASSERT_TRUE(reader.Parse(cow_->fd));
+
+    auto iter = reader.GetOpIter();
+    ASSERT_NE(iter, nullptr);
+
+    int total_blocks = 0;
+    while (!iter->Done()) {
+        auto op = &iter->Get();
+
+        if (op->type == kCowReplaceOp) {
+            total_blocks += 1;
+            if (op->new_block == 50) {
+                StringSink sink;
+                ASSERT_TRUE(reader.ReadData(*op, &sink));
+                data.resize(options.block_size);
+                ASSERT_EQ(sink.stream(), data);
+            }
+            if (op->new_block == 3000) {
+                StringSink sink;
+                ASSERT_TRUE(reader.ReadData(*op, &sink));
+                data2.resize(options.block_size);
+                ASSERT_EQ(sink.stream(), data2);
+            }
+            if (op->new_block == 5000) {
+                StringSink sink;
+                ASSERT_TRUE(reader.ReadData(*op, &sink));
+                ASSERT_EQ(sink.stream(), data3);
+            }
+        }
+
+        iter->Next();
+    }
+
+    ASSERT_EQ(total_blocks, expected_blocks);
+}
+
+INSTANTIATE_TEST_SUITE_P(CowApi, CompressionRWTest, testing::Values("none", "gz", "brotli", "lz4"));
+
 TEST_F(CowTest, ClusterCompressGz) {
     CowOptions options;
     options.compression = "gz";
diff --git a/fs_mgr/libsnapshot/libsnapshot_cow/cow_compress.cpp b/fs_mgr/libsnapshot/libsnapshot_cow/cow_compress.cpp
index 0eb231b..4d9b748 100644
--- a/fs_mgr/libsnapshot/libsnapshot_cow/cow_compress.cpp
+++ b/fs_mgr/libsnapshot/libsnapshot_cow/cow_compress.cpp
@@ -33,7 +33,7 @@
 namespace android {
 namespace snapshot {
 
-std::basic_string<uint8_t> CowWriter::Compress(const void* data, size_t length) {
+std::basic_string<uint8_t> CompressWorker::Compress(const void* data, size_t length) {
     switch (compression_) {
         case kCowCompressGz: {
             const auto bound = compressBound(length);
@@ -100,5 +100,119 @@
     return {};
 }
 
+bool CompressWorker::CompressBlocks(const void* buffer, size_t num_blocks,
+                                    std::vector<std::basic_string<uint8_t>>* compressed_data) {
+    const uint8_t* iter = reinterpret_cast<const uint8_t*>(buffer);
+    while (num_blocks) {
+        auto data = Compress(iter, block_size_);
+        if (data.empty()) {
+            PLOG(ERROR) << "CompressBlocks: Compression failed";
+            return false;
+        }
+        if (data.size() > std::numeric_limits<uint16_t>::max()) {
+            LOG(ERROR) << "Compressed block is too large: " << data.size();
+            return false;
+        }
+
+        compressed_data->emplace_back(std::move(data));
+        num_blocks -= 1;
+        iter += block_size_;
+    }
+    return true;
+}
+
+bool CompressWorker::RunThread() {
+    while (true) {
+        // Wait for work
+        CompressWork blocks;
+        {
+            std::unique_lock<std::mutex> lock(lock_);
+            while (work_queue_.empty() && !stopped_) {
+                cv_.wait(lock);
+            }
+
+            if (stopped_) {
+                return true;
+            }
+
+            blocks = std::move(work_queue_.front());
+            work_queue_.pop();
+        }
+
+        // Compress blocks
+        bool ret = CompressBlocks(blocks.buffer, blocks.num_blocks, &blocks.compressed_data);
+        blocks.compression_status = ret;
+        {
+            std::lock_guard<std::mutex> lock(lock_);
+            compressed_queue_.push(std::move(blocks));
+        }
+
+        // Notify completion
+        cv_.notify_all();
+
+        if (!ret) {
+            LOG(ERROR) << "CompressBlocks failed";
+            return false;
+        }
+    }
+
+    return true;
+}
+
+void CompressWorker::EnqueueCompressBlocks(const void* buffer, size_t num_blocks) {
+    {
+        std::lock_guard<std::mutex> lock(lock_);
+
+        CompressWork blocks = {};
+        blocks.buffer = buffer;
+        blocks.num_blocks = num_blocks;
+        work_queue_.push(std::move(blocks));
+    }
+    cv_.notify_all();
+}
+
+bool CompressWorker::GetCompressedBuffers(std::vector<std::basic_string<uint8_t>>* compressed_buf) {
+    {
+        std::unique_lock<std::mutex> lock(lock_);
+        while (compressed_queue_.empty() && !stopped_) {
+            cv_.wait(lock);
+        }
+
+        if (stopped_) {
+            return true;
+        }
+    }
+
+    {
+        std::lock_guard<std::mutex> lock(lock_);
+        while (compressed_queue_.size() > 0) {
+            CompressWork blocks = std::move(compressed_queue_.front());
+            compressed_queue_.pop();
+
+            if (blocks.compression_status) {
+                compressed_buf->insert(compressed_buf->end(),
+                                       std::make_move_iterator(blocks.compressed_data.begin()),
+                                       std::make_move_iterator(blocks.compressed_data.end()));
+            } else {
+                LOG(ERROR) << "Block compression failed";
+                return false;
+            }
+        }
+    }
+
+    return true;
+}
+
+void CompressWorker::Finalize() {
+    {
+        std::unique_lock<std::mutex> lock(lock_);
+        stopped_ = true;
+    }
+    cv_.notify_all();
+}
+
+CompressWorker::CompressWorker(CowCompressionAlgorithm compression, uint32_t block_size)
+    : compression_(compression), block_size_(block_size) {}
+
 }  // namespace snapshot
 }  // namespace android
diff --git a/fs_mgr/libsnapshot/libsnapshot_cow/cow_writer.cpp b/fs_mgr/libsnapshot/libsnapshot_cow/cow_writer.cpp
index 43c17a6..2d5e4bc 100644
--- a/fs_mgr/libsnapshot/libsnapshot_cow/cow_writer.cpp
+++ b/fs_mgr/libsnapshot/libsnapshot_cow/cow_writer.cpp
@@ -15,6 +15,7 @@
 //
 
 #include <sys/types.h>
+#include <sys/uio.h>
 #include <unistd.h>
 
 #include <limits>
@@ -22,6 +23,7 @@
 
 #include <android-base/file.h>
 #include <android-base/logging.h>
+#include <android-base/properties.h>
 #include <android-base/unique_fd.h>
 #include <brotli/encode.h>
 #include <libsnapshot/cow_format.h>
@@ -132,6 +134,46 @@
 
 CowWriter::CowWriter(const CowOptions& options) : ICowWriter(options), fd_(-1) {
     SetupHeaders();
+    SetupWriteOptions();
+}
+
+CowWriter::~CowWriter() {
+    for (size_t i = 0; i < compress_threads_.size(); i++) {
+        CompressWorker* worker = compress_threads_[i].get();
+        if (worker) {
+            worker->Finalize();
+        }
+    }
+
+    bool ret = true;
+    for (auto& t : threads_) {
+        ret = t.get() && ret;
+    }
+
+    if (!ret) {
+        LOG(ERROR) << "Compression failed";
+    }
+    compress_threads_.clear();
+}
+
+void CowWriter::SetupWriteOptions() {
+    num_compress_threads_ = options_.num_compress_threads;
+
+    if (!num_compress_threads_) {
+        num_compress_threads_ = 1;
+        // We prefer not to have more than two threads as the overhead of additional
+        // threads is far greater than cutting down compression time.
+        if (header_.cluster_ops &&
+            android::base::GetBoolProperty("ro.virtual_ab.compression.threads", false)) {
+            num_compress_threads_ = 2;
+        }
+    }
+
+    if (header_.cluster_ops &&
+        (android::base::GetBoolProperty("ro.virtual_ab.batch_writes", false) ||
+         options_.batch_write)) {
+        batch_write_ = true;
+    }
 }
 
 void CowWriter::SetupHeaders() {
@@ -206,6 +248,42 @@
     return true;
 }
 
+void CowWriter::InitBatchWrites() {
+    if (batch_write_) {
+        cowop_vec_ = std::make_unique<struct iovec[]>(header_.cluster_ops);
+        data_vec_ = std::make_unique<struct iovec[]>(header_.cluster_ops);
+        struct iovec* cowop_ptr = cowop_vec_.get();
+        struct iovec* data_ptr = data_vec_.get();
+        for (size_t i = 0; i < header_.cluster_ops; i++) {
+            std::unique_ptr<CowOperation> op = std::make_unique<CowOperation>();
+            cowop_ptr[i].iov_base = op.get();
+            cowop_ptr[i].iov_len = sizeof(CowOperation);
+            opbuffer_vec_.push_back(std::move(op));
+
+            std::unique_ptr<uint8_t[]> buffer = std::make_unique<uint8_t[]>(header_.block_size * 2);
+            data_ptr[i].iov_base = buffer.get();
+            data_ptr[i].iov_len = header_.block_size * 2;
+            databuffer_vec_.push_back(std::move(buffer));
+        }
+
+        current_op_pos_ = next_op_pos_;
+        current_data_pos_ = next_data_pos_;
+    }
+
+    std::string batch_write = batch_write_ ? "enabled" : "disabled";
+    LOG(INFO) << "Batch writes: " << batch_write;
+}
+
+void CowWriter::InitWorkers() {
+    for (int i = 0; i < num_compress_threads_; i++) {
+        auto wt = std::make_unique<CompressWorker>(compression_, header_.block_size);
+        threads_.emplace_back(std::async(std::launch::async, &CompressWorker::RunThread, wt.get()));
+        compress_threads_.push_back(std::move(wt));
+    }
+
+    LOG(INFO) << num_compress_threads_ << " thread used for compression";
+}
+
 bool CowWriter::Initialize(unique_fd&& fd) {
     owned_fd_ = std::move(fd);
     return Initialize(borrowed_fd{owned_fd_});
@@ -216,7 +294,13 @@
         return false;
     }
 
-    return OpenForWrite();
+    bool ret = OpenForWrite();
+
+    if (ret) {
+        InitWorkers();
+    }
+
+    return ret;
 }
 
 bool CowWriter::InitializeAppend(android::base::unique_fd&& fd, uint64_t label) {
@@ -229,7 +313,13 @@
         return false;
     }
 
-    return OpenForAppend(label);
+    bool ret = OpenForAppend(label);
+
+    if (ret && !compress_threads_.size()) {
+        InitWorkers();
+    }
+
+    return ret;
 }
 
 void CowWriter::InitPos() {
@@ -287,6 +377,7 @@
     }
 
     InitPos();
+    InitBatchWrites();
 
     return true;
 }
@@ -320,6 +411,9 @@
         PLOG(ERROR) << "lseek failed";
         return false;
     }
+
+    InitBatchWrites();
+
     return EmitClusterIfNeeded();
 }
 
@@ -348,47 +442,99 @@
     return EmitBlocks(new_block_start, data, size, old_block, offset, kCowXorOp);
 }
 
+bool CowWriter::CompressBlocks(size_t num_blocks, const void* data) {
+    size_t num_threads = (num_blocks == 1) ? 1 : num_compress_threads_;
+    size_t num_blocks_per_thread = num_blocks / num_threads;
+    const uint8_t* iter = reinterpret_cast<const uint8_t*>(data);
+    compressed_buf_.clear();
+
+    // Submit the blocks per thread. The retrieval of
+    // compressed buffers has to be done in the same order.
+    // We should not poll for completed buffers in a different order as the
+    // buffers are tightly coupled with block ordering.
+    for (size_t i = 0; i < num_threads; i++) {
+        CompressWorker* worker = compress_threads_[i].get();
+        if (i == num_threads - 1) {
+            num_blocks_per_thread = num_blocks;
+        }
+        worker->EnqueueCompressBlocks(iter, num_blocks_per_thread);
+        iter += (num_blocks_per_thread * header_.block_size);
+        num_blocks -= num_blocks_per_thread;
+    }
+
+    for (size_t i = 0; i < num_threads; i++) {
+        CompressWorker* worker = compress_threads_[i].get();
+        if (!worker->GetCompressedBuffers(&compressed_buf_)) {
+            return false;
+        }
+    }
+
+    return true;
+}
+
 bool CowWriter::EmitBlocks(uint64_t new_block_start, const void* data, size_t size,
                            uint64_t old_block, uint16_t offset, uint8_t type) {
-    const uint8_t* iter = reinterpret_cast<const uint8_t*>(data);
     CHECK(!merge_in_progress_);
-    for (size_t i = 0; i < size / header_.block_size; i++) {
-        CowOperation op = {};
-        op.new_block = new_block_start + i;
-        op.type = type;
-        if (type == kCowXorOp) {
-            op.source = (old_block + i) * header_.block_size + offset;
-        } else {
-            op.source = next_data_pos_;
-        }
+    const uint8_t* iter = reinterpret_cast<const uint8_t*>(data);
+
+    // Update engine can potentially send 100MB of blocks at a time. We
+    // don't want to process all those blocks in one shot as it can
+    // stress the memory. Hence, process the blocks in chunks.
+    //
+    // 1024 blocks is reasonable given we will end up using max
+    // memory of ~4MB.
+    const size_t kProcessingBlocks = 1024;
+    size_t num_blocks = (size / header_.block_size);
+    size_t i = 0;
+
+    while (num_blocks) {
+        size_t pending_blocks = (std::min(kProcessingBlocks, num_blocks));
 
         if (compression_) {
-            auto data = Compress(iter, header_.block_size);
-            if (data.empty()) {
-                PLOG(ERROR) << "AddRawBlocks: compression failed";
+            if (!CompressBlocks(pending_blocks, iter)) {
                 return false;
             }
-            if (data.size() > std::numeric_limits<uint16_t>::max()) {
-                LOG(ERROR) << "Compressed block is too large: " << data.size() << " bytes";
-                return false;
-            }
-            op.compression = compression_;
-            op.data_length = static_cast<uint16_t>(data.size());
-
-            if (!WriteOperation(op, data.data(), data.size())) {
-                PLOG(ERROR) << "AddRawBlocks: write failed, bytes requested: " << size
-                            << ", bytes written: " << i * header_.block_size;
-                return false;
-            }
-        } else {
-            op.data_length = static_cast<uint16_t>(header_.block_size);
-            if (!WriteOperation(op, iter, header_.block_size)) {
-                PLOG(ERROR) << "AddRawBlocks: write failed";
-                return false;
-            }
+            buf_iter_ = compressed_buf_.begin();
+            CHECK(pending_blocks == compressed_buf_.size());
+            iter += (pending_blocks * header_.block_size);
         }
 
-        iter += header_.block_size;
+        num_blocks -= pending_blocks;
+
+        while (i < size / header_.block_size && pending_blocks) {
+            CowOperation op = {};
+            op.new_block = new_block_start + i;
+            op.type = type;
+            if (type == kCowXorOp) {
+                op.source = (old_block + i) * header_.block_size + offset;
+            } else {
+                op.source = next_data_pos_;
+            }
+
+            if (compression_) {
+                auto data = std::move(*buf_iter_);
+                op.compression = compression_;
+                op.data_length = static_cast<uint16_t>(data.size());
+
+                if (!WriteOperation(op, data.data(), data.size())) {
+                    PLOG(ERROR) << "AddRawBlocks: write failed";
+                    return false;
+                }
+                buf_iter_++;
+            } else {
+                op.data_length = static_cast<uint16_t>(header_.block_size);
+                if (!WriteOperation(op, iter, header_.block_size)) {
+                    PLOG(ERROR) << "AddRawBlocks: write failed";
+                    return false;
+                }
+                iter += header_.block_size;
+            }
+
+            i += 1;
+            pending_blocks -= 1;
+        }
+
+        CHECK(pending_blocks == 0);
     }
     return true;
 }
@@ -416,7 +562,7 @@
 bool CowWriter::EmitSequenceData(size_t num_ops, const uint32_t* data) {
     CHECK(!merge_in_progress_);
     size_t to_add = 0;
-    size_t max_ops = std::numeric_limits<uint16_t>::max() / sizeof(uint32_t);
+    size_t max_ops = (header_.block_size * 2) / sizeof(uint32_t);
     while (num_ops > 0) {
         CowOperation op = {};
         op.type = kCowSequenceOp;
@@ -461,6 +607,11 @@
 }
 
 bool CowWriter::Finalize() {
+    if (!FlushCluster()) {
+        LOG(ERROR) << "Finalize: FlushCluster() failed";
+        return false;
+    }
+
     auto continue_cluster_size = current_cluster_size_;
     auto continue_data_size = current_data_size_;
     auto continue_data_pos = next_data_pos_;
@@ -525,6 +676,9 @@
         next_op_pos_ = continue_op_pos;
         footer_.op.num_ops = continue_num_ops;
     }
+
+    FlushCluster();
+
     return Sync();
 }
 
@@ -556,6 +710,35 @@
     return true;
 }
 
+bool CowWriter::FlushCluster() {
+    ssize_t ret;
+
+    if (op_vec_index_) {
+        ret = pwritev(fd_.get(), cowop_vec_.get(), op_vec_index_, current_op_pos_);
+        if (ret != (op_vec_index_ * sizeof(CowOperation))) {
+            PLOG(ERROR) << "pwritev failed for CowOperation. Expected: "
+                        << (op_vec_index_ * sizeof(CowOperation));
+            return false;
+        }
+    }
+
+    if (data_vec_index_) {
+        ret = pwritev(fd_.get(), data_vec_.get(), data_vec_index_, current_data_pos_);
+        if (ret != total_data_written_) {
+            PLOG(ERROR) << "pwritev failed for data. Expected: " << total_data_written_;
+            return false;
+        }
+    }
+
+    total_data_written_ = 0;
+    op_vec_index_ = 0;
+    data_vec_index_ = 0;
+    current_op_pos_ = next_op_pos_;
+    current_data_pos_ = next_data_pos_;
+
+    return true;
+}
+
 bool CowWriter::WriteOperation(const CowOperation& op, const void* data, size_t size) {
     if (!EnsureSpaceAvailable(next_op_pos_ + sizeof(op))) {
         return false;
@@ -564,14 +747,43 @@
         return false;
     }
 
-    if (!android::base::WriteFullyAtOffset(fd_, reinterpret_cast<const uint8_t*>(&op), sizeof(op),
-                                           next_op_pos_)) {
-        return false;
+    if (batch_write_) {
+        CowOperation* cow_op = reinterpret_cast<CowOperation*>(cowop_vec_[op_vec_index_].iov_base);
+        std::memcpy(cow_op, &op, sizeof(CowOperation));
+        op_vec_index_ += 1;
+
+        if (data != nullptr && size > 0) {
+            struct iovec* data_ptr = data_vec_.get();
+            std::memcpy(data_ptr[data_vec_index_].iov_base, data, size);
+            data_ptr[data_vec_index_].iov_len = size;
+            data_vec_index_ += 1;
+            total_data_written_ += size;
+        }
+    } else {
+        if (lseek(fd_.get(), next_op_pos_, SEEK_SET) < 0) {
+            PLOG(ERROR) << "lseek failed for writing operation.";
+            return false;
+        }
+        if (!android::base::WriteFully(fd_, reinterpret_cast<const uint8_t*>(&op), sizeof(op))) {
+            return false;
+        }
+        if (data != nullptr && size > 0) {
+            if (!WriteRawData(data, size)) return false;
+        }
     }
-    if (data != nullptr && size > 0) {
-        if (!WriteRawData(data, size)) return false;
-    }
+
     AddOperation(op);
+
+    if (batch_write_) {
+        if (op_vec_index_ == header_.cluster_ops || data_vec_index_ == header_.cluster_ops ||
+            op.type == kCowLabelOp || op.type == kCowClusterOp) {
+            if (!FlushCluster()) {
+                LOG(ERROR) << "Failed to flush cluster data";
+                return false;
+            }
+        }
+    }
+
     return EmitClusterIfNeeded();
 }
 
diff --git a/fs_mgr/libsnapshot/snapshot_writer.cpp b/fs_mgr/libsnapshot/snapshot_writer.cpp
index 6aad3d1..82a7fd7 100644
--- a/fs_mgr/libsnapshot/snapshot_writer.cpp
+++ b/fs_mgr/libsnapshot/snapshot_writer.cpp
@@ -93,6 +93,9 @@
 
 std::unique_ptr<FileDescriptor> CompressedSnapshotWriter::OpenReader() {
     auto cow = OpenCowReader();
+    if (cow == nullptr) {
+        return nullptr;
+    }
 
     auto reader = std::make_unique<CompressedSnapshotReader>();
     if (!reader->SetCow(std::move(cow))) {
diff --git a/fs_mgr/tools/dmctl.cpp b/fs_mgr/tools/dmctl.cpp
index 62ca162..10efd0c 100644
--- a/fs_mgr/tools/dmctl.cpp
+++ b/fs_mgr/tools/dmctl.cpp
@@ -33,6 +33,7 @@
 #include <ios>
 #include <iostream>
 #include <map>
+#include <optional>
 #include <sstream>
 #include <string>
 #include <vector>
@@ -183,6 +184,8 @@
             }
             std::string control_device = NextArg();
             return std::make_unique<DmTargetUser>(start_sector, num_sectors, control_device);
+        } else if (target_type == "error") {
+            return std::make_unique<DmTargetError>(start_sector, num_sectors);
         } else {
             std::cerr << "Unrecognized target type: " << target_type << std::endl;
             return nullptr;
@@ -206,16 +209,26 @@
     char** argv_;
 };
 
-static bool parse_table_args(DmTable* table, int argc, char** argv) {
+struct TableArgs {
+    DmTable table;
+    bool suspended = false;
+};
+
+static std::optional<TableArgs> parse_table_args(int argc, char** argv) {
+    TableArgs out;
+
     // Parse extended options first.
     int arg_index = 1;
     while (arg_index < argc && argv[arg_index][0] == '-') {
         if (strcmp(argv[arg_index], "-ro") == 0) {
-            table->set_readonly(true);
+            out.table.set_readonly(true);
+            arg_index++;
+        } else if (strcmp(argv[arg_index], "-suspended") == 0) {
+            out.suspended = true;
             arg_index++;
         } else {
             std::cerr << "Unrecognized option: " << argv[arg_index] << std::endl;
-            return -EINVAL;
+            return {};
         }
     }
 
@@ -223,37 +236,44 @@
     TargetParser parser(argc - arg_index, argv + arg_index);
     while (parser.More()) {
         std::unique_ptr<DmTarget> target = parser.Next();
-        if (!target || !table->AddTarget(std::move(target))) {
-            return -EINVAL;
+        if (!target || !out.table.AddTarget(std::move(target))) {
+            return {};
         }
     }
 
-    if (table->num_targets() == 0) {
+    if (out.table.num_targets() == 0) {
         std::cerr << "Must define at least one target." << std::endl;
-        return -EINVAL;
+        return {};
     }
-    return 0;
+    return {std::move(out)};
 }
 
 static int DmCreateCmdHandler(int argc, char** argv) {
     if (argc < 1) {
-        std::cerr << "Usage: dmctl create <dm-name> [-ro] <targets...>" << std::endl;
+        std::cerr << "Usage: dmctl create <dm-name> [--suspended] [-ro] <targets...>" << std::endl;
         return -EINVAL;
     }
     std::string name = argv[0];
 
-    DmTable table;
-    int ret = parse_table_args(&table, argc, argv);
-    if (ret) {
-        return ret;
+    auto table_args = parse_table_args(argc, argv);
+    if (!table_args) {
+        return -EINVAL;
     }
 
     std::string ignore_path;
     DeviceMapper& dm = DeviceMapper::Instance();
-    if (!dm.CreateDevice(name, table, &ignore_path, 5s)) {
+    if (!dm.CreateEmptyDevice(name)) {
         std::cerr << "Failed to create device-mapper device with name: " << name << std::endl;
         return -EIO;
     }
+    if (!dm.LoadTable(name, table_args->table)) {
+        std::cerr << "Failed to load table for dm device: " << name << std::endl;
+        return -EIO;
+    }
+    if (!table_args->suspended && !dm.ChangeState(name, DmDeviceState::ACTIVE)) {
+        std::cerr << "Failed to activate table for " << name << std::endl;
+        return -EIO;
+    }
     return 0;
 }
 
@@ -269,7 +289,6 @@
         std::cerr << "Failed to delete [" << name << "]" << std::endl;
         return -EIO;
     }
-
     return 0;
 }
 
@@ -280,17 +299,20 @@
     }
     std::string name = argv[0];
 
-    DmTable table;
-    int ret = parse_table_args(&table, argc, argv);
-    if (ret) {
-        return ret;
+    auto table_args = parse_table_args(argc, argv);
+    if (!table_args) {
+        return -EINVAL;
     }
 
     DeviceMapper& dm = DeviceMapper::Instance();
-    if (!dm.LoadTableAndActivate(name, table)) {
+    if (!dm.LoadTable(name, table_args->table)) {
         std::cerr << "Failed to replace device-mapper table to: " << name << std::endl;
         return -EIO;
     }
+    if (!table_args->suspended && !dm.ChangeState(name, DmDeviceState::ACTIVE)) {
+        std::cerr << "Failed to activate table for " << name << std::endl;
+        return -EIO;
+    }
     return 0;
 }
 
diff --git a/fs_mgr/tools/dmuserd.cpp b/fs_mgr/tools/dmuserd.cpp
index 6b68b28..da7156c 100644
--- a/fs_mgr/tools/dmuserd.cpp
+++ b/fs_mgr/tools/dmuserd.cpp
@@ -13,6 +13,7 @@
 #include <sys/prctl.h>
 #include <unistd.h>
 #include <iostream>
+#include <string>
 
 #define SECTOR_SIZE ((__u64)512)
 #define BUFFER_BYTES 4096
@@ -133,16 +134,16 @@
     return 0;
 }
 
-int simple_daemon(char* control_path, char* backing_path) {
-    int control_fd = open(control_path, O_RDWR);
+static int simple_daemon(const std::string& control_path, const std::string& backing_path) {
+    int control_fd = open(control_path.c_str(), O_RDWR);
     if (control_fd < 0) {
-        fprintf(stderr, "Unable to open control device %s\n", control_path);
+        fprintf(stderr, "Unable to open control device %s\n", control_path.c_str());
         return -1;
     }
 
-    int backing_fd = open(backing_path, O_RDWR);
+    int backing_fd = open(backing_path.c_str(), O_RDWR);
     if (backing_fd < 0) {
-        fprintf(stderr, "Unable to open backing device %s\n", backing_path);
+        fprintf(stderr, "Unable to open backing device %s\n", backing_path.c_str());
         return -1;
     }
 
@@ -286,8 +287,8 @@
 }
 
 int main(int argc, char* argv[]) {
-    char* control_path = NULL;
-    char* backing_path = NULL;
+    std::string control_path;
+    std::string backing_path;
     char* store;
     int c;
 
@@ -299,10 +300,10 @@
                 usage(basename(argv[0]));
                 exit(0);
             case 'c':
-                control_path = strdup(optarg);
+                control_path = optarg;
                 break;
             case 'b':
-                backing_path = strdup(optarg);
+                backing_path = optarg;
                 break;
             case 'v':
                 verbose = true;
diff --git a/init/Android.bp b/init/Android.bp
index 06f696e..c7e7de8 100644
--- a/init/Android.bp
+++ b/init/Android.bp
@@ -109,21 +109,22 @@
         misc_undefined: ["signed-integer-overflow"],
     },
     cflags: [
-        "-DLOG_UEVENTS=0",
-        "-Wall",
-        "-Wextra",
-        "-Wno-unused-parameter",
-        "-Werror",
-        "-Wthread-safety",
         "-DALLOW_FIRST_STAGE_CONSOLE=0",
         "-DALLOW_LOCAL_PROP_OVERRIDE=0",
         "-DALLOW_PERMISSIVE_SELINUX=0",
-        "-DREBOOT_BOOTLOADER_ON_PANIC=0",
-        "-DWORLD_WRITABLE_KMSG=0",
+        "-DANDROID_BASE_UNIQUE_FD_DISABLE_IMPLICIT_CONVERSION",
         "-DDUMP_ON_UMOUNT_FAILURE=0",
-        "-DSHUTDOWN_ZERO_TIMEOUT=0",
         "-DINIT_FULL_SOURCES",
         "-DINSTALL_DEBUG_POLICY_TO_SYSTEM_EXT=0",
+        "-DLOG_UEVENTS=0",
+        "-DREBOOT_BOOTLOADER_ON_PANIC=0",
+        "-DSHUTDOWN_ZERO_TIMEOUT=0",
+        "-DWORLD_WRITABLE_KMSG=0",
+        "-Wall",
+        "-Werror",
+        "-Wextra",
+        "-Wno-unused-parameter",
+        "-Wthread-safety",
     ],
     product_variables: {
         debuggable: {
diff --git a/init/builtins.cpp b/init/builtins.cpp
index 7cb8b11..a89813e 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -331,13 +331,13 @@
     unique_fd s(TEMP_FAILURE_RETRY(socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0)));
     if (s < 0) return ErrnoError() << "opening socket failed";
 
-    if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0) {
+    if (ioctl(s.get(), SIOCGIFFLAGS, &ifr) < 0) {
         return ErrnoError() << "ioctl(..., SIOCGIFFLAGS, ...) failed";
     }
 
     ifr.ifr_flags |= IFF_UP;
 
-    if (ioctl(s, SIOCSIFFLAGS, &ifr) < 0) {
+    if (ioctl(s.get(), SIOCSIFFLAGS, &ifr) < 0) {
         return ErrnoError() << "ioctl(..., SIOCSIFFLAGS, ...) failed";
     }
 
@@ -516,11 +516,11 @@
 
             loop_info info;
             /* if it is a blank loop device */
-            if (ioctl(loop, LOOP_GET_STATUS, &info) < 0 && errno == ENXIO) {
+            if (ioctl(loop.get(), LOOP_GET_STATUS, &info) < 0 && errno == ENXIO) {
                 /* if it becomes our loop device */
-                if (ioctl(loop, LOOP_SET_FD, fd.get()) >= 0) {
+                if (ioctl(loop.get(), LOOP_SET_FD, fd.get()) >= 0) {
                     if (mount(tmp.c_str(), target, system, flags, options) < 0) {
-                        ioctl(loop, LOOP_CLR_FD, 0);
+                        ioctl(loop.get(), LOOP_CLR_FD, 0);
                         return ErrnoError() << "mount() failed";
                     }
                     return {};
@@ -901,16 +901,16 @@
     if (fd == -1) {
         return ErrnoError() << "Error opening file";
     }
-    if (posix_fadvise(fd, 0, 0, POSIX_FADV_WILLNEED)) {
+    if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_WILLNEED)) {
         return ErrnoError() << "Error posix_fadvise file";
     }
-    if (readahead(fd, 0, std::numeric_limits<size_t>::max())) {
+    if (readahead(fd.get(), 0, std::numeric_limits<size_t>::max())) {
         return ErrnoError() << "Error readahead file";
     }
     if (fully) {
         char buf[BUFSIZ];
         ssize_t n;
-        while ((n = TEMP_FAILURE_RETRY(read(fd, &buf[0], sizeof(buf)))) > 0) {
+        while ((n = TEMP_FAILURE_RETRY(read(fd.get(), &buf[0], sizeof(buf)))) > 0) {
         }
         if (n != 0) {
             return ErrnoError() << "Error reading file";
diff --git a/init/devices.cpp b/init/devices.cpp
index 28406f6..8bc6e52 100644
--- a/init/devices.cpp
+++ b/init/devices.cpp
@@ -470,7 +470,11 @@
         MakeDevice(devpath, block, major, minor, links);
     }
 
-    // We don't have full device-mapper information until a change event is fired.
+    // Handle device-mapper nodes.
+    // On kernels <= 5.10, the "add" event is fired on DM_DEV_CREATE, but does not contain name
+    // information until DM_TABLE_LOAD - thus, we wait for a "change" event.
+    // On kernels >= 5.15, the "add" event is fired on DM_TABLE_LOAD, followed by a "change"
+    // event.
     if (action == "add" || (action == "change" && StartsWith(devpath, "/dev/block/dm-"))) {
         for (const auto& link : links) {
             if (!mkdir_recursive(Dirname(link), 0755)) {
diff --git a/init/epoll.cpp b/init/epoll.cpp
index fd1af4f..cd73a0c 100644
--- a/init/epoll.cpp
+++ b/init/epoll.cpp
@@ -57,7 +57,7 @@
             .events = events,
             .data.fd = fd,
     };
-    if (epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, fd, &ev) == -1) {
+    if (epoll_ctl(epoll_fd_.get(), EPOLL_CTL_ADD, fd, &ev) == -1) {
         Result<void> result = ErrnoError() << "epoll_ctl failed to add fd";
         epoll_handlers_.erase(fd);
         return result;
@@ -66,7 +66,7 @@
 }
 
 Result<void> Epoll::UnregisterHandler(int fd) {
-    if (epoll_ctl(epoll_fd_, EPOLL_CTL_DEL, fd, nullptr) == -1) {
+    if (epoll_ctl(epoll_fd_.get(), EPOLL_CTL_DEL, fd, nullptr) == -1) {
         return ErrnoError() << "epoll_ctl failed to remove fd";
     }
     auto it = epoll_handlers_.find(fd);
@@ -88,7 +88,7 @@
     }
     const auto max_events = epoll_handlers_.size();
     epoll_event ev[max_events];
-    auto num_events = TEMP_FAILURE_RETRY(epoll_wait(epoll_fd_, ev, max_events, timeout_ms));
+    auto num_events = TEMP_FAILURE_RETRY(epoll_wait(epoll_fd_.get(), ev, max_events, timeout_ms));
     if (num_events == -1) {
         return ErrnoError() << "epoll_wait failed";
     }
diff --git a/init/firmware_handler.cpp b/init/firmware_handler.cpp
index 30e808d..b9fa58c 100644
--- a/init/firmware_handler.cpp
+++ b/init/firmware_handler.cpp
@@ -257,12 +257,12 @@
             return false;
         }
         struct stat sb;
-        if (fstat(fw_fd, &sb) == -1) {
+        if (fstat(fw_fd.get(), &sb) == -1) {
             attempted_paths_and_errors.emplace_back("firmware: attempted " + file +
                                                     ", fstat failed: " + strerror(errno));
             return false;
         }
-        LoadFirmware(firmware, root, fw_fd, sb.st_size, loading_fd, data_fd);
+        LoadFirmware(firmware, root, fw_fd.get(), sb.st_size, loading_fd.get(), data_fd.get());
         return true;
     };
 
@@ -287,7 +287,7 @@
     }
 
     // Write "-1" as our response to the kernel's firmware request, since we have nothing for it.
-    write(loading_fd, "-1", 2);
+    write(loading_fd.get(), "-1", 2);
 }
 
 bool FirmwareHandler::ForEachFirmwareDirectory(
diff --git a/init/init.cpp b/init/init.cpp
index 540e2ca..4262191 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -739,33 +739,13 @@
     HandlePowerctlMessage("shutdown,container");
 }
 
-static constexpr std::chrono::milliseconds kDiagnosticTimeout = 10s;
-
-static void HandleSignalFd(bool one_off) {
+static void HandleSignalFd() {
     signalfd_siginfo siginfo;
-    auto started = std::chrono::steady_clock::now();
-    do {
-        ssize_t bytes_read = TEMP_FAILURE_RETRY(read(signal_fd, &siginfo, sizeof(siginfo)));
-        if (bytes_read < 0 && errno == EAGAIN) {
-            if (one_off) {
-                return;
-            }
-            auto now = std::chrono::steady_clock::now();
-            std::chrono::duration<double> waited = now - started;
-            if (waited >= kDiagnosticTimeout) {
-                LOG(ERROR) << "epoll() woke us up, but we waited with no SIGCHLD!";
-                started = now;
-            }
-
-            std::this_thread::sleep_for(100ms);
-            continue;
-        }
-        if (bytes_read != sizeof(siginfo)) {
-            PLOG(ERROR) << "Failed to read siginfo from signal_fd";
-            return;
-        }
-        break;
-    } while (!one_off);
+    ssize_t bytes_read = TEMP_FAILURE_RETRY(read(signal_fd, &siginfo, sizeof(siginfo)));
+    if (bytes_read != sizeof(siginfo)) {
+        PLOG(ERROR) << "Failed to read siginfo from signal_fd";
+        return;
+    }
 
     switch (siginfo.ssi_signo) {
         case SIGCHLD:
@@ -820,14 +800,13 @@
         LOG(FATAL) << "Failed to register a fork handler: " << strerror(result);
     }
 
-    signal_fd = signalfd(-1, &mask, SFD_CLOEXEC | SFD_NONBLOCK);
+    signal_fd = signalfd(-1, &mask, SFD_CLOEXEC);
     if (signal_fd == -1) {
         PLOG(FATAL) << "failed to create signalfd";
     }
 
     constexpr int flags = EPOLLIN | EPOLLPRI;
-    auto handler = std::bind(HandleSignalFd, false);
-    if (auto result = epoll->RegisterHandler(signal_fd, handler, flags); !result.ok()) {
+    if (auto result = epoll->RegisterHandler(signal_fd, HandleSignalFd, flags); !result.ok()) {
         LOG(FATAL) << result.error();
     }
 }
@@ -956,32 +935,6 @@
     return {};
 }
 
-static void DumpPidFds(const std::string& prefix, pid_t pid) {
-    std::error_code ec;
-    std::string proc_dir = "/proc/" + std::to_string(pid) + "/fd";
-    for (const auto& entry : std::filesystem::directory_iterator(proc_dir)) {
-        std::string target;
-        if (android::base::Readlink(entry.path(), &target)) {
-            LOG(ERROR) << prefix << target;
-        } else {
-            LOG(ERROR) << prefix << entry.path();
-        }
-    }
-}
-
-static void DumpFile(const std::string& prefix, const std::string& file) {
-    std::ifstream fp(file);
-    if (!fp) {
-        LOG(ERROR) << "Could not open " << file;
-        return;
-    }
-
-    std::string line;
-    while (std::getline(fp, line)) {
-        LOG(ERROR) << prefix << line;
-    }
-}
-
 int SecondStageMain(int argc, char** argv) {
     if (REBOOT_BOOTLOADER_ON_PANIC) {
         InstallRebootSignalHandlers();
@@ -1155,7 +1108,7 @@
     setpriority(PRIO_PROCESS, 0, 0);
     while (true) {
         // By default, sleep until something happens.
-        std::chrono::milliseconds epoll_timeout{kDiagnosticTimeout};
+        std::optional<std::chrono::milliseconds> epoll_timeout;
 
         auto shutdown_command = shutdown_state.CheckShutdown();
         if (shutdown_command) {
@@ -1187,25 +1140,6 @@
         auto epoll_result = epoll.Wait(epoll_timeout);
         if (!epoll_result.ok()) {
             LOG(ERROR) << epoll_result.error();
-        } else if (*epoll_result <= 0 && Service::is_exec_service_running()) {
-            static bool dumped_diagnostics = false;
-            std::chrono::duration<double> waited =
-                    std::chrono::steady_clock::now() - Service::exec_service_started();
-            if (waited >= kDiagnosticTimeout) {
-                LOG(ERROR) << "Exec service is hung? Waited " << waited.count()
-                           << " without SIGCHLD";
-                if (!dumped_diagnostics) {
-                    DumpPidFds("exec service opened: ", Service::exec_service_pid());
-
-                    std::string status_file =
-                            "/proc/" + std::to_string(Service::exec_service_pid()) + "/status";
-                    DumpFile("exec service: ", status_file);
-                    dumped_diagnostics = true;
-
-                    LOG(INFO) << "Attempting to handle any stuck SIGCHLDs...";
-                    HandleSignalFd(true);
-                }
-            }
         }
         if (!IsShuttingDown()) {
             HandleControlMessages();
diff --git a/init/init_test.cpp b/init/init_test.cpp
index 7bad6fd..aea1cb3 100644
--- a/init/init_test.cpp
+++ b/init/init_test.cpp
@@ -194,10 +194,9 @@
 }
 
 TEST(init, StartConsole) {
-    // Two different failures have been observed for this test: (1) No
-    // permission to open /dev/console and (2) getsid() != pid. Skip this test
-    // until these failures have been root-caused and fixed.
-    GTEST_SKIP() << "This test needs to be improved";
+    if (access("/dev/console", F_OK) < 0) {
+        GTEST_SKIP() << "/dev/console not found";
+    }
     std::string init_script = R"init(
 service console /system/bin/sh
     class core
@@ -205,7 +204,7 @@
     disabled
     user root
     group root shell log readproc
-    seclabel u:r:su:s0
+    seclabel u:r:shell:s0
     setenv HOSTNAME console
 )init";
 
@@ -219,7 +218,7 @@
     ASSERT_RESULT_OK(service->Start());
     const pid_t pid = service->pid();
     ASSERT_GT(pid, 0);
-    EXPECT_EQ(getsid(pid), pid);
+    EXPECT_NE(getsid(pid), 0);
     service->Stop();
 }
 
diff --git a/init/persistent_properties.cpp b/init/persistent_properties.cpp
index d33a6b8..8db7267 100644
--- a/init/persistent_properties.cpp
+++ b/init/persistent_properties.cpp
@@ -77,7 +77,7 @@
         }
 
         struct stat sb;
-        if (fstat(fd, &sb) == -1) {
+        if (fstat(fd.get(), &sb) == -1) {
             PLOG(ERROR) << "fstat on property file \"" << entry->d_name << "\" failed";
             continue;
         }
@@ -198,7 +198,7 @@
     if (!WriteStringToFd(serialized_string, fd)) {
         return ErrnoError() << "Unable to write file contents";
     }
-    fsync(fd);
+    fsync(fd.get());
     fd.reset();
 
     if (rename(temp_filename.c_str(), persistent_property_filename.c_str())) {
@@ -216,7 +216,7 @@
     if (dir_fd < 0) {
         return ErrnoError() << "Unable to open persistent properties directory for fsync()";
     }
-    fsync(dir_fd);
+    fsync(dir_fd.get());
 
     return {};
 }
diff --git a/init/property_service.cpp b/init/property_service.cpp
index f3550a1..9df9828 100644
--- a/init/property_service.cpp
+++ b/init/property_service.cpp
@@ -300,13 +300,13 @@
         if (!socket_.ok()) {
             return true;
         }
-        int result = TEMP_FAILURE_RETRY(send(socket_, &value, sizeof(value), 0));
+        int result = TEMP_FAILURE_RETRY(send(socket_.get(), &value, sizeof(value), 0));
         return result == sizeof(value);
     }
 
     bool GetSourceContext(std::string* source_context) const {
         char* c_source_context = nullptr;
-        if (getpeercon(socket_, &c_source_context) != 0) {
+        if (getpeercon(socket_.get(), &c_source_context) != 0) {
             return false;
         }
         *source_context = c_source_context;
@@ -320,13 +320,13 @@
 
   private:
     bool PollIn(uint32_t* timeout_ms) {
-        struct pollfd ufds[1];
-        ufds[0].fd = socket_;
-        ufds[0].events = POLLIN;
-        ufds[0].revents = 0;
+        struct pollfd ufd = {
+                .fd = socket_.get(),
+                .events = POLLIN,
+        };
         while (*timeout_ms > 0) {
             auto start_time = std::chrono::steady_clock::now();
-            int nr = poll(ufds, 1, *timeout_ms);
+            int nr = poll(&ufd, 1, *timeout_ms);
             auto now = std::chrono::steady_clock::now();
             auto time_elapsed =
                 std::chrono::duration_cast<std::chrono::milliseconds>(now - start_time);
@@ -368,7 +368,7 @@
                 return false;
             }
 
-            int result = TEMP_FAILURE_RETRY(recv(socket_, data, bytes_left, MSG_DONTWAIT));
+            int result = TEMP_FAILURE_RETRY(recv(socket_.get(), data, bytes_left, MSG_DONTWAIT));
             if (result <= 0) {
                 PLOG(ERROR) << "sys_prop: recv error";
                 return false;
diff --git a/init/reboot.cpp b/init/reboot.cpp
index 1f4186d..a3fc534 100644
--- a/init/reboot.cpp
+++ b/init/reboot.cpp
@@ -767,7 +767,7 @@
     if (IsDataMounted("f2fs")) {
         uint32_t flag = F2FS_GOING_DOWN_FULLSYNC;
         unique_fd fd(TEMP_FAILURE_RETRY(open("/data", O_RDONLY)));
-        int ret = ioctl(fd, F2FS_IOC_SHUTDOWN, &flag);
+        int ret = ioctl(fd.get(), F2FS_IOC_SHUTDOWN, &flag);
         if (ret) {
             PLOG(ERROR) << "Shutdown /data: ";
         } else {
diff --git a/init/security.cpp b/init/security.cpp
index 2ecf687..6e616be 100644
--- a/init/security.cpp
+++ b/init/security.cpp
@@ -216,7 +216,7 @@
         return {};
     }
 
-    int ioctl_ret = ioctl(fd, PERF_EVENT_IOC_RESET);
+    int ioctl_ret = ioctl(fd.get(), PERF_EVENT_IOC_RESET);
     if (ioctl_ret != -1) {
         // Success implies that the kernel doesn't have the hooks.
         return {};
diff --git a/init/selinux.cpp b/init/selinux.cpp
index ab5b0a0..ea308aa 100644
--- a/init/selinux.cpp
+++ b/init/selinux.cpp
@@ -567,7 +567,7 @@
         return ErrnoError() << "Failed to open " << dstPath;
     }
 
-    ret = ExtractEntryToFile(archive, &entry, fd);
+    ret = ExtractEntryToFile(archive, &entry, fd.get());
     if (ret != 0) {
         return Error() << "Failed to extract entry \"" << fileName << "\" ("
                        << entry.uncompressed_length << " bytes) to \"" << dstPath
@@ -785,7 +785,7 @@
         return;
     }
 
-    TEMP_FAILURE_RETRY(send(fd, &request, sizeof(request), 0));
+    TEMP_FAILURE_RETRY(send(fd.get(), &request, sizeof(request), 0));
 }
 
 }  // namespace
diff --git a/init/service.cpp b/init/service.cpp
index ccc7191..d495b91 100644
--- a/init/service.cpp
+++ b/init/service.cpp
@@ -136,8 +136,6 @@
 
 unsigned long Service::next_start_order_ = 1;
 bool Service::is_exec_service_running_ = false;
-pid_t Service::exec_service_pid_ = -1;
-std::chrono::time_point<std::chrono::steady_clock> Service::exec_service_started_;
 
 Service::Service(const std::string& name, Subcontext* subcontext_for_restart_commands,
                  const std::string& filename, const std::vector<std::string>& args)
@@ -292,7 +290,8 @@
     }
 
     if ((siginfo.si_code != CLD_EXITED || siginfo.si_status != 0) && on_failure_reboot_target_) {
-        LOG(ERROR) << "Service with 'reboot_on_failure' option failed, shutting down system.";
+        LOG(ERROR) << "Service " << name_
+                   << " has 'reboot_on_failure' option and failed, shutting down system.";
         trigger_shutdown(*on_failure_reboot_target_);
     }
 
@@ -433,8 +432,6 @@
 
     flags_ |= SVC_EXEC;
     is_exec_service_running_ = true;
-    exec_service_pid_ = pid_;
-    exec_service_started_ = std::chrono::steady_clock::now();
 
     LOG(INFO) << "SVC_EXEC service '" << name_ << "' pid " << pid_ << " (uid " << proc_attr_.uid
               << " gid " << proc_attr_.gid << "+" << proc_attr_.supp_gids.size() << " context "
@@ -715,8 +712,6 @@
         if (use_memcg) {
             ConfigureMemcg();
         }
-    } else {
-        process_cgroup_empty_ = true;
     }
 
     if (oom_score_adjust_ != DEFAULT_OOM_SCORE_ADJUST) {
@@ -871,6 +866,8 @@
 
     if ((how != SVC_DISABLED) && (how != SVC_RESET) && (how != SVC_RESTART)) {
         // An illegal flag: default to SVC_DISABLED.
+        LOG(ERROR) << "service '" << name_ << "' requested unknown flag " << how
+                   << ", defaulting to disabling it.";
         how = SVC_DISABLED;
     }
 
diff --git a/init/service.h b/init/service.h
index 54bf638..f9749d2 100644
--- a/init/service.h
+++ b/init/service.h
@@ -73,6 +73,8 @@
             const std::vector<gid_t>& supp_gids, int namespace_flags, const std::string& seclabel,
             Subcontext* subcontext_for_restart_commands, const std::string& filename,
             const std::vector<std::string>& args);
+    Service(const Service&) = delete;
+    void operator=(const Service&) = delete;
 
     static Result<std::unique_ptr<Service>> MakeTemporaryOneshotService(
             const std::vector<std::string>& args);
@@ -104,10 +106,6 @@
     size_t CheckAllCommands() const { return onrestart_.CheckAllCommands(); }
 
     static bool is_exec_service_running() { return is_exec_service_running_; }
-    static pid_t exec_service_pid() { return exec_service_pid_; }
-    static std::chrono::time_point<std::chrono::steady_clock> exec_service_started() {
-        return exec_service_started_;
-    }
 
     const std::string& name() const { return name_; }
     const std::set<std::string>& classnames() const { return classnames_; }
@@ -160,8 +158,6 @@
     void SetMountNamespace();
     static unsigned long next_start_order_;
     static bool is_exec_service_running_;
-    static std::chrono::time_point<std::chrono::steady_clock> exec_service_started_;
-    static pid_t exec_service_pid_;
 
     const std::string name_;
     std::set<std::string> classnames_;
diff --git a/init/service_list.cpp b/init/service_list.cpp
index 3047821..937d82e 100644
--- a/init/service_list.cpp
+++ b/init/service_list.cpp
@@ -24,8 +24,8 @@
 ServiceList::ServiceList() {}
 
 ServiceList& ServiceList::GetInstance() {
-    static ServiceList instance;
-    return instance;
+    static ServiceList* instance = new ServiceList;
+    return *instance;
 }
 
 size_t ServiceList::CheckAllCommands() {
diff --git a/init/service_utils.cpp b/init/service_utils.cpp
index 15bf963..7004d8d 100644
--- a/init/service_utils.cpp
+++ b/init/service_utils.cpp
@@ -52,7 +52,7 @@
     if (fd == -1) {
         return ErrnoError() << "Could not open namespace at " << path;
     }
-    if (setns(fd, nstype) == -1) {
+    if (setns(fd.get(), nstype) == -1) {
         return ErrnoError() << "Could not setns() namespace at " << path;
     }
     return {};
@@ -127,22 +127,22 @@
 
 void SetupStdio(bool stdio_to_kmsg) {
     auto fd = unique_fd{open("/dev/null", O_RDWR | O_CLOEXEC)};
-    dup2(fd, STDIN_FILENO);
+    dup2(fd.get(), STDIN_FILENO);
     if (stdio_to_kmsg) {
         fd.reset(open("/dev/kmsg_debug", O_WRONLY | O_CLOEXEC));
         if (fd == -1) fd.reset(open("/dev/null", O_WRONLY | O_CLOEXEC));
     }
-    dup2(fd, STDOUT_FILENO);
-    dup2(fd, STDERR_FILENO);
+    dup2(fd.get(), STDOUT_FILENO);
+    dup2(fd.get(), STDERR_FILENO);
 }
 
 void OpenConsole(const std::string& console) {
     auto fd = unique_fd{open(console.c_str(), O_RDWR | O_CLOEXEC)};
     if (fd == -1) fd.reset(open("/dev/null", O_RDWR | O_CLOEXEC));
-    ioctl(fd, TIOCSCTTY, 0);
-    dup2(fd, 0);
-    dup2(fd, 1);
-    dup2(fd, 2);
+    ioctl(fd.get(), TIOCSCTTY, 0);
+    dup2(fd.get(), 0);
+    dup2(fd.get(), 1);
+    dup2(fd.get(), 2);
 }
 
 }  // namespace
@@ -190,7 +190,7 @@
     }
 
     // Fixup as we set O_NONBLOCK for open, the intent for fd is to block reads.
-    fcntl(fd, F_SETFL, flags);
+    fcntl(fd.get(), F_SETFL, flags);
 
     return Descriptor(ANDROID_FILE_ENV_PREFIX + name, std::move(fd));
 }
diff --git a/init/subcontext.cpp b/init/subcontext.cpp
index 961e006..6a095fb 100644
--- a/init/subcontext.cpp
+++ b/init/subcontext.cpp
@@ -207,7 +207,7 @@
 
         // We explicitly do not use O_CLOEXEC here, such that we can reference this FD by number
         // in the subcontext process after we exec.
-        int child_fd = dup(subcontext_socket);  // NOLINT(android-cloexec-dup)
+        int child_fd = dup(subcontext_socket.get());  // NOLINT(android-cloexec-dup)
         if (child_fd < 0) {
             PLOG(FATAL) << "Could not dup child_fd";
         }
@@ -268,12 +268,12 @@
 }
 
 Result<SubcontextReply> Subcontext::TransmitMessage(const SubcontextCommand& subcontext_command) {
-    if (auto result = SendMessage(socket_, subcontext_command); !result.ok()) {
+    if (auto result = SendMessage(socket_.get(), subcontext_command); !result.ok()) {
         Restart();
         return ErrnoError() << "Failed to send message to subcontext";
     }
 
-    auto subcontext_message = ReadMessage(socket_);
+    auto subcontext_message = ReadMessage(socket_.get());
     if (!subcontext_message.ok()) {
         Restart();
         return Error() << "Failed to receive result from subcontext: " << subcontext_message.error();
diff --git a/init/test_upgrade_mte/mte_upgrade_test_helper.cpp b/init/test_upgrade_mte/mte_upgrade_test_helper.cpp
index 10af06b..3188337 100644
--- a/init/test_upgrade_mte/mte_upgrade_test_helper.cpp
+++ b/init/test_upgrade_mte/mte_upgrade_test_helper.cpp
@@ -22,6 +22,7 @@
 #include <sys/prctl.h>
 #include <time.h>
 #include <unistd.h>
+#include <memory>
 
 int MaybeDowngrade() {
     int res = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0);
@@ -58,7 +59,7 @@
         // Disallow automatic upgrade from ASYNC mode.
         if (prctl(PR_SET_TAGGED_ADDR_CTRL, res & ~PR_MTE_TCF_SYNC, 0, 0, 0) == -1) abort();
     }
-    volatile char* f = (char*)malloc(1);
+    std::unique_ptr<volatile char[]> f(new char[1]);
     f[17] = 'x';
     char buf[1];
     read(1, buf, 1);
diff --git a/init/uevent_listener.cpp b/init/uevent_listener.cpp
index 7cd396a..5da6777 100644
--- a/init/uevent_listener.cpp
+++ b/init/uevent_listener.cpp
@@ -92,12 +92,12 @@
         LOG(FATAL) << "Could not open uevent socket";
     }
 
-    fcntl(device_fd_, F_SETFL, O_NONBLOCK);
+    fcntl(device_fd_.get(), F_SETFL, O_NONBLOCK);
 }
 
 ReadUeventResult UeventListener::ReadUevent(Uevent* uevent) const {
     char msg[UEVENT_MSG_LEN + 2];
-    int n = uevent_kernel_multicast_recv(device_fd_, msg, UEVENT_MSG_LEN);
+    int n = uevent_kernel_multicast_recv(device_fd_.get(), msg, UEVENT_MSG_LEN);
     if (n <= 0) {
         if (errno != EAGAIN && errno != EWOULDBLOCK) {
             PLOG(ERROR) << "Error reading from Uevent Fd";
@@ -184,9 +184,10 @@
                           const std::optional<std::chrono::milliseconds> relative_timeout) const {
     using namespace std::chrono;
 
-    pollfd ufd;
-    ufd.events = POLLIN;
-    ufd.fd = device_fd_;
+    pollfd ufd = {
+            .events = POLLIN,
+            .fd = device_fd_.get(),
+    };
 
     auto start_time = steady_clock::now();
 
diff --git a/init/util.cpp b/init/util.cpp
index 3d42855..bc8ea6e 100644
--- a/init/util.cpp
+++ b/init/util.cpp
@@ -120,12 +120,12 @@
 
     if (passcred) {
         int on = 1;
-        if (setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on))) {
+        if (setsockopt(fd.get(), SOL_SOCKET, SO_PASSCRED, &on, sizeof(on))) {
             return ErrnoError() << "Failed to set SO_PASSCRED '" << name << "'";
         }
     }
 
-    int ret = bind(fd, (struct sockaddr *) &addr, sizeof (addr));
+    int ret = bind(fd.get(), (struct sockaddr*)&addr, sizeof(addr));
     int savederrno = errno;
 
     if (!secontext.empty()) {
@@ -145,7 +145,7 @@
     if (fchmodat(AT_FDCWD, addr.sun_path, perm, AT_SYMLINK_NOFOLLOW)) {
         return ErrnoError() << "Failed to fchmodat socket '" << addr.sun_path << "'";
     }
-    if (should_listen && listen(fd, /* use OS maximum */ 1 << 30)) {
+    if (should_listen && listen(fd.get(), /* use OS maximum */ 1 << 30)) {
         return ErrnoError() << "Failed to listen on socket '" << addr.sun_path << "'";
     }
 
@@ -168,7 +168,7 @@
     // For security reasons, disallow world-writable
     // or group-writable files.
     struct stat sb;
-    if (fstat(fd, &sb) == -1) {
+    if (fstat(fd.get(), &sb) == -1) {
         return ErrnoError() << "fstat failed()";
     }
     if ((sb.st_mode & (S_IWGRP | S_IWOTH)) != 0) {
diff --git a/janitors/OWNERS b/janitors/OWNERS
index e132f0b..d871201 100644
--- a/janitors/OWNERS
+++ b/janitors/OWNERS
@@ -1,6 +1,7 @@
 # OWNERS file for projects that don't really have owners so much as volunteer janitors.
 ccross@google.com
+cferris@google.com
 dwillemsen@google.com
 enh@google.com
 narayan@google.com
-sadafebrahimi@google.com
\ No newline at end of file
+sadafebrahimi@google.com
diff --git a/libprocessgroup/processgroup.cpp b/libprocessgroup/processgroup.cpp
index 3fac373..45ac99c 100644
--- a/libprocessgroup/processgroup.cpp
+++ b/libprocessgroup/processgroup.cpp
@@ -367,59 +367,70 @@
 // Returns 0 if there are no processes in the process cgroup left to kill
 // Returns -1 on error
 static int DoKillProcessGroupOnce(const char* cgroup, uid_t uid, int initialPid, int signal) {
-    auto path = ConvertUidPidToPath(cgroup, uid, initialPid) + PROCESSGROUP_CGROUP_PROCS_FILE;
-    std::unique_ptr<FILE, decltype(&fclose)> fd(fopen(path.c_str(), "re"), fclose);
-    if (!fd) {
-        if (errno == ENOENT) {
-            // This happens when process is already dead
-            return 0;
-        }
-        PLOG(WARNING) << __func__ << " failed to open process cgroup uid " << uid << " pid "
-                      << initialPid;
-        return -1;
-    }
-
     // We separate all of the pids in the cgroup into those pids that are also the leaders of
     // process groups (stored in the pgids set) and those that are not (stored in the pids set).
     std::set<pid_t> pgids;
     pgids.emplace(initialPid);
     std::set<pid_t> pids;
 
-    pid_t pid;
+    std::unique_ptr<FILE, decltype(&fclose)> fd(nullptr, fclose);
+
+    if (CgroupsAvailable()) {
+        auto path = ConvertUidPidToPath(cgroup, uid, initialPid) + PROCESSGROUP_CGROUP_PROCS_FILE;
+        fd.reset(fopen(path.c_str(), "re"));
+        if (!fd) {
+            if (errno == ENOENT) {
+                // This happens when process is already dead
+                return 0;
+            }
+            PLOG(WARNING) << __func__ << " failed to open process cgroup uid " << uid << " pid "
+                          << initialPid;
+            return -1;
+        }
+        pid_t pid;
+        bool file_is_empty = true;
+        while (fscanf(fd.get(), "%d\n", &pid) == 1 && pid >= 0) {
+            file_is_empty = false;
+            if (pid == 0) {
+                // Should never happen...  but if it does, trying to kill this
+                // will boomerang right back and kill us!  Let's not let that happen.
+                LOG(WARNING)
+                        << "Yikes, we've been told to kill pid 0!  How about we don't do that?";
+                continue;
+            }
+            pid_t pgid = getpgid(pid);
+            if (pgid == -1) PLOG(ERROR) << "getpgid(" << pid << ") failed";
+            if (pgid == pid) {
+                pgids.emplace(pid);
+            } else {
+                pids.emplace(pid);
+            }
+        }
+        if (file_is_empty) {
+            // This happens when process is already dead
+            return 0;
+        }
+
+        // Erase all pids that will be killed when we kill the process groups.
+        for (auto it = pids.begin(); it != pids.end();) {
+            pid_t pgid = getpgid(*it);
+            if (pgids.count(pgid) == 1) {
+                it = pids.erase(it);
+            } else {
+                ++it;
+            }
+        }
+    }
+
     int processes = 0;
-    while (fscanf(fd.get(), "%d\n", &pid) == 1 && pid >= 0) {
-        processes++;
-        if (pid == 0) {
-            // Should never happen...  but if it does, trying to kill this
-            // will boomerang right back and kill us!  Let's not let that happen.
-            LOG(WARNING) << "Yikes, we've been told to kill pid 0!  How about we don't do that?";
-            continue;
-        }
-        pid_t pgid = getpgid(pid);
-        if (pgid == -1) PLOG(ERROR) << "getpgid(" << pid << ") failed";
-        if (pgid == pid) {
-            pgids.emplace(pid);
-        } else {
-            pids.emplace(pid);
-        }
-    }
-
-    // Erase all pids that will be killed when we kill the process groups.
-    for (auto it = pids.begin(); it != pids.end();) {
-        pid_t pgid = getpgid(*it);
-        if (pgids.count(pgid) == 1) {
-            it = pids.erase(it);
-        } else {
-            ++it;
-        }
-    }
-
     // Kill all process groups.
     for (const auto pgid : pgids) {
         LOG(VERBOSE) << "Killing process group " << -pgid << " in uid " << uid
                      << " as part of process cgroup " << initialPid;
 
-        if (kill(-pgid, signal) == -1 && errno != ESRCH) {
+        if (kill(-pgid, signal) == 0) {
+            processes++;
+        } else if (errno != ESRCH) {
             PLOG(WARNING) << "kill(" << -pgid << ", " << signal << ") failed";
         }
     }
@@ -429,18 +440,22 @@
         LOG(VERBOSE) << "Killing pid " << pid << " in uid " << uid << " as part of process cgroup "
                      << initialPid;
 
-        if (kill(pid, signal) == -1 && errno != ESRCH) {
+        if (kill(pid, signal) == 0) {
+            processes++;
+        } else if (errno != ESRCH) {
             PLOG(WARNING) << "kill(" << pid << ", " << signal << ") failed";
         }
     }
 
-    return feof(fd.get()) ? processes : -1;
+    return (!fd || feof(fd.get())) ? processes : -1;
 }
 
 static int KillProcessGroup(uid_t uid, int initialPid, int signal, int retries,
                             int* max_processes) {
     std::string hierarchy_root_path;
-    CgroupGetControllerPath(CGROUPV2_CONTROLLER_NAME, &hierarchy_root_path);
+    if (CgroupsAvailable()) {
+        CgroupGetControllerPath(CGROUPV2_CONTROLLER_NAME, &hierarchy_root_path);
+    }
     const char* cgroup = hierarchy_root_path.c_str();
 
     std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
@@ -485,6 +500,11 @@
                       << " in " << static_cast<int>(ms) << "ms";
         }
 
+        if (!CgroupsAvailable()) {
+            // nothing to do here, if cgroups isn't available
+            return 0;
+        }
+
         // 400 retries correspond to 2 secs max timeout
         int err = RemoveProcessGroup(cgroup, uid, initialPid, 400);
 
diff --git a/libprocessgroup/profiles/task_profiles.json b/libprocessgroup/profiles/task_profiles.json
index 15f95fc..c485097 100644
--- a/libprocessgroup/profiles/task_profiles.json
+++ b/libprocessgroup/profiles/task_profiles.json
@@ -806,6 +806,10 @@
       "Profiles": [ "Dex2oatPerformance", "LowIoPriority", "TimerSlackHigh" ]
     },
     {
+      "Name": "Dex2OatBackground",
+      "Profiles": [ "Dex2OatBootComplete" ]
+    },
+    {
       "Name": "OtaProfiles",
       "Profiles": [ "ServiceCapacityLow", "LowIoPriority", "HighEnergySaving" ]
     }
diff --git a/libsystem/include/system/graphics-base-v1.2.h b/libsystem/include/system/graphics-base-v1.2.h
index 2194f5e..624912c 100644
--- a/libsystem/include/system/graphics-base-v1.2.h
+++ b/libsystem/include/system/graphics-base-v1.2.h
@@ -14,13 +14,17 @@
 } android_hdr_v1_2_t;
 
 typedef enum {
-    HAL_DATASPACE_DISPLAY_BT2020 = 142999552 /* ((STANDARD_BT2020 | TRANSFER_SRGB) | RANGE_FULL) */,
+    HAL_DATASPACE_DISPLAY_BT2020 = 142999552 /* STANDARD_BT2020 | TRANSFER_SRGB | RANGE_FULL */,
     HAL_DATASPACE_DYNAMIC_DEPTH = 4098 /* 0x1002 */,
     HAL_DATASPACE_JPEG_APP_SEGMENTS = 4099 /* 0x1003 */,
     HAL_DATASPACE_HEIF = 4100 /* 0x1004 */,
 } android_dataspace_v1_2_t;
 
 typedef enum {
+    HAL_COLOR_MODE_DISPLAY_BT2020 = 13,
+} android_color_mode_v1_2_t;
+
+typedef enum {
     HAL_PIXEL_FORMAT_HSV_888 = 55 /* 0x37 */,
 } android_pixel_format_v1_2_t;
 
diff --git a/libutils/Android.bp b/libutils/Android.bp
index 26e1597..b07058a 100644
--- a/libutils/Android.bp
+++ b/libutils/Android.bp
@@ -170,10 +170,6 @@
     min_sdk_version: "apex_inherit",
 
     afdo: true,
-
-    header_abi_checker: {
-        diff_flags: ["-allow-adding-removing-weak-symbols"],
-    },
 }
 
 cc_library {
@@ -184,6 +180,12 @@
         enabled: true,
         support_system_process: true,
     },
+
+    header_abi_checker: {
+        // AFDO affects weak symbols.
+        diff_flags: ["-allow-adding-removing-weak-symbols"],
+        ref_dump_dirs: ["abi-dumps"],
+    },
 }
 
 cc_library {
diff --git a/libutils/Unicode_test.cpp b/libutils/Unicode_test.cpp
index 8b994d9..7969525 100644
--- a/libutils/Unicode_test.cpp
+++ b/libutils/Unicode_test.cpp
@@ -35,86 +35,208 @@
     }
 
     char16_t const * const kSearchString = u"I am a leaf on the wind.";
+
+    constexpr static size_t BUFSIZE = 64;       // large enough for all tests
+
+    void TestUTF8toUTF16(std::initializer_list<uint8_t> input,
+                         std::initializer_list<char16_t> expect,
+                         const char* err_msg_length = "",
+                         ssize_t expected_length = 0) {
+        uint8_t empty_str[] = {};
+        char16_t output[BUFSIZE];
+
+        const size_t inlen = input.size(), outlen = expect.size();
+        ASSERT_LT(outlen, BUFSIZE);
+
+        const uint8_t *input_data = inlen ? std::data(input) : empty_str;
+        ssize_t measured = utf8_to_utf16_length(input_data, inlen);
+        EXPECT_EQ(expected_length ? : (ssize_t)outlen, measured) << err_msg_length;
+
+        utf8_to_utf16(input_data, inlen, output, outlen + 1);
+        for (size_t i = 0; i < outlen; i++) {
+            EXPECT_EQ(std::data(expect)[i], output[i]);
+        }
+        EXPECT_EQ(0, output[outlen]) << "should be null terminated";
+    }
+
+    void TestUTF16toUTF8(std::initializer_list<char16_t> input,
+                         std::initializer_list<char> expect,
+                         const char* err_msg_length = "",
+                         ssize_t expected_length = 0) {
+        char16_t empty_str[] = {};
+        char output[BUFSIZE];
+
+        const size_t inlen = input.size(), outlen = expect.size();
+        ASSERT_LT(outlen, BUFSIZE);
+
+        const char16_t *input_data = inlen ? std::data(input) : empty_str;
+        ssize_t measured = utf16_to_utf8_length(input_data, inlen);
+        EXPECT_EQ(expected_length ? : (ssize_t)outlen, measured) << err_msg_length;
+
+        utf16_to_utf8(input_data, inlen, output, outlen + 1);
+        for (size_t i = 0; i < outlen; i++) {
+            EXPECT_EQ(std::data(expect)[i], output[i]);
+        }
+        EXPECT_EQ(0, output[outlen]) << "should be null terminated";
+    }
 };
 
 TEST_F(UnicodeTest, UTF8toUTF16ZeroLength) {
-    ssize_t measured;
-
-    const uint8_t str[] = { };
-
-    measured = utf8_to_utf16_length(str, 0);
-    EXPECT_EQ(0, measured)
-            << "Zero length input should return zero length output.";
+    TestUTF8toUTF16({}, {},
+        "Zero length input should return zero length output.");
 }
 
-TEST_F(UnicodeTest, UTF8toUTF16ASCIILength) {
-    ssize_t measured;
-
-    // U+0030 or ASCII '0'
-    const uint8_t str[] = { 0x30 };
-
-    measured = utf8_to_utf16_length(str, sizeof(str));
-    EXPECT_EQ(1, measured)
-            << "ASCII glyphs should have a length of 1 char16_t";
+TEST_F(UnicodeTest, UTF8toUTF16ASCII) {
+    TestUTF8toUTF16(
+        { 0x30 },               // U+0030 or ASCII '0'
+        { 0x0030 },
+        "ASCII codepoints should have a length of 1 char16_t");
 }
 
-TEST_F(UnicodeTest, UTF8toUTF16Plane1Length) {
-    ssize_t measured;
-
-    // U+2323 SMILE
-    const uint8_t str[] = { 0xE2, 0x8C, 0xA3 };
-
-    measured = utf8_to_utf16_length(str, sizeof(str));
-    EXPECT_EQ(1, measured)
-            << "Plane 1 glyphs should have a length of 1 char16_t";
+TEST_F(UnicodeTest, UTF8toUTF16Plane1) {
+    TestUTF8toUTF16(
+        { 0xE2, 0x8C, 0xA3 },   // U+2323 SMILE
+        { 0x2323 },
+        "Plane 1 codepoints should have a length of 1 char16_t");
 }
 
-TEST_F(UnicodeTest, UTF8toUTF16SurrogateLength) {
-    ssize_t measured;
-
-    // U+10000
-    const uint8_t str[] = { 0xF0, 0x90, 0x80, 0x80 };
-
-    measured = utf8_to_utf16_length(str, sizeof(str));
-    EXPECT_EQ(2, measured)
-            << "Surrogate pairs should have a length of 2 char16_t";
+TEST_F(UnicodeTest, UTF8toUTF16Surrogate) {
+    TestUTF8toUTF16(
+        { 0xF0, 0x90, 0x80, 0x80 },   // U+10000
+        { 0xD800, 0xDC00 },
+        "Surrogate pairs should have a length of 2 char16_t");
 }
 
 TEST_F(UnicodeTest, UTF8toUTF16TruncatedUTF8) {
-    ssize_t measured;
-
-    // Truncated U+2323 SMILE
-    // U+2323 SMILE
-    const uint8_t str[] = { 0xE2, 0x8C };
-
-    measured = utf8_to_utf16_length(str, sizeof(str));
-    EXPECT_EQ(-1, measured)
-            << "Truncated UTF-8 should return -1 to indicate invalid";
+    TestUTF8toUTF16(
+        { 0xE2, 0x8C },       // Truncated U+2323 SMILE
+        { },                  // Conversion should still work but produce nothing
+        "Truncated UTF-8 should return -1 to indicate invalid",
+        -1);
 }
 
 TEST_F(UnicodeTest, UTF8toUTF16Normal) {
-    const uint8_t str[] = {
-        0x30, // U+0030, 1 UTF-16 character
-        0xC4, 0x80, // U+0100, 1 UTF-16 character
-        0xE2, 0x8C, 0xA3, // U+2323, 1 UTF-16 character
+    TestUTF8toUTF16({
+        0x30,                   // U+0030, 1 UTF-16 character
+        0xC4, 0x80,             // U+0100, 1 UTF-16 character
+        0xE2, 0x8C, 0xA3,       // U+2323, 1 UTF-16 character
         0xF0, 0x90, 0x80, 0x80, // U+10000, 2 UTF-16 character
-    };
+    }, {
+        0x0030,
+        0x0100,
+        0x2323,
+        0xD800, 0xDC00
+    });
+}
 
-    char16_t output[1 + 1 + 1 + 2 + 1];  // Room for null
+TEST_F(UnicodeTest, UTF8toUTF16Invalid) {
+    // TODO: The current behavior of utf8_to_utf16 is to treat invalid
+    // leading byte (>= 0xf8) as a 4-byte UTF8 sequence, and to treat
+    // invalid trailing byte(s) (i.e. bytes not having MSB set) as if
+    // they are valid and do the normal conversion. However, a better
+    // handling would be to treat invalid sequences as errors, such
+    // cases need to be reported and invalid characters (e.g. U+FFFD)
+    // could be produced at the place of error.  Until a fix is ready
+    // and compatibility is not an issue, we will keep testing the
+    // current behavior
+    TestUTF8toUTF16({
+        0xf8,                   // invalid leading byte
+        0xc4, 0x00,             // U+0100 with invalid trailing byte
+        0xe2, 0x0c, 0xa3,       // U+2323 with invalid trailing bytes
+        0xf0, 0x10, 0x00, 0x00, // U+10000 with invalid trailing bytes
+    }, {
+        0x4022,                 // invalid leading byte (>=0xfc) is treated
+                                // as valid for 4-byte UTF8 sequence
+	0x000C,
+	0x00A3,                 // invalid leadnig byte (b'10xxxxxx) is
+                                // treated as valid single UTF-8 byte
+        0xD800,                 // invalid trailing bytes are treated
+        0xDC00,                 // as valid bytes and follow normal
+    });
+}
 
-    utf8_to_utf16(str, sizeof(str), output, sizeof(output) / sizeof(output[0]));
+TEST_F(UnicodeTest, UTF16toUTF8ZeroLength) {
+    // TODO: The current behavior of utf16_to_utf8_length() is that
+    // it returns -1 if the input is a zero length UTF16 string.
+    // This is inconsistent with utf8_to_utf16_length() where a zero
+    // length string returns 0.  However, to fix the current behavior,
+    // we could have compatibility issue.  Until then, we will keep
+    // testing the current behavior
+    TestUTF16toUTF8({}, {},
+        "Zero length UTF16 input should return length of -1.", -1);
+}
 
-    EXPECT_EQ(0x0030, output[0])
-            << "should be U+0030";
-    EXPECT_EQ(0x0100, output[1])
-            << "should be U+0100";
-    EXPECT_EQ(0x2323, output[2])
-            << "should be U+2323";
-    EXPECT_EQ(0xD800, output[3])
-            << "should be first half of surrogate U+10000";
-    EXPECT_EQ(0xDC00, output[4])
-            << "should be second half of surrogate U+10000";
-    EXPECT_EQ(0, output[5]) << "should be null terminated";
+TEST_F(UnicodeTest, UTF16toUTF8ASCII) {
+    TestUTF16toUTF8(
+        { 0x0030 },  // U+0030 or ASCII '0'
+        { '\x30' },
+        "ASCII codepoints in UTF16 should give a length of 1 in UTF8");
+}
+
+TEST_F(UnicodeTest, UTF16toUTF8Plane1) {
+    TestUTF16toUTF8(
+        { 0x2323 },  // U+2323 SMILE
+        { '\xE2', '\x8C', '\xA3' },
+        "Plane 1 codepoints should have a length of 3 char in UTF-8");
+}
+
+TEST_F(UnicodeTest, UTF16toUTF8Surrogate) {
+    TestUTF16toUTF8(
+        { 0xD800, 0xDC00 },  // U+10000
+        { '\xF0', '\x90', '\x80', '\x80' },
+        "Surrogate pairs should have a length of 4 chars");
+}
+
+TEST_F(UnicodeTest, UTF16toUTF8UnpairedSurrogate) {
+    TestUTF16toUTF8(
+        { 0xD800 },     // U+10000 with high surrogate pair only
+        { },            // Unpaired surrogate should be ignored
+        "A single unpaired high surrogate should have a length of 0 chars");
+
+    TestUTF16toUTF8(
+        { 0xDC00 },     // U+10000 with low surrogate pair only
+        { },            // Unpaired surrogate should be ignored
+        "A single unpaired low surrogate should have a length of 0 chars");
+
+    TestUTF16toUTF8(
+        // U+0030, U+0100, U+10000 with high surrogate pair only, U+2323
+        { 0x0030, 0x0100, 0xDC00, 0x2323 },
+        { '\x30', '\xC4', '\x80', '\xE2', '\x8C', '\xA3' },
+        "Unpaired high surrogate should be skipped in the middle");
+
+    TestUTF16toUTF8(
+        // U+0030, U+0100, U+10000 with high surrogate pair only, U+2323
+        { 0x0030, 0x0100, 0xDC00, 0x2323 },
+        { '\x30', '\xC4', '\x80', '\xE2', '\x8C', '\xA3' },
+        "Unpaired low surrogate should be skipped in the middle");
+}
+
+TEST_F(UnicodeTest, UTF16toUTF8CorrectInvalidSurrogate) {
+    // http://b/29250543
+    // d841d8 is an invalid start for a surrogate pair. Make sure this is handled by ignoring the
+    // first character in the pair and handling the rest correctly.
+    TestUTF16toUTF8(
+        { 0xD841, 0xD841, 0xDC41 },     // U+20441
+        { '\xF0', '\xA0', '\x91', '\x81' },
+        "Invalid start for a surrogate pair should be ignored");
+}
+
+TEST_F(UnicodeTest, UTF16toUTF8Normal) {
+    TestUTF16toUTF8({
+        0x0024, // U+0024 ($) --> 0x24,           1 UTF-8 byte
+        0x00A3, // U+00A3 (£) --> 0xC2 0xA3,      2 UTF-8 bytes
+        0x0939, // U+0939 (ह) --> 0xE0 0xA4 0xB9, 3 UTF-8 bytes
+        0x20AC, // U+20AC (€) --> 0xE2 0x82 0xAC, 3 UTF-8 bytes
+        0xD55C, // U+D55C (한)--> 0xED 0x95 0x9C, 3 UTF-8 bytes
+        0xD801, 0xDC37, // U+10437 (𐐷) --> 0xF0 0x90 0x90 0xB7, 4 UTF-8 bytes
+    }, {
+        '\x24',
+        '\xC2', '\xA3',
+        '\xE0', '\xA4', '\xB9',
+        '\xE2', '\x82', '\xAC',
+        '\xED', '\x95', '\x9C',
+        '\xF0', '\x90', '\x90', '\xB7',
+    });
 }
 
 TEST_F(UnicodeTest, strstr16EmptyTarget) {
diff --git a/libutils/abi-dumps/arm64/source-based/libutils.so.lsdump b/libutils/abi-dumps/arm64/source-based/libutils.so.lsdump
new file mode 100644
index 0000000..c89af9e
--- /dev/null
+++ b/libutils/abi-dumps/arm64/source-based/libutils.so.lsdump
@@ -0,0 +1,15553 @@
+{
+ "array_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIA0_i",
+   "name" : "int[0]",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIA0_i",
+   "source_file" : "system/core/libcutils/include_outside_system/cutils/native_handle.h"
+  },
+  {
+   "alignment" : 2,
+   "linker_set_key" : "_ZTIA1_Ds",
+   "name" : "char16_t[1]",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIA1_Ds",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIA20_c",
+   "name" : "char[20]",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIA20_c",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIA5121_h",
+   "name" : "unsigned char[5121]",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIA5121_h",
+   "size" : 5121,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIA8_j",
+   "name" : "unsigned int[8]",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIA8_j",
+   "size" : 32,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "linker_set_key" : "_ZTIA_f",
+   "name" : "float[]",
+   "referenced_type" : "_ZTIf",
+   "self_type" : "_ZTIA_f",
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  }
+ ],
+ "builtin_types" :
+ [
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIDi",
+   "name" : "char32_t",
+   "referenced_type" : "_ZTIDi",
+   "self_type" : "_ZTIDi",
+   "size" : 4
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIDn",
+   "name" : "std::nullptr_t",
+   "referenced_type" : "_ZTIDn",
+   "self_type" : "_ZTIDn",
+   "size" : 8
+  },
+  {
+   "alignment" : 2,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIDs",
+   "name" : "char16_t",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIDs",
+   "size" : 2
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIa",
+   "name" : "signed char",
+   "referenced_type" : "_ZTIa",
+   "self_type" : "_ZTIa",
+   "size" : 1
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIb",
+   "name" : "bool",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIb",
+   "size" : 1
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIc",
+   "name" : "char",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIc",
+   "size" : 1
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTId",
+   "name" : "double",
+   "referenced_type" : "_ZTId",
+   "self_type" : "_ZTId",
+   "size" : 8
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIf",
+   "name" : "float",
+   "referenced_type" : "_ZTIf",
+   "self_type" : "_ZTIf",
+   "size" : 4
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIh",
+   "name" : "unsigned char",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIh",
+   "size" : 1
+  },
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIi",
+   "name" : "int",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIi",
+   "size" : 4
+  },
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIj",
+   "name" : "unsigned int",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIj",
+   "size" : 4
+  },
+  {
+   "alignment" : 8,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIl",
+   "name" : "long",
+   "referenced_type" : "_ZTIl",
+   "self_type" : "_ZTIl",
+   "size" : 8
+  },
+  {
+   "alignment" : 8,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIm",
+   "name" : "unsigned long",
+   "referenced_type" : "_ZTIm",
+   "self_type" : "_ZTIm",
+   "size" : 8
+  },
+  {
+   "alignment" : 2,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIs",
+   "name" : "short",
+   "referenced_type" : "_ZTIs",
+   "self_type" : "_ZTIs",
+   "size" : 2
+  },
+  {
+   "alignment" : 2,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIt",
+   "name" : "unsigned short",
+   "referenced_type" : "_ZTIt",
+   "self_type" : "_ZTIt",
+   "size" : 2
+  },
+  {
+   "linker_set_key" : "_ZTIv",
+   "name" : "void",
+   "referenced_type" : "_ZTIv",
+   "self_type" : "_ZTIv"
+  },
+  {
+   "alignment" : 8,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIx",
+   "name" : "long long",
+   "referenced_type" : "_ZTIx",
+   "self_type" : "_ZTIx",
+   "size" : 8
+  },
+  {
+   "alignment" : 8,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIy",
+   "name" : "unsigned long long",
+   "referenced_type" : "_ZTIy",
+   "self_type" : "_ZTIy",
+   "size" : 8
+  }
+ ],
+ "elf_functions" :
+ [
+  {
+   "name" : "_Z24androidCreateThreadGetIDPFiPvES_PS_"
+  },
+  {
+   "name" : "_ZN7android10LogPrinter8printRawEPKc"
+  },
+  {
+   "name" : "_ZN7android10LogPrinter9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android10LogPrinterC1EPKc19android_LogPriorityS2_b"
+  },
+  {
+   "name" : "_ZN7android10LogPrinterC2EPKc19android_LogPriorityS2_b"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl11appendArrayEPKvm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl11setCapacityEm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl12appendVectorERKS0_"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13editArrayImplEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13finish_vectorEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13insertArrayAtEPKvmm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13removeItemsAtEmm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl14insertVectorAtERKS0_m"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl15release_storageEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl16editItemLocationEm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl3addEPKv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl3addEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl3popEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4pushEPKv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4pushEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4sortEPFiPKvS2_E"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4sortEPFiPKvS2_PvES3_"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl5_growEmm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl5clearEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl6resizeEm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl7_shrinkEmm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl8insertAtEPKvmm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl8insertAtEmm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl9replaceAtEPKvm"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl9replaceAtEm"
+  },
+  {
+   "name" : "_ZN7android10VectorImplC2ERKS0_"
+  },
+  {
+   "name" : "_ZN7android10VectorImplC2Emj"
+  },
+  {
+   "name" : "_ZN7android10VectorImplD0Ev"
+  },
+  {
+   "name" : "_ZN7android10VectorImplD1Ev"
+  },
+  {
+   "name" : "_ZN7android10VectorImplD2Ev"
+  },
+  {
+   "name" : "_ZN7android10VectorImplaSERKS0_"
+  },
+  {
+   "name" : "_ZN7android11uptimeNanosEv"
+  },
+  {
+   "name" : "_ZN7android12NativeHandle6createEP13native_handleb"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleC1EP13native_handleb"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleC2EP13native_handleb"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleD1Ev"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleD2Ev"
+  },
+  {
+   "name" : "_ZN7android12SharedBuffer5allocEm"
+  },
+  {
+   "name" : "_ZN7android12SharedBuffer7deallocEPKS0_"
+  },
+  {
+   "name" : "_ZN7android12uptimeMillisEv"
+  },
+  {
+   "name" : "_ZN7android13PrefixPrinter9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android13PrefixPrinterC1ERNS_7PrinterEPKc"
+  },
+  {
+   "name" : "_ZN7android13PrefixPrinterC2ERNS_7PrinterEPKc"
+  },
+  {
+   "name" : "_ZN7android14LooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZN7android14LooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZN7android14LooperCallbackD2Ev"
+  },
+  {
+   "name" : "_ZN7android14MessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZN7android14MessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZN7android14MessageHandlerD2Ev"
+  },
+  {
+   "name" : "_ZN7android14String8Printer9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android14String8PrinterC1EPNS_7String8EPKc"
+  },
+  {
+   "name" : "_ZN7android14String8PrinterC2EPNS_7String8EPKc"
+  },
+  {
+   "name" : "_ZN7android14sp_report_raceEv"
+  },
+  {
+   "name" : "_ZN7android14statusToStringEi"
+  },
+  {
+   "name" : "_ZN7android15elapsedRealtimeEv"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl3addEPKv"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl5mergeERKNS_10VectorImplE"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl5mergeERKS0_"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl6removeEPKv"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplC2ERKNS_10VectorImplE"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplC2Emj"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplD0Ev"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplD1Ev"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplD2Ev"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplaSERKS0_"
+  },
+  {
+   "name" : "_ZN7android17JenkinsHashWhitenEj"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandler13handleMessageERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerC1ERKNS_2wpINS_14MessageHandlerEEE"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerC2ERKNS_2wpINS_14MessageHandlerEEE"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerD2Ev"
+  },
+  {
+   "name" : "_ZN7android19JenkinsHashMixBytesEjPKhm"
+  },
+  {
+   "name" : "_ZN7android19elapsedRealtimeNanoEv"
+  },
+  {
+   "name" : "_ZN7android20JenkinsHashMixShortsEjPKtm"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallback11handleEventEiiPv"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackC1EPFiiiPvE"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackC2EPFiiiPvE"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackD2Ev"
+  },
+  {
+   "name" : "_ZN7android21report_sysprop_changeEv"
+  },
+  {
+   "name" : "_ZN7android23sp_report_stack_pointerEv"
+  },
+  {
+   "name" : "_ZN7android27add_sysprop_change_callbackEPFvvEi"
+  },
+  {
+   "name" : "_ZN7android30get_report_sysprop_change_funcEv"
+  },
+  {
+   "name" : "_ZN7android47LightRefBase_reportIncStrongRequireStrongFailedEPKv"
+  },
+  {
+   "name" : "_ZN7android6Looper10initTLSKeyEv"
+  },
+  {
+   "name" : "_ZN7android6Looper11sendMessageERKNS_2spINS_14MessageHandlerEEERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android6Looper12getForThreadEv"
+  },
+  {
+   "name" : "_ZN7android6Looper12setForThreadERKNS_2spIS0_EE"
+  },
+  {
+   "name" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEE"
+  },
+  {
+   "name" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEEi"
+  },
+  {
+   "name" : "_ZN7android6Looper16threadDestructorEPv"
+  },
+  {
+   "name" : "_ZN7android6Looper17sendMessageAtTimeElRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android6Looper18rebuildEpollLockedEv"
+  },
+  {
+   "name" : "_ZN7android6Looper18sendMessageDelayedElRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android6Looper26removeSequenceNumberLockedEm"
+  },
+  {
+   "name" : "_ZN7android6Looper26scheduleEpollRebuildLockedEv"
+  },
+  {
+   "name" : "_ZN7android6Looper4wakeEv"
+  },
+  {
+   "name" : "_ZN7android6Looper5addFdEiiiPFiiiPvES1_"
+  },
+  {
+   "name" : "_ZN7android6Looper5addFdEiiiRKNS_2spINS_14LooperCallbackEEEPv"
+  },
+  {
+   "name" : "_ZN7android6Looper6awokenEv"
+  },
+  {
+   "name" : "_ZN7android6Looper7pollAllEiPiS1_PPv"
+  },
+  {
+   "name" : "_ZN7android6Looper7prepareEi"
+  },
+  {
+   "name" : "_ZN7android6Looper8pollOnceEiPiS1_PPv"
+  },
+  {
+   "name" : "_ZN7android6Looper8removeFdEi"
+  },
+  {
+   "name" : "_ZN7android6Looper9pollInnerEi"
+  },
+  {
+   "name" : "_ZN7android6LooperC1Eb"
+  },
+  {
+   "name" : "_ZN7android6LooperC2Eb"
+  },
+  {
+   "name" : "_ZN7android6LooperD0Ev"
+  },
+  {
+   "name" : "_ZN7android6LooperD1Ev"
+  },
+  {
+   "name" : "_ZN7android6LooperD2Ev"
+  },
+  {
+   "name" : "_ZN7android6Thread10readyToRunEv"
+  },
+  {
+   "name" : "_ZN7android6Thread11_threadLoopEPv"
+  },
+  {
+   "name" : "_ZN7android6Thread11requestExitEv"
+  },
+  {
+   "name" : "_ZN7android6Thread18requestExitAndWaitEv"
+  },
+  {
+   "name" : "_ZN7android6Thread3runEPKcim"
+  },
+  {
+   "name" : "_ZN7android6Thread4joinEv"
+  },
+  {
+   "name" : "_ZN7android6ThreadC2Eb"
+  },
+  {
+   "name" : "_ZN7android6ThreadD0Ev"
+  },
+  {
+   "name" : "_ZN7android6ThreadD1Ev"
+  },
+  {
+   "name" : "_ZN7android6ThreadD2Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMap6adviseENS0_9MapAdviceE"
+  },
+  {
+   "name" : "_ZN7android7FileMap6createEPKcilmb"
+  },
+  {
+   "name" : "_ZN7android7FileMapC1EOS0_"
+  },
+  {
+   "name" : "_ZN7android7FileMapC1Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapC2EOS0_"
+  },
+  {
+   "name" : "_ZN7android7FileMapC2Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapD1Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapD2Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapaSEOS0_"
+  },
+  {
+   "name" : "_ZN7android7Printer15printFormatLineEPKcz"
+  },
+  {
+   "name" : "_ZN7android7PrinterC2Ev"
+  },
+  {
+   "name" : "_ZN7android7PrinterD0Ev"
+  },
+  {
+   "name" : "_ZN7android7PrinterD1Ev"
+  },
+  {
+   "name" : "_ZN7android7PrinterD2Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBase10onFirstRefEv"
+  },
+  {
+   "name" : "_ZN7android7RefBase10renameRefsEmRKNS_16ReferenceRenamerE"
+  },
+  {
+   "name" : "_ZN7android7RefBase11renameRefIdEPNS0_12weakref_typeEPKvS4_"
+  },
+  {
+   "name" : "_ZN7android7RefBase11renameRefIdEPS0_PKvS3_"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type14attemptIncWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type16attemptIncStrongEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type18incWeakRequireWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type7decWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type7incWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type7trackMeEbb"
+  },
+  {
+   "name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase20extendObjectLifetimeEi"
+  },
+  {
+   "name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBaseC1Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseC2Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseD0Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseD1Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseD2Ev"
+  },
+  {
+   "name" : "_ZN7android7String810appendPathEPKc"
+  },
+  {
+   "name" : "_ZN7android7String810lockBufferEm"
+  },
+  {
+   "name" : "_ZN7android7String811real_appendEPKcm"
+  },
+  {
+   "name" : "_ZN7android7String812appendFormatEPKcz"
+  },
+  {
+   "name" : "_ZN7android7String812unlockBufferEm"
+  },
+  {
+   "name" : "_ZN7android7String812unlockBufferEv"
+  },
+  {
+   "name" : "_ZN7android7String813appendFormatVEPKcSt9__va_list"
+  },
+  {
+   "name" : "_ZN7android7String816convertToResPathEv"
+  },
+  {
+   "name" : "_ZN7android7String85clearEv"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKDim"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKDsm"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKc"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKcm"
+  },
+  {
+   "name" : "_ZN7android7String85setToERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String86appendEPKc"
+  },
+  {
+   "name" : "_ZN7android7String86appendEPKcm"
+  },
+  {
+   "name" : "_ZN7android7String86appendERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String86formatEPKcz"
+  },
+  {
+   "name" : "_ZN7android7String87formatVEPKcSt9__va_list"
+  },
+  {
+   "name" : "_ZN7android7String87toLowerEv"
+  },
+  {
+   "name" : "_ZN7android7String89removeAllEPKc"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDi"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDim"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDs"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDsm"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKc"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKcm"
+  },
+  {
+   "name" : "_ZN7android7String8C1ERKNS_8String16E"
+  },
+  {
+   "name" : "_ZN7android7String8C1ERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String8C1Ev"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDi"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDim"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDs"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDsm"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKc"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKcm"
+  },
+  {
+   "name" : "_ZN7android7String8C2ERKNS_8String16E"
+  },
+  {
+   "name" : "_ZN7android7String8C2ERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String8C2Ev"
+  },
+  {
+   "name" : "_ZN7android7String8D1Ev"
+  },
+  {
+   "name" : "_ZN7android7String8D2Ev"
+  },
+  {
+   "name" : "_ZN7android8String1610editResizeEm"
+  },
+  {
+   "name" : "_ZN7android8String1610replaceAllEDsDs"
+  },
+  {
+   "name" : "_ZN7android8String1613allocFromUTF8EPKcm"
+  },
+  {
+   "name" : "_ZN7android8String1614allocFromUTF16EPKDsm"
+  },
+  {
+   "name" : "_ZN7android8String164editEv"
+  },
+  {
+   "name" : "_ZN7android8String165allocEm"
+  },
+  {
+   "name" : "_ZN7android8String165setToEPKDs"
+  },
+  {
+   "name" : "_ZN7android8String165setToEPKDsm"
+  },
+  {
+   "name" : "_ZN7android8String165setToERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String165setToERKS0_mm"
+  },
+  {
+   "name" : "_ZN7android8String166appendEPKDsm"
+  },
+  {
+   "name" : "_ZN7android8String166appendERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String166insertEmPKDs"
+  },
+  {
+   "name" : "_ZN7android8String166insertEmPKDsm"
+  },
+  {
+   "name" : "_ZN7android8String167acquireEv"
+  },
+  {
+   "name" : "_ZN7android8String167releaseEv"
+  },
+  {
+   "name" : "_ZN7android8String16C1EOS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKDs"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKDsm"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKc"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKcm"
+  },
+  {
+   "name" : "_ZN7android8String16C1ERKNS_7String8E"
+  },
+  {
+   "name" : "_ZN7android8String16C1ERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C1ERKS0_mm"
+  },
+  {
+   "name" : "_ZN7android8String16C1Ev"
+  },
+  {
+   "name" : "_ZN7android8String16C2EOS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKDs"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKDsm"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKc"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKcm"
+  },
+  {
+   "name" : "_ZN7android8String16C2ERKNS_7String8E"
+  },
+  {
+   "name" : "_ZN7android8String16C2ERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C2ERKS0_mm"
+  },
+  {
+   "name" : "_ZN7android8String16C2Ev"
+  },
+  {
+   "name" : "_ZN7android8String16D1Ev"
+  },
+  {
+   "name" : "_ZN7android8String16D2Ev"
+  },
+  {
+   "name" : "_ZN7android8String16aSEOS0_"
+  },
+  {
+   "name" : "_ZN7android9FdPrinter9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android9FdPrinterC1EijPKc"
+  },
+  {
+   "name" : "_ZN7android9FdPrinterC2EijPKc"
+  },
+  {
+   "name" : "_ZN7android9StopWatch5resetEv"
+  },
+  {
+   "name" : "_ZN7android9StopWatchC1EPKci"
+  },
+  {
+   "name" : "_ZN7android9StopWatchC2EPKci"
+  },
+  {
+   "name" : "_ZN7android9StopWatchD1Ev"
+  },
+  {
+   "name" : "_ZN7android9StopWatchD2Ev"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer12fromContentsERKNS_7String8EPKcPPS0_"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer14skipDelimitersEPKc"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer4openERKNS_7String8EPPS0_"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer8nextLineEv"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer9nextTokenEPKc"
+  },
+  {
+   "name" : "_ZN7android9TokenizerC1ERKNS_7String8EPNS_7FileMapEPcbm"
+  },
+  {
+   "name" : "_ZN7android9TokenizerC2ERKNS_7String8EPNS_7FileMapEPcbm"
+  },
+  {
+   "name" : "_ZN7android9TokenizerD1Ev"
+  },
+  {
+   "name" : "_ZN7android9TokenizerD2Ev"
+  },
+  {
+   "name" : "_ZNK7android10VectorImpl12itemLocationEm"
+  },
+  {
+   "name" : "_ZNK7android10VectorImpl8capacityEv"
+  },
+  {
+   "name" : "_ZNK7android10VectorImpl8itemSizeEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer10editResizeEm"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer11attemptEditEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer4editEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer5resetEm"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer7acquireEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer7releaseEj"
+  },
+  {
+   "name" : "_ZNK7android16SortedVectorImpl13_indexOrderOfEPKvPm"
+  },
+  {
+   "name" : "_ZNK7android16SortedVectorImpl7indexOfEPKv"
+  },
+  {
+   "name" : "_ZNK7android16SortedVectorImpl7orderOfEPKv"
+  },
+  {
+   "name" : "_ZNK7android6Looper20getAllowNonCallbacksEv"
+  },
+  {
+   "name" : "_ZNK7android6Looper7Request14getEpollEventsEv"
+  },
+  {
+   "name" : "_ZNK7android6Looper9isPollingEv"
+  },
+  {
+   "name" : "_ZNK7android6Thread11exitPendingEv"
+  },
+  {
+   "name" : "_ZNK7android6Thread6getTidEv"
+  },
+  {
+   "name" : "_ZNK7android6Thread9isRunningEv"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE10do_destroyEPvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE12do_constructEPvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE15do_move_forwardEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE16do_move_backwardEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE7do_copyEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE8do_splatEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE10do_destroyEPvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE12do_constructEPvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE15do_move_forwardEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE16do_move_backwardEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE7do_copyEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE8do_splatEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE10do_destroyEPvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE12do_constructEPvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE15do_move_forwardEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE16do_move_backwardEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE7do_copyEPvPKvm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE8do_splatEPvPKvm"
+  },
+  {
+   "name" : "_ZNK7android7RefBase10createWeakEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase11getWeakRefsEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase12weakref_type12getWeakCountEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase12weakref_type7refBaseEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase12weakref_type9printRefsEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase14forceIncStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase14getStrongCountEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase22incStrongRequireStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase9decStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase9incStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7String810getPathDirEv"
+  },
+  {
+   "name" : "_ZNK7android7String811getBasePathEv"
+  },
+  {
+   "name" : "_ZNK7android7String811getPathLeafEv"
+  },
+  {
+   "name" : "_ZNK7android7String814find_extensionEv"
+  },
+  {
+   "name" : "_ZNK7android7String816getPathExtensionEv"
+  },
+  {
+   "name" : "_ZNK7android7String84findEPKcm"
+  },
+  {
+   "name" : "_ZNK7android7String86lengthEv"
+  },
+  {
+   "name" : "_ZNK7android7String88walkPathEPS0_"
+  },
+  {
+   "name" : "_ZNK7android8String1610startsWithEPKDs"
+  },
+  {
+   "name" : "_ZNK7android8String1610startsWithERKS0_"
+  },
+  {
+   "name" : "_ZNK7android8String1614isStaticStringEv"
+  },
+  {
+   "name" : "_ZNK7android8String1616staticStringSizeEv"
+  },
+  {
+   "name" : "_ZNK7android8String164sizeEv"
+  },
+  {
+   "name" : "_ZNK7android8String168containsEPKDs"
+  },
+  {
+   "name" : "_ZNK7android8String168findLastEDs"
+  },
+  {
+   "name" : "_ZNK7android8String169findFirstEDs"
+  },
+  {
+   "name" : "_ZNK7android9StopWatch11elapsedTimeEv"
+  },
+  {
+   "name" : "_ZNK7android9StopWatch4nameEv"
+  },
+  {
+   "name" : "_ZNK7android9Tokenizer11getLocationEv"
+  },
+  {
+   "name" : "_ZNK7android9Tokenizer19peekRemainderOfLineEv"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIimEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE14__erase_uniqueIiEEmRKT_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIimEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE25__emplace_unique_key_argsIiJRiRKmEEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIS2_PvEEEEbEERKT_DpOT0_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIimEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE6rehashEm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIimEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS2_PvEEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIimEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE8__rehashEm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeImN7android6Looper7RequestEEENS_22__unordered_map_hasherImS5_NS_4hashImEELb1EEENS_21__unordered_map_equalImS5_NS_8equal_toImEELb1EEENS_9allocatorIS5_EEE14__erase_uniqueImEEmRKT_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeImN7android6Looper7RequestEEENS_22__unordered_map_hasherImS5_NS_4hashImEELb1EEENS_21__unordered_map_equalImS5_NS_8equal_toImEELb1EEENS_9allocatorIS5_EEE25__emplace_unique_key_argsImJRKmRS4_EEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIS5_PvEEEEbEERKT_DpOT0_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeImN7android6Looper7RequestEEENS_22__unordered_map_hasherImS5_NS_4hashImEELb1EEENS_21__unordered_map_equalImS5_NS_8equal_toImEELb1EEENS_9allocatorIS5_EEE6rehashEm"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeImN7android6Looper7RequestEEENS_22__unordered_map_hasherImS5_NS_4hashImEELb1EEENS_21__unordered_map_equalImS5_NS_8equal_toImEELb1EEENS_9allocatorIS5_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS5_PvEEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeImN7android6Looper7RequestEEENS_22__unordered_map_hasherImS5_NS_4hashImEELb1EEENS_21__unordered_map_equalImS5_NS_8equal_toImEELb1EEENS_9allocatorIS5_EEE8__rehashEm"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android14LooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android14LooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android14MessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android14MessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android18WeakMessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android18WeakMessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android20SimpleLooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android20SimpleLooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android6ThreadD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n24_N7android6ThreadD1Ev"
+  },
+  {
+   "name" : "androidCreateRawThreadEtc"
+  },
+  {
+   "name" : "androidCreateThread"
+  },
+  {
+   "name" : "androidCreateThreadEtc"
+  },
+  {
+   "name" : "androidGetThreadId"
+  },
+  {
+   "name" : "androidGetThreadPriority"
+  },
+  {
+   "name" : "androidSetCreateThreadFunc"
+  },
+  {
+   "name" : "androidSetThreadName"
+  },
+  {
+   "name" : "androidSetThreadPriority"
+  },
+  {
+   "name" : "do_report_sysprop_change"
+  },
+  {
+   "name" : "strcmp16"
+  },
+  {
+   "name" : "strlen16"
+  },
+  {
+   "name" : "strncmp16"
+  },
+  {
+   "name" : "strnlen16"
+  },
+  {
+   "name" : "strstr16"
+  },
+  {
+   "name" : "strzcmp16"
+  },
+  {
+   "name" : "systemTime"
+  },
+  {
+   "name" : "toMillisecondTimeoutDelay"
+  },
+  {
+   "name" : "utf16_to_utf8"
+  },
+  {
+   "name" : "utf16_to_utf8_length"
+  },
+  {
+   "name" : "utf32_from_utf8_at"
+  },
+  {
+   "name" : "utf32_to_utf8"
+  },
+  {
+   "name" : "utf32_to_utf8_length"
+  },
+  {
+   "name" : "utf8_to_utf16"
+  },
+  {
+   "name" : "utf8_to_utf16_length"
+  },
+  {
+   "name" : "utf8_to_utf16_no_null_terminator"
+  }
+ ],
+ "elf_objects" :
+ [
+  {
+   "name" : "_ZN7android7FileMap9mPageSizeE"
+  },
+  {
+   "name" : "_ZTCN7android18WeakMessageHandlerE0_NS_14MessageHandlerE"
+  },
+  {
+   "name" : "_ZTCN7android20SimpleLooperCallbackE0_NS_14LooperCallbackE"
+  },
+  {
+   "name" : "_ZTTN7android14LooperCallbackE"
+  },
+  {
+   "name" : "_ZTTN7android14MessageHandlerE"
+  },
+  {
+   "name" : "_ZTTN7android18WeakMessageHandlerE"
+  },
+  {
+   "name" : "_ZTTN7android20SimpleLooperCallbackE"
+  },
+  {
+   "name" : "_ZTTN7android6ThreadE"
+  },
+  {
+   "name" : "_ZTVN7android10LogPrinterE"
+  },
+  {
+   "name" : "_ZTVN7android10VectorImplE"
+  },
+  {
+   "name" : "_ZTVN7android13PrefixPrinterE"
+  },
+  {
+   "name" : "_ZTVN7android14LooperCallbackE"
+  },
+  {
+   "name" : "_ZTVN7android14MessageHandlerE"
+  },
+  {
+   "name" : "_ZTVN7android14String8PrinterE"
+  },
+  {
+   "name" : "_ZTVN7android16SortedVectorImplE"
+  },
+  {
+   "name" : "_ZTVN7android18WeakMessageHandlerE"
+  },
+  {
+   "name" : "_ZTVN7android20SimpleLooperCallbackE"
+  },
+  {
+   "name" : "_ZTVN7android6LooperE"
+  },
+  {
+   "name" : "_ZTVN7android6ThreadE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZTVN7android6VectorINS_28sysprop_change_callback_infoEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZTVN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZTVN7android6VectorINS_6Looper8ResponseEEE"
+  },
+  {
+   "name" : "_ZTVN7android7PrinterE"
+  },
+  {
+   "name" : "_ZTVN7android7RefBaseE"
+  },
+  {
+   "name" : "_ZTVN7android9FdPrinterE"
+  }
+ ],
+ "enum_types" :
+ [
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : -1,
+     "name" : "SP_DEFAULT"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "SP_BACKGROUND"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "SP_FOREGROUND"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "SP_SYSTEM"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "SP_AUDIO_APP"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "SP_AUDIO_SYS"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "SP_TOP_APP"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "SP_RT_APP"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "SP_RESTRICTED"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "SP_CNT"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "SP_MAX"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "SP_SYSTEM_DEFAULT"
+    }
+   ],
+   "linker_set_key" : "_ZTI11SchedPolicy",
+   "name" : "SchedPolicy",
+   "referenced_type" : "_ZTI11SchedPolicy",
+   "self_type" : "_ZTI11SchedPolicy",
+   "size" : 4,
+   "source_file" : "system/core/libprocessgroup/include/processgroup/sched_policy.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_HDR_DOLBY_VISION"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_HDR_HDR10"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_HDR_HLG"
+    }
+   ],
+   "linker_set_key" : "_ZTI13android_hdr_t",
+   "name" : "android_hdr_t",
+   "referenced_type" : "_ZTI13android_hdr_t",
+   "self_type" : "_ZTI13android_hdr_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_HDR_HDR10_PLUS"
+    }
+   ],
+   "linker_set_key" : "_ZTI18android_hdr_v1_2_t",
+   "name" : "android_hdr_v1_2_t",
+   "referenced_type" : "_ZTI18android_hdr_v1_2_t",
+   "self_type" : "_ZTI18android_hdr_v1_2_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.2.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "ANDROID_LOG_UNKNOWN"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "ANDROID_LOG_DEFAULT"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "ANDROID_LOG_VERBOSE"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "ANDROID_LOG_DEBUG"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "ANDROID_LOG_INFO"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "ANDROID_LOG_WARN"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "ANDROID_LOG_ERROR"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "ANDROID_LOG_FATAL"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "ANDROID_LOG_SILENT"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_LogPriority",
+   "name" : "android_LogPriority",
+   "referenced_type" : "_ZTI19android_LogPriority",
+   "self_type" : "_ZTI19android_LogPriority",
+   "size" : 4,
+   "source_file" : "system/logging/liblog/include_vndk/android/log.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_UNKNOWN"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_DATASPACE_ARBITRARY"
+    },
+    {
+     "enum_field_value" : 16,
+     "name" : "HAL_DATASPACE_STANDARD_SHIFT"
+    },
+    {
+     "enum_field_value" : 4128768,
+     "name" : "HAL_DATASPACE_STANDARD_MASK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_STANDARD_UNSPECIFIED"
+    },
+    {
+     "enum_field_value" : 65536,
+     "name" : "HAL_DATASPACE_STANDARD_BT709"
+    },
+    {
+     "enum_field_value" : 131072,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_625"
+    },
+    {
+     "enum_field_value" : 196608,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 262144,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_525"
+    },
+    {
+     "enum_field_value" : 327680,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 393216,
+     "name" : "HAL_DATASPACE_STANDARD_BT2020"
+    },
+    {
+     "enum_field_value" : 458752,
+     "name" : "HAL_DATASPACE_STANDARD_BT2020_CONSTANT_LUMINANCE"
+    },
+    {
+     "enum_field_value" : 524288,
+     "name" : "HAL_DATASPACE_STANDARD_BT470M"
+    },
+    {
+     "enum_field_value" : 589824,
+     "name" : "HAL_DATASPACE_STANDARD_FILM"
+    },
+    {
+     "enum_field_value" : 655360,
+     "name" : "HAL_DATASPACE_STANDARD_DCI_P3"
+    },
+    {
+     "enum_field_value" : 720896,
+     "name" : "HAL_DATASPACE_STANDARD_ADOBE_RGB"
+    },
+    {
+     "enum_field_value" : 22,
+     "name" : "HAL_DATASPACE_TRANSFER_SHIFT"
+    },
+    {
+     "enum_field_value" : 130023424,
+     "name" : "HAL_DATASPACE_TRANSFER_MASK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_TRANSFER_UNSPECIFIED"
+    },
+    {
+     "enum_field_value" : 4194304,
+     "name" : "HAL_DATASPACE_TRANSFER_LINEAR"
+    },
+    {
+     "enum_field_value" : 8388608,
+     "name" : "HAL_DATASPACE_TRANSFER_SRGB"
+    },
+    {
+     "enum_field_value" : 12582912,
+     "name" : "HAL_DATASPACE_TRANSFER_SMPTE_170M"
+    },
+    {
+     "enum_field_value" : 16777216,
+     "name" : "HAL_DATASPACE_TRANSFER_GAMMA2_2"
+    },
+    {
+     "enum_field_value" : 20971520,
+     "name" : "HAL_DATASPACE_TRANSFER_GAMMA2_6"
+    },
+    {
+     "enum_field_value" : 25165824,
+     "name" : "HAL_DATASPACE_TRANSFER_GAMMA2_8"
+    },
+    {
+     "enum_field_value" : 29360128,
+     "name" : "HAL_DATASPACE_TRANSFER_ST2084"
+    },
+    {
+     "enum_field_value" : 33554432,
+     "name" : "HAL_DATASPACE_TRANSFER_HLG"
+    },
+    {
+     "enum_field_value" : 27,
+     "name" : "HAL_DATASPACE_RANGE_SHIFT"
+    },
+    {
+     "enum_field_value" : 939524096,
+     "name" : "HAL_DATASPACE_RANGE_MASK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_RANGE_UNSPECIFIED"
+    },
+    {
+     "enum_field_value" : 134217728,
+     "name" : "HAL_DATASPACE_RANGE_FULL"
+    },
+    {
+     "enum_field_value" : 268435456,
+     "name" : "HAL_DATASPACE_RANGE_LIMITED"
+    },
+    {
+     "enum_field_value" : 402653184,
+     "name" : "HAL_DATASPACE_RANGE_EXTENDED"
+    },
+    {
+     "enum_field_value" : 512,
+     "name" : "HAL_DATASPACE_SRGB_LINEAR"
+    },
+    {
+     "enum_field_value" : 138477568,
+     "name" : "HAL_DATASPACE_V0_SRGB_LINEAR"
+    },
+    {
+     "enum_field_value" : 406913024,
+     "name" : "HAL_DATASPACE_V0_SCRGB_LINEAR"
+    },
+    {
+     "enum_field_value" : 513,
+     "name" : "HAL_DATASPACE_SRGB"
+    },
+    {
+     "enum_field_value" : 142671872,
+     "name" : "HAL_DATASPACE_V0_SRGB"
+    },
+    {
+     "enum_field_value" : 411107328,
+     "name" : "HAL_DATASPACE_V0_SCRGB"
+    },
+    {
+     "enum_field_value" : 257,
+     "name" : "HAL_DATASPACE_JFIF"
+    },
+    {
+     "enum_field_value" : 146931712,
+     "name" : "HAL_DATASPACE_V0_JFIF"
+    },
+    {
+     "enum_field_value" : 258,
+     "name" : "HAL_DATASPACE_BT601_625"
+    },
+    {
+     "enum_field_value" : 281149440,
+     "name" : "HAL_DATASPACE_V0_BT601_625"
+    },
+    {
+     "enum_field_value" : 259,
+     "name" : "HAL_DATASPACE_BT601_525"
+    },
+    {
+     "enum_field_value" : 281280512,
+     "name" : "HAL_DATASPACE_V0_BT601_525"
+    },
+    {
+     "enum_field_value" : 260,
+     "name" : "HAL_DATASPACE_BT709"
+    },
+    {
+     "enum_field_value" : 281083904,
+     "name" : "HAL_DATASPACE_V0_BT709"
+    },
+    {
+     "enum_field_value" : 139067392,
+     "name" : "HAL_DATASPACE_DCI_P3_LINEAR"
+    },
+    {
+     "enum_field_value" : 155844608,
+     "name" : "HAL_DATASPACE_DCI_P3"
+    },
+    {
+     "enum_field_value" : 139067392,
+     "name" : "HAL_DATASPACE_DISPLAY_P3_LINEAR"
+    },
+    {
+     "enum_field_value" : 143261696,
+     "name" : "HAL_DATASPACE_DISPLAY_P3"
+    },
+    {
+     "enum_field_value" : 151715840,
+     "name" : "HAL_DATASPACE_ADOBE_RGB"
+    },
+    {
+     "enum_field_value" : 138805248,
+     "name" : "HAL_DATASPACE_BT2020_LINEAR"
+    },
+    {
+     "enum_field_value" : 147193856,
+     "name" : "HAL_DATASPACE_BT2020"
+    },
+    {
+     "enum_field_value" : 163971072,
+     "name" : "HAL_DATASPACE_BT2020_PQ"
+    },
+    {
+     "enum_field_value" : 4096,
+     "name" : "HAL_DATASPACE_DEPTH"
+    },
+    {
+     "enum_field_value" : 4097,
+     "name" : "HAL_DATASPACE_SENSOR"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_dataspace_t",
+   "name" : "android_dataspace_t",
+   "referenced_type" : "_ZTI19android_dataspace_t",
+   "self_type" : "_ZTI19android_dataspace_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "FLEX_FORMAT_INVALID"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "FLEX_FORMAT_Y"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "FLEX_FORMAT_YCbCr"
+    },
+    {
+     "enum_field_value" : 1073741831,
+     "name" : "FLEX_FORMAT_YCbCrA"
+    },
+    {
+     "enum_field_value" : 7168,
+     "name" : "FLEX_FORMAT_RGB"
+    },
+    {
+     "enum_field_value" : 1073748992,
+     "name" : "FLEX_FORMAT_RGBA"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_flex_format",
+   "name" : "android_flex_format",
+   "referenced_type" : "_ZTI19android_flex_format",
+   "self_type" : "_ZTI19android_flex_format",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_TRANSFORM_FLIP_H"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_TRANSFORM_FLIP_V"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_TRANSFORM_ROT_90"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_TRANSFORM_ROT_180"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "HAL_TRANSFORM_ROT_270"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_transform_t",
+   "name" : "android_transform_t",
+   "referenced_type" : "_ZTI19android_transform_t",
+   "self_type" : "_ZTI19android_transform_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_COLOR_MODE_NATIVE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_625"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_625_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_525"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_525_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT709"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "HAL_COLOR_MODE_DCI_P3"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "HAL_COLOR_MODE_SRGB"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "HAL_COLOR_MODE_ADOBE_RGB"
+    },
+    {
+     "enum_field_value" : 9,
+     "name" : "HAL_COLOR_MODE_DISPLAY_P3"
+    }
+   ],
+   "linker_set_key" : "_ZTI20android_color_mode_t",
+   "name" : "android_color_mode_t",
+   "referenced_type" : "_ZTI20android_color_mode_t",
+   "self_type" : "_ZTI20android_color_mode_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "SYSTEM_TIME_REALTIME"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "SYSTEM_TIME_MONOTONIC"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "SYSTEM_TIME_PROCESS"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "SYSTEM_TIME_THREAD"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "SYSTEM_TIME_BOOTTIME"
+    }
+   ],
+   "linker_set_key" : "_ZTI21$SYSTEM_TIME_BOOTTIME",
+   "name" : "(unnamed)",
+   "referenced_type" : "_ZTI21$SYSTEM_TIME_BOOTTIME",
+   "self_type" : "_ZTI21$SYSTEM_TIME_BOOTTIME",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Timers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "FLEX_COMPONENT_Y"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "FLEX_COMPONENT_Cb"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "FLEX_COMPONENT_Cr"
+    },
+    {
+     "enum_field_value" : 1024,
+     "name" : "FLEX_COMPONENT_R"
+    },
+    {
+     "enum_field_value" : 2048,
+     "name" : "FLEX_COMPONENT_G"
+    },
+    {
+     "enum_field_value" : 4096,
+     "name" : "FLEX_COMPONENT_B"
+    },
+    {
+     "enum_field_value" : 1073741824,
+     "name" : "FLEX_COMPONENT_A"
+    }
+   ],
+   "linker_set_key" : "_ZTI22android_flex_component",
+   "name" : "android_flex_component",
+   "referenced_type" : "_ZTI22android_flex_component",
+   "self_type" : "_ZTI22android_flex_component",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_PIXEL_FORMAT_RGBA_8888"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_PIXEL_FORMAT_RGBX_8888"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_PIXEL_FORMAT_RGB_888"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_PIXEL_FORMAT_RGB_565"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "HAL_PIXEL_FORMAT_BGRA_8888"
+    },
+    {
+     "enum_field_value" : 16,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_422_SP"
+    },
+    {
+     "enum_field_value" : 17,
+     "name" : "HAL_PIXEL_FORMAT_YCRCB_420_SP"
+    },
+    {
+     "enum_field_value" : 20,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_422_I"
+    },
+    {
+     "enum_field_value" : 22,
+     "name" : "HAL_PIXEL_FORMAT_RGBA_FP16"
+    },
+    {
+     "enum_field_value" : 32,
+     "name" : "HAL_PIXEL_FORMAT_RAW16"
+    },
+    {
+     "enum_field_value" : 33,
+     "name" : "HAL_PIXEL_FORMAT_BLOB"
+    },
+    {
+     "enum_field_value" : 34,
+     "name" : "HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED"
+    },
+    {
+     "enum_field_value" : 35,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_420_888"
+    },
+    {
+     "enum_field_value" : 36,
+     "name" : "HAL_PIXEL_FORMAT_RAW_OPAQUE"
+    },
+    {
+     "enum_field_value" : 37,
+     "name" : "HAL_PIXEL_FORMAT_RAW10"
+    },
+    {
+     "enum_field_value" : 38,
+     "name" : "HAL_PIXEL_FORMAT_RAW12"
+    },
+    {
+     "enum_field_value" : 43,
+     "name" : "HAL_PIXEL_FORMAT_RGBA_1010102"
+    },
+    {
+     "enum_field_value" : 538982489,
+     "name" : "HAL_PIXEL_FORMAT_Y8"
+    },
+    {
+     "enum_field_value" : 540422489,
+     "name" : "HAL_PIXEL_FORMAT_Y16"
+    },
+    {
+     "enum_field_value" : 842094169,
+     "name" : "HAL_PIXEL_FORMAT_YV12"
+    }
+   ],
+   "linker_set_key" : "_ZTI22android_pixel_format_t",
+   "name" : "android_pixel_format_t",
+   "referenced_type" : "_ZTI22android_pixel_format_t",
+   "self_type" : "_ZTI22android_pixel_format_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 19,
+     "name" : "ANDROID_PRIORITY_LOWEST"
+    },
+    {
+     "enum_field_value" : 10,
+     "name" : "ANDROID_PRIORITY_BACKGROUND"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "ANDROID_PRIORITY_NORMAL"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "ANDROID_PRIORITY_FOREGROUND"
+    },
+    {
+     "enum_field_value" : -4,
+     "name" : "ANDROID_PRIORITY_DISPLAY"
+    },
+    {
+     "enum_field_value" : -8,
+     "name" : "ANDROID_PRIORITY_URGENT_DISPLAY"
+    },
+    {
+     "enum_field_value" : -10,
+     "name" : "ANDROID_PRIORITY_VIDEO"
+    },
+    {
+     "enum_field_value" : -16,
+     "name" : "ANDROID_PRIORITY_AUDIO"
+    },
+    {
+     "enum_field_value" : -19,
+     "name" : "ANDROID_PRIORITY_URGENT_AUDIO"
+    },
+    {
+     "enum_field_value" : -20,
+     "name" : "ANDROID_PRIORITY_HIGHEST"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "ANDROID_PRIORITY_DEFAULT"
+    },
+    {
+     "enum_field_value" : -1,
+     "name" : "ANDROID_PRIORITY_MORE_FAVORABLE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "ANDROID_PRIORITY_LESS_FAVORABLE"
+    }
+   ],
+   "linker_set_key" : "_ZTI23$ANDROID_PRIORITY_AUDIO",
+   "name" : "(unnamed)",
+   "referenced_type" : "_ZTI23$ANDROID_PRIORITY_AUDIO",
+   "self_type" : "_ZTI23$ANDROID_PRIORITY_AUDIO",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/thread_defs.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 281411584,
+     "name" : "HAL_DATASPACE_BT2020_ITU"
+    },
+    {
+     "enum_field_value" : 298188800,
+     "name" : "HAL_DATASPACE_BT2020_ITU_PQ"
+    },
+    {
+     "enum_field_value" : 302383104,
+     "name" : "HAL_DATASPACE_BT2020_ITU_HLG"
+    },
+    {
+     "enum_field_value" : 168165376,
+     "name" : "HAL_DATASPACE_BT2020_HLG"
+    }
+   ],
+   "linker_set_key" : "_ZTI24android_dataspace_v1_1_t",
+   "name" : "android_dataspace_v1_1_t",
+   "referenced_type" : "_ZTI24android_dataspace_v1_1_t",
+   "self_type" : "_ZTI24android_dataspace_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 142999552,
+     "name" : "HAL_DATASPACE_DISPLAY_BT2020"
+    },
+    {
+     "enum_field_value" : 4098,
+     "name" : "HAL_DATASPACE_DYNAMIC_DEPTH"
+    },
+    {
+     "enum_field_value" : 4099,
+     "name" : "HAL_DATASPACE_JPEG_APP_SEGMENTS"
+    },
+    {
+     "enum_field_value" : 4100,
+     "name" : "HAL_DATASPACE_HEIF"
+    }
+   ],
+   "linker_set_key" : "_ZTI24android_dataspace_v1_2_t",
+   "name" : "android_dataspace_v1_2_t",
+   "referenced_type" : "_ZTI24android_dataspace_v1_2_t",
+   "self_type" : "_ZTI24android_dataspace_v1_2_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.2.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 10,
+     "name" : "HAL_COLOR_MODE_BT2020"
+    },
+    {
+     "enum_field_value" : 11,
+     "name" : "HAL_COLOR_MODE_BT2100_PQ"
+    },
+    {
+     "enum_field_value" : 12,
+     "name" : "HAL_COLOR_MODE_BT2100_HLG"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_color_mode_v1_1_t",
+   "name" : "android_color_mode_v1_1_t",
+   "referenced_type" : "_ZTI25android_color_mode_v1_1_t",
+   "self_type" : "_ZTI25android_color_mode_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_COLOR_TRANSFORM_IDENTITY"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_COLOR_TRANSFORM_ARBITRARY_MATRIX"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_COLOR_TRANSFORM_VALUE_INVERSE"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_COLOR_TRANSFORM_GRAYSCALE"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_COLOR_TRANSFORM_CORRECT_PROTANOPIA"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "HAL_COLOR_TRANSFORM_CORRECT_DEUTERANOPIA"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "HAL_COLOR_TRANSFORM_CORRECT_TRITANOPIA"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_color_transform_t",
+   "name" : "android_color_transform_t",
+   "referenced_type" : "_ZTI25android_color_transform_t",
+   "self_type" : "_ZTI25android_color_transform_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 39,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_422_888"
+    },
+    {
+     "enum_field_value" : 40,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_444_888"
+    },
+    {
+     "enum_field_value" : 41,
+     "name" : "HAL_PIXEL_FORMAT_FLEX_RGB_888"
+    },
+    {
+     "enum_field_value" : 42,
+     "name" : "HAL_PIXEL_FORMAT_FLEX_RGBA_8888"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_pixel_format_sw_t",
+   "name" : "android_pixel_format_sw_t",
+   "referenced_type" : "_ZTI25android_pixel_format_sw_t",
+   "self_type" : "_ZTI25android_pixel_format_sw_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-sw.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 48,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_16"
+    },
+    {
+     "enum_field_value" : 49,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_24"
+    },
+    {
+     "enum_field_value" : 50,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_24_STENCIL_8"
+    },
+    {
+     "enum_field_value" : 51,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_32F"
+    },
+    {
+     "enum_field_value" : 52,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_32F_STENCIL_8"
+    },
+    {
+     "enum_field_value" : 53,
+     "name" : "HAL_PIXEL_FORMAT_STENCIL_8"
+    },
+    {
+     "enum_field_value" : 54,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_P010"
+    }
+   ],
+   "linker_set_key" : "_ZTI27android_pixel_format_v1_1_t",
+   "name" : "android_pixel_format_v1_1_t",
+   "referenced_type" : "_ZTI27android_pixel_format_v1_1_t",
+   "self_type" : "_ZTI27android_pixel_format_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 55,
+     "name" : "HAL_PIXEL_FORMAT_HSV_888"
+    }
+   ],
+   "linker_set_key" : "_ZTI27android_pixel_format_v1_2_t",
+   "name" : "android_pixel_format_v1_2_t",
+   "referenced_type" : "_ZTI27android_pixel_format_v1_2_t",
+   "self_type" : "_ZTI27android_pixel_format_v1_2_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.2.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_RENDER_INTENT_COLORIMETRIC"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_RENDER_INTENT_ENHANCE"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_RENDER_INTENT_TONE_MAP_COLORIMETRIC"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_RENDER_INTENT_TONE_MAP_ENHANCE"
+    }
+   ],
+   "linker_set_key" : "_ZTI28android_render_intent_v1_1_t",
+   "name" : "android_render_intent_v1_1_t",
+   "referenced_type" : "_ZTI28android_render_intent_v1_1_t",
+   "self_type" : "_ZTI28android_render_intent_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "LOG_ID_MIN"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "LOG_ID_MAIN"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "LOG_ID_RADIO"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "LOG_ID_EVENTS"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "LOG_ID_SYSTEM"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "LOG_ID_CRASH"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "LOG_ID_STATS"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "LOG_ID_SECURITY"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "LOG_ID_KERNEL"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "LOG_ID_MAX"
+    },
+    {
+     "enum_field_value" : 2147483647,
+     "name" : "LOG_ID_DEFAULT"
+    }
+   ],
+   "linker_set_key" : "_ZTI6log_id",
+   "name" : "log_id",
+   "referenced_type" : "_ZTI6log_id",
+   "self_type" : "_ZTI6log_id",
+   "size" : 4,
+   "source_file" : "system/logging/liblog/include_vndk/android/log.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::VectorImpl::HAS_TRIVIAL_CTOR"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "android::VectorImpl::HAS_TRIVIAL_DTOR"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "android::VectorImpl::HAS_TRIVIAL_COPY"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android10VectorImpl17$HAS_TRIVIAL_COPYE",
+   "name" : "android::VectorImpl::(unnamed)",
+   "referenced_type" : "_ZTIN7android10VectorImpl17$HAS_TRIVIAL_COPYE",
+   "self_type" : "_ZTIN7android10VectorImpl17$HAS_TRIVIAL_COPYE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_pointer<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_pointer<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_pointer<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_pointer<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_pointer<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_pointer<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::OK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::NO_ERROR"
+    },
+    {
+     "enum_field_value" : -2147483648,
+     "name" : "android::UNKNOWN_ERROR"
+    },
+    {
+     "enum_field_value" : -12,
+     "name" : "android::NO_MEMORY"
+    },
+    {
+     "enum_field_value" : -38,
+     "name" : "android::INVALID_OPERATION"
+    },
+    {
+     "enum_field_value" : -22,
+     "name" : "android::BAD_VALUE"
+    },
+    {
+     "enum_field_value" : -2147483647,
+     "name" : "android::BAD_TYPE"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "android::NAME_NOT_FOUND"
+    },
+    {
+     "enum_field_value" : -1,
+     "name" : "android::PERMISSION_DENIED"
+    },
+    {
+     "enum_field_value" : -19,
+     "name" : "android::NO_INIT"
+    },
+    {
+     "enum_field_value" : -17,
+     "name" : "android::ALREADY_EXISTS"
+    },
+    {
+     "enum_field_value" : -32,
+     "name" : "android::DEAD_OBJECT"
+    },
+    {
+     "enum_field_value" : -2147483646,
+     "name" : "android::FAILED_TRANSACTION"
+    },
+    {
+     "enum_field_value" : -75,
+     "name" : "android::BAD_INDEX"
+    },
+    {
+     "enum_field_value" : -61,
+     "name" : "android::NOT_ENOUGH_DATA"
+    },
+    {
+     "enum_field_value" : -11,
+     "name" : "android::WOULD_BLOCK"
+    },
+    {
+     "enum_field_value" : -110,
+     "name" : "android::TIMED_OUT"
+    },
+    {
+     "enum_field_value" : -74,
+     "name" : "android::UNKNOWN_TRANSACTION"
+    },
+    {
+     "enum_field_value" : -2147483641,
+     "name" : "android::FDS_NOT_ALLOWED"
+    },
+    {
+     "enum_field_value" : -2147483640,
+     "name" : "android::UNEXPECTED_NULL"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android15$ALREADY_EXISTSE",
+   "name" : "android::(unnamed)",
+   "referenced_type" : "_ZTIN7android15$ALREADY_EXISTSE",
+   "self_type" : "_ZTIN7android15$ALREADY_EXISTSE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Errors.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 19,
+     "name" : "android::PRIORITY_LOWEST"
+    },
+    {
+     "enum_field_value" : 10,
+     "name" : "android::PRIORITY_BACKGROUND"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::PRIORITY_NORMAL"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "android::PRIORITY_FOREGROUND"
+    },
+    {
+     "enum_field_value" : -4,
+     "name" : "android::PRIORITY_DISPLAY"
+    },
+    {
+     "enum_field_value" : -8,
+     "name" : "android::PRIORITY_URGENT_DISPLAY"
+    },
+    {
+     "enum_field_value" : -16,
+     "name" : "android::PRIORITY_AUDIO"
+    },
+    {
+     "enum_field_value" : -19,
+     "name" : "android::PRIORITY_URGENT_AUDIO"
+    },
+    {
+     "enum_field_value" : -20,
+     "name" : "android::PRIORITY_HIGHEST"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::PRIORITY_DEFAULT"
+    },
+    {
+     "enum_field_value" : -1,
+     "name" : "android::PRIORITY_MORE_FAVORABLE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::PRIORITY_LESS_FAVORABLE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android15$PRIORITY_AUDIOE",
+   "name" : "android::(unnamed)",
+   "referenced_type" : "_ZTIN7android15$PRIORITY_AUDIOE",
+   "self_type" : "_ZTIN7android15$PRIORITY_AUDIOE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/ThreadDefs.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_copy<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_copy<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_copy<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_copy<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_copy<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_copy<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIbE6$valueE",
+   "name" : "android::trait_trivial_copy<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIcE6$valueE",
+   "name" : "android::trait_trivial_copy<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIdE6$valueE",
+   "name" : "android::trait_trivial_copy<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIfE6$valueE",
+   "name" : "android::trait_trivial_copy<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIhE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIiE6$valueE",
+   "name" : "android::trait_trivial_copy<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIjE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIlE6$valueE",
+   "name" : "android::trait_trivial_copy<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyImE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIsE6$valueE",
+   "name" : "android::trait_trivial_copy<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyItE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIvE6$valueE",
+   "name" : "android::trait_trivial_copy<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIxE6$valueE",
+   "name" : "android::trait_trivial_copy<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIyE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_ctor<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_ctor<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_ctor<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_ctor<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_ctor<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_ctor<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIbE6$valueE",
+   "name" : "android::trait_trivial_ctor<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIcE6$valueE",
+   "name" : "android::trait_trivial_ctor<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIdE6$valueE",
+   "name" : "android::trait_trivial_ctor<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIfE6$valueE",
+   "name" : "android::trait_trivial_ctor<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIhE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIiE6$valueE",
+   "name" : "android::trait_trivial_ctor<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIjE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIlE6$valueE",
+   "name" : "android::trait_trivial_ctor<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorImE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIsE6$valueE",
+   "name" : "android::trait_trivial_ctor<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorItE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIvE6$valueE",
+   "name" : "android::trait_trivial_ctor<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIxE6$valueE",
+   "name" : "android::trait_trivial_ctor<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIyE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_dtor<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_dtor<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_dtor<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_dtor<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_dtor<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_dtor<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIbE6$valueE",
+   "name" : "android::trait_trivial_dtor<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIcE6$valueE",
+   "name" : "android::trait_trivial_dtor<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIdE6$valueE",
+   "name" : "android::trait_trivial_dtor<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIfE6$valueE",
+   "name" : "android::trait_trivial_dtor<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIhE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIiE6$valueE",
+   "name" : "android::trait_trivial_dtor<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIjE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIlE6$valueE",
+   "name" : "android::trait_trivial_dtor<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorImE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIsE6$valueE",
+   "name" : "android::trait_trivial_dtor<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorItE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIvE6$valueE",
+   "name" : "android::trait_trivial_dtor<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIxE6$valueE",
+   "name" : "android::trait_trivial_dtor<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIyE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_move<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_move<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_move<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_move<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_move<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_move<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<android::String8>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_7String8EE6$valueE",
+   "name" : "android::trait_trivial_move<android::String8>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<android::String16>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_8String16EE6$valueE",
+   "name" : "android::trait_trivial_move<android::String16>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIbE6$valueE",
+   "name" : "android::trait_trivial_move<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIcE6$valueE",
+   "name" : "android::trait_trivial_move<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIdE6$valueE",
+   "name" : "android::trait_trivial_move<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIfE6$valueE",
+   "name" : "android::trait_trivial_move<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIhE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIiE6$valueE",
+   "name" : "android::trait_trivial_move<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIjE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIlE6$valueE",
+   "name" : "android::trait_trivial_move<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveImE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIsE6$valueE",
+   "name" : "android::trait_trivial_move<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveItE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIvE6$valueE",
+   "name" : "android::trait_trivial_move<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIxE6$valueE",
+   "name" : "android::trait_trivial_move<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIyE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::Mutex::PRIVATE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Mutex::SHARED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android5Mutex8$PRIVATEE",
+   "name" : "android::Mutex::(unnamed)",
+   "referenced_type" : "_ZTIN7android5Mutex8$PRIVATEE",
+   "self_type" : "_ZTIN7android5Mutex8$PRIVATEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Looper::EVENT_INPUT"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "android::Looper::EVENT_OUTPUT"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "android::Looper::EVENT_ERROR"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "android::Looper::EVENT_HANGUP"
+    },
+    {
+     "enum_field_value" : 16,
+     "name" : "android::Looper::EVENT_INVALID"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper12$EVENT_ERRORE",
+   "name" : "android::Looper::(unnamed)",
+   "referenced_type" : "_ZTIN7android6Looper12$EVENT_ERRORE",
+   "self_type" : "_ZTIN7android6Looper12$EVENT_ERRORE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : -1,
+     "name" : "android::Looper::POLL_WAKE"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "android::Looper::POLL_CALLBACK"
+    },
+    {
+     "enum_field_value" : -3,
+     "name" : "android::Looper::POLL_TIMEOUT"
+    },
+    {
+     "enum_field_value" : -4,
+     "name" : "android::Looper::POLL_ERROR"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper14$POLL_CALLBACKE",
+   "name" : "android::Looper::(unnamed)",
+   "referenced_type" : "_ZTIN7android6Looper14$POLL_CALLBACKE",
+   "self_type" : "_ZTIN7android6Looper14$POLL_CALLBACKE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Looper::PREPARE_ALLOW_NON_CALLBACKS"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper28$PREPARE_ALLOW_NON_CALLBACKSE",
+   "name" : "android::Looper::(unnamed)",
+   "referenced_type" : "_ZTIN7android6Looper28$PREPARE_ALLOW_NON_CALLBACKSE",
+   "self_type" : "_ZTIN7android6Looper28$PREPARE_ALLOW_NON_CALLBACKSE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::RWLock::PRIVATE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RWLock::SHARED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLock8$PRIVATEE",
+   "name" : "android::RWLock::(unnamed)",
+   "referenced_type" : "_ZTIN7android6RWLock8$PRIVATEE",
+   "self_type" : "_ZTIN7android6RWLock8$PRIVATEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::is_pointer"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_ctor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_dtor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_copy"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_move"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEE17$has_trivial_copyE",
+   "name" : "android::traits<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEE17$has_trivial_copyE",
+   "self_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEE17$has_trivial_copyE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::is_pointer"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_ctor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_dtor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_copy"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_move"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEE17$has_trivial_copyE",
+   "name" : "android::traits<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEE17$has_trivial_copyE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEE17$has_trivial_copyE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::is_pointer"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_ctor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_dtor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_copy"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_move"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper8ResponseEE17$has_trivial_copyE",
+   "name" : "android::traits<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEE17$has_trivial_copyE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEE17$has_trivial_copyE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::FileMap::NORMAL"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::FileMap::RANDOM"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "android::FileMap::SEQUENTIAL"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "android::FileMap::WILLNEED"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "android::FileMap::DONTNEED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7FileMap9MapAdviceE",
+   "name" : "android::FileMap::MapAdvice",
+   "referenced_type" : "_ZTIN7android7FileMap9MapAdviceE",
+   "self_type" : "_ZTIN7android7FileMap9MapAdviceE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "access" : "protected",
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RefBase::FIRST_INC_STRONG"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7RefBase17$FIRST_INC_STRONGE",
+   "name" : "android::RefBase::(unnamed)",
+   "referenced_type" : "_ZTIN7android7RefBase17$FIRST_INC_STRONGE",
+   "self_type" : "_ZTIN7android7RefBase17$FIRST_INC_STRONGE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "access" : "protected",
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::RefBase::OBJECT_LIFETIME_STRONG"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RefBase::OBJECT_LIFETIME_WEAK"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RefBase::OBJECT_LIFETIME_MASK"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7RefBase21$OBJECT_LIFETIME_MASKE",
+   "name" : "android::RefBase::(unnamed)",
+   "referenced_type" : "_ZTIN7android7RefBase21$OBJECT_LIFETIME_MASKE",
+   "self_type" : "_ZTIN7android7RefBase21$OBJECT_LIFETIME_MASKE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::Condition::WAKE_UP_ONE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Condition::WAKE_UP_ALL"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9Condition10WakeUpTypeE",
+   "name" : "android::Condition::WakeUpType",
+   "referenced_type" : "_ZTIN7android9Condition10WakeUpTypeE",
+   "self_type" : "_ZTIN7android9Condition10WakeUpTypeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Condition.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::Condition::PRIVATE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Condition::SHARED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9Condition8$PRIVATEE",
+   "name" : "android::Condition::(unnamed)",
+   "referenced_type" : "_ZTIN7android9Condition8$PRIVATEE",
+   "self_type" : "_ZTIN7android9Condition8$PRIVATEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Condition.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "access" : "private",
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 20,
+     "name" : "android::FdPrinter::MAX_FORMAT_STRING"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9FdPrinter18$MAX_FORMAT_STRINGE",
+   "name" : "android::FdPrinter::(unnamed)",
+   "referenced_type" : "_ZTIN7android9FdPrinter18$MAX_FORMAT_STRINGE",
+   "self_type" : "_ZTIN7android9FdPrinter18$MAX_FORMAT_STRINGE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "underlying_type" : "_ZTIj"
+  }
+ ],
+ "function_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPFiPvES_PKcimPS_E",
+   "name" : "int (int (*)(void *), void *, const char *, int, unsigned long, void **)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPFiPvES_PKcimPS_E",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPFiPvES_PKcimPS_E",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPKvS0_E",
+   "name" : "int (const void *, const void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPKvS0_E",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPKvS0_E",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPKvS0_PvE",
+   "name" : "int (const void *, const void *, void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPKvS0_PvE",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPKvS0_PvE",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPvE",
+   "name" : "int (void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPvE",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPvE",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiiiPvE",
+   "name" : "int (int, int, void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiiiPvE",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiiiPvE",
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFvvE",
+   "name" : "void ()",
+   "referenced_type" : "_ZTIFvvE",
+   "return_type" : "_ZTIv",
+   "self_type" : "_ZTIFvvE",
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  }
+ ],
+ "functions" :
+ [
+  {
+   "access" : "private",
+   "function_name" : "android::LogPrinter::printRaw",
+   "linker_set_key" : "_ZN7android10LogPrinter8printRawEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::LogPrinter::printLine",
+   "linker_set_key" : "_ZN7android10LogPrinter9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::LogPrinter::LogPrinter",
+   "linker_set_key" : "_ZN7android10LogPrinterC1EPKc19android_LogPriorityS2_b",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTI19android_LogPriority"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::LogPrinter::LogPrinter",
+   "linker_set_key" : "_ZN7android10LogPrinterC2EPKc19android_LogPriorityS2_b",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTI19android_LogPriority"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::appendArray",
+   "linker_set_key" : "_ZN7android10VectorImpl11appendArrayEPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::setCapacity",
+   "linker_set_key" : "_ZN7android10VectorImpl11setCapacityEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::appendVector",
+   "linker_set_key" : "_ZN7android10VectorImpl12appendVectorERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::editArrayImpl",
+   "linker_set_key" : "_ZN7android10VectorImpl13editArrayImplEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::finish_vector",
+   "linker_set_key" : "_ZN7android10VectorImpl13finish_vectorEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertArrayAt",
+   "linker_set_key" : "_ZN7android10VectorImpl13insertArrayAtEPKvmm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::removeItemsAt",
+   "linker_set_key" : "_ZN7android10VectorImpl13removeItemsAtEmm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertVectorAt",
+   "linker_set_key" : "_ZN7android10VectorImpl14insertVectorAtERKS0_m",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::VectorImpl::release_storage",
+   "linker_set_key" : "_ZN7android10VectorImpl15release_storageEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::editItemLocation",
+   "linker_set_key" : "_ZN7android10VectorImpl16editItemLocationEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::add",
+   "linker_set_key" : "_ZN7android10VectorImpl3addEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::add",
+   "linker_set_key" : "_ZN7android10VectorImpl3addEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::pop",
+   "linker_set_key" : "_ZN7android10VectorImpl3popEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::push",
+   "linker_set_key" : "_ZN7android10VectorImpl4pushEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::push",
+   "linker_set_key" : "_ZN7android10VectorImpl4pushEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::sort",
+   "linker_set_key" : "_ZN7android10VectorImpl4sortEPFiPKvS2_E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiPKvS0_E"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::sort",
+   "linker_set_key" : "_ZN7android10VectorImpl4sortEPFiPKvS2_PvES3_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiPKvS0_PvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::VectorImpl::_grow",
+   "linker_set_key" : "_ZN7android10VectorImpl5_growEmm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::clear",
+   "linker_set_key" : "_ZN7android10VectorImpl5clearEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::resize",
+   "linker_set_key" : "_ZN7android10VectorImpl6resizeEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::VectorImpl::_shrink",
+   "linker_set_key" : "_ZN7android10VectorImpl7_shrinkEmm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertAt",
+   "linker_set_key" : "_ZN7android10VectorImpl8insertAtEPKvmm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertAt",
+   "linker_set_key" : "_ZN7android10VectorImpl8insertAtEmm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::replaceAt",
+   "linker_set_key" : "_ZN7android10VectorImpl9replaceAtEPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::replaceAt",
+   "linker_set_key" : "_ZN7android10VectorImpl9replaceAtEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplC2ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplC2Emj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::~VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::~VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::~VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::operator=",
+   "linker_set_key" : "_ZN7android10VectorImplaSERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIRN7android10VectorImplE",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::uptimeNanos",
+   "linker_set_key" : "_ZN7android11uptimeNanosEv",
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::NativeHandle::create",
+   "linker_set_key" : "_ZN7android12NativeHandle6createEP13native_handleb",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleC1EP13native_handleb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    },
+    {
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleC2EP13native_handleb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    },
+    {
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::~NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::~NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "function_name" : "android::uptimeMillis",
+   "linker_set_key" : "_ZN7android12uptimeMillisEv",
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::PrefixPrinter::printLine",
+   "linker_set_key" : "_ZN7android13PrefixPrinter9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android13PrefixPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::PrefixPrinter::PrefixPrinter",
+   "linker_set_key" : "_ZN7android13PrefixPrinterC1ERNS_7PrinterEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android13PrefixPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIRN7android7PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::PrefixPrinter::PrefixPrinter",
+   "linker_set_key" : "_ZN7android13PrefixPrinterC2ERNS_7PrinterEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android13PrefixPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIRN7android7PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::LooperCallback::~LooperCallback",
+   "linker_set_key" : "_ZN7android14LooperCallbackD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::LooperCallback::~LooperCallback",
+   "linker_set_key" : "_ZN7android14LooperCallbackD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::LooperCallback::~LooperCallback",
+   "linker_set_key" : "_ZN7android14LooperCallbackD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::MessageHandler::~MessageHandler",
+   "linker_set_key" : "_ZN7android14MessageHandlerD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::MessageHandler::~MessageHandler",
+   "linker_set_key" : "_ZN7android14MessageHandlerD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::MessageHandler::~MessageHandler",
+   "linker_set_key" : "_ZN7android14MessageHandlerD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::String8Printer::printLine",
+   "linker_set_key" : "_ZN7android14String8Printer9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14String8PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::String8Printer::String8Printer",
+   "linker_set_key" : "_ZN7android14String8PrinterC1EPNS_7String8EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14String8PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::String8Printer::String8Printer",
+   "linker_set_key" : "_ZN7android14String8PrinterC2EPNS_7String8EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14String8PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::statusToString",
+   "linker_set_key" : "_ZN7android14statusToStringEi",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTINSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE",
+   "source_file" : "system/core/libutils/include/utils/Errors.h"
+  },
+  {
+   "function_name" : "android::elapsedRealtime",
+   "linker_set_key" : "_ZN7android15elapsedRealtimeEv",
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::add",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl3addEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::merge",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl5mergeERKNS_10VectorImplE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::merge",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl5mergeERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::remove",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl6removeEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplC2ERKNS_10VectorImplE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplC2Emj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::~SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::~SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::~SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::operator=",
+   "linker_set_key" : "_ZN7android16SortedVectorImplaSERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIRN7android16SortedVectorImplE",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::JenkinsHashWhiten",
+   "linker_set_key" : "_ZN7android17JenkinsHashWhitenEj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "function_name" : "android::WeakMessageHandler::handleMessage",
+   "linker_set_key" : "_ZN7android18WeakMessageHandler13handleMessageERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::WeakMessageHandler::WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerC1ERKNS_2wpINS_14MessageHandlerEEE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::WeakMessageHandler::WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerC2ERKNS_2wpINS_14MessageHandlerEEE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::WeakMessageHandler::~WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::WeakMessageHandler::~WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::WeakMessageHandler::~WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::JenkinsHashMixBytes",
+   "linker_set_key" : "_ZN7android19JenkinsHashMixBytesEjPKhm",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "function_name" : "android::elapsedRealtimeNano",
+   "linker_set_key" : "_ZN7android19elapsedRealtimeNanoEv",
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::JenkinsHashMixShorts",
+   "linker_set_key" : "_ZN7android20JenkinsHashMixShortsEjPKtm",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKt"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "function_name" : "android::SimpleLooperCallback::handleEvent",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallback11handleEventEiiPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::SimpleLooperCallback::SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackC1EPFiiiPvE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiiiPvE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::SimpleLooperCallback::SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackC2EPFiiiPvE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiiiPvE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::SimpleLooperCallback::~SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::SimpleLooperCallback::~SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::SimpleLooperCallback::~SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::report_sysprop_change",
+   "linker_set_key" : "_ZN7android21report_sysprop_changeEv",
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  },
+  {
+   "function_name" : "android::add_sysprop_change_callback",
+   "linker_set_key" : "_ZN7android27add_sysprop_change_callbackEPFvvEi",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFvvE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  },
+  {
+   "function_name" : "android::LightRefBase_reportIncStrongRequireStrongFailed",
+   "linker_set_key" : "_ZN7android47LightRefBase_reportIncStrongRequireStrongFailedEPKv",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::initTLSKey",
+   "linker_set_key" : "_ZN7android6Looper10initTLSKeyEv",
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::sendMessage",
+   "linker_set_key" : "_ZN7android6Looper11sendMessageERKNS_2spINS_14MessageHandlerEEERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::getForThread",
+   "linker_set_key" : "_ZN7android6Looper12getForThreadEv",
+   "return_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::setForThread",
+   "linker_set_key" : "_ZN7android6Looper12setForThreadERKNS_2spIS0_EE",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_6LooperEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::removeMessages",
+   "linker_set_key" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::removeMessages",
+   "linker_set_key" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::threadDestructor",
+   "linker_set_key" : "_ZN7android6Looper16threadDestructorEPv",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::sendMessageAtTime",
+   "linker_set_key" : "_ZN7android6Looper17sendMessageAtTimeElRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIl"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::rebuildEpollLocked",
+   "linker_set_key" : "_ZN7android6Looper18rebuildEpollLockedEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::sendMessageDelayed",
+   "linker_set_key" : "_ZN7android6Looper18sendMessageDelayedElRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIl"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::removeSequenceNumberLocked",
+   "linker_set_key" : "_ZN7android6Looper26removeSequenceNumberLockedEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::scheduleEpollRebuildLocked",
+   "linker_set_key" : "_ZN7android6Looper26scheduleEpollRebuildLockedEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::wake",
+   "linker_set_key" : "_ZN7android6Looper4wakeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::addFd",
+   "linker_set_key" : "_ZN7android6Looper5addFdEiiiPFiiiPvES1_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPFiiiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::addFd",
+   "linker_set_key" : "_ZN7android6Looper5addFdEiiiRKNS_2spINS_14LooperCallbackEEEPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14LooperCallbackEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::awoken",
+   "linker_set_key" : "_ZN7android6Looper6awokenEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::pollAll",
+   "linker_set_key" : "_ZN7android6Looper7pollAllEiPiS1_PPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::prepare",
+   "linker_set_key" : "_ZN7android6Looper7prepareEi",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::pollOnce",
+   "linker_set_key" : "_ZN7android6Looper8pollOnceEiPiS1_PPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::removeFd",
+   "linker_set_key" : "_ZN7android6Looper8removeFdEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::pollInner",
+   "linker_set_key" : "_ZN7android6Looper9pollInnerEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::Looper",
+   "linker_set_key" : "_ZN7android6LooperC1Eb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::Looper",
+   "linker_set_key" : "_ZN7android6LooperC2Eb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Looper::~Looper",
+   "linker_set_key" : "_ZN7android6LooperD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Looper::~Looper",
+   "linker_set_key" : "_ZN7android6LooperD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Looper::~Looper",
+   "linker_set_key" : "_ZN7android6LooperD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Thread::readyToRun",
+   "linker_set_key" : "_ZN7android6Thread10readyToRunEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Thread::_threadLoop",
+   "linker_set_key" : "_ZN7android6Thread11_threadLoopEPv",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::requestExit",
+   "linker_set_key" : "_ZN7android6Thread11requestExitEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::requestExitAndWait",
+   "linker_set_key" : "_ZN7android6Thread18requestExitAndWaitEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::run",
+   "linker_set_key" : "_ZN7android6Thread3runEPKcim",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::join",
+   "linker_set_key" : "_ZN7android6Thread4joinEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::Thread",
+   "linker_set_key" : "_ZN7android6ThreadC2Eb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::~Thread",
+   "linker_set_key" : "_ZN7android6ThreadD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::~Thread",
+   "linker_set_key" : "_ZN7android6ThreadD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::~Thread",
+   "linker_set_key" : "_ZN7android6ThreadD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::FileMap::advise",
+   "linker_set_key" : "_ZN7android7FileMap6adviseENS0_9MapAdviceE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIN7android7FileMap9MapAdviceE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::create",
+   "linker_set_key" : "_ZN7android7FileMap6createEPKcilmb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIl"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC1EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTION7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC2EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTION7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::~FileMap",
+   "linker_set_key" : "_ZN7android7FileMapD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::~FileMap",
+   "linker_set_key" : "_ZN7android7FileMapD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::operator=",
+   "linker_set_key" : "_ZN7android7FileMapaSEOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTION7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIRN7android7FileMapE",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::Printer::printFormatLine",
+   "linker_set_key" : "_ZN7android7Printer15printFormatLineEPKcz",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::Printer",
+   "linker_set_key" : "_ZN7android7PrinterC2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::~Printer",
+   "linker_set_key" : "_ZN7android7PrinterD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::~Printer",
+   "linker_set_key" : "_ZN7android7PrinterD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::~Printer",
+   "linker_set_key" : "_ZN7android7PrinterD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onFirstRef",
+   "linker_set_key" : "_ZN7android7RefBase10onFirstRefEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::RefBase::renameRefs",
+   "linker_set_key" : "_ZN7android7RefBase10renameRefsEmRKNS_16ReferenceRenamerE",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android16ReferenceRenamerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::RefBase::renameRefId",
+   "linker_set_key" : "_ZN7android7RefBase11renameRefIdEPNS0_12weakref_typeEPKvS4_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::RefBase::renameRefId",
+   "linker_set_key" : "_ZN7android7RefBase11renameRefIdEPS0_PKvS3_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::attemptIncWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type14attemptIncWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::attemptIncStrong",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type16attemptIncStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::incWeakRequireWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type18incWeakRequireWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::decWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type7decWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::incWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type7incWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::trackMe",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type7trackMeEbb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onLastWeakRef",
+   "linker_set_key" : "_ZN7android7RefBase13onLastWeakRefEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onLastStrongRef",
+   "linker_set_key" : "_ZN7android7RefBase15onLastStrongRefEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::extendObjectLifetime",
+   "linker_set_key" : "_ZN7android7RefBase20extendObjectLifetimeEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onIncStrongAttempted",
+   "linker_set_key" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseC1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseC2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::~RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::~RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::~RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::String8::appendPath",
+   "linker_set_key" : "_ZN7android7String810appendPathEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIRN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::lockBuffer",
+   "linker_set_key" : "_ZN7android7String810lockBufferEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPc",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String8::real_append",
+   "linker_set_key" : "_ZN7android7String811real_appendEPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::appendFormat",
+   "linker_set_key" : "_ZN7android7String812appendFormatEPKcz",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::unlockBuffer",
+   "linker_set_key" : "_ZN7android7String812unlockBufferEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::unlockBuffer",
+   "linker_set_key" : "_ZN7android7String812unlockBufferEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::appendFormatV",
+   "linker_set_key" : "_ZN7android7String813appendFormatVEPKcSt9__va_list",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTISt9__va_list"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::convertToResPath",
+   "linker_set_key" : "_ZN7android7String816convertToResPathEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIRN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::clear",
+   "linker_set_key" : "_ZN7android7String85clearEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKDim",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::append",
+   "linker_set_key" : "_ZN7android7String86appendEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::append",
+   "linker_set_key" : "_ZN7android7String86appendEPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::append",
+   "linker_set_key" : "_ZN7android7String86appendERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::format",
+   "linker_set_key" : "_ZN7android7String86formatEPKcz",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::formatV",
+   "linker_set_key" : "_ZN7android7String87formatVEPKcSt9__va_list",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTISt9__va_list"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::toLower",
+   "linker_set_key" : "_ZN7android7String87toLowerEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::removeAll",
+   "linker_set_key" : "_ZN7android7String89removeAllEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDim",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1ERKNS_8String16E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDim",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2ERKNS_8String16E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::~String8",
+   "linker_set_key" : "_ZN7android7String8D1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::~String8",
+   "linker_set_key" : "_ZN7android7String8D2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::editResize",
+   "linker_set_key" : "_ZN7android8String1610editResizeEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::replaceAll",
+   "linker_set_key" : "_ZN7android8String1610replaceAllEDsDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::allocFromUTF8",
+   "linker_set_key" : "_ZN7android8String1613allocFromUTF8EPKcm",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::allocFromUTF16",
+   "linker_set_key" : "_ZN7android8String1614allocFromUTF16EPKDsm",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::edit",
+   "linker_set_key" : "_ZN7android8String164editEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::alloc",
+   "linker_set_key" : "_ZN7android8String165allocEm",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToEPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToEPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToERKS0_mm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::append",
+   "linker_set_key" : "_ZN7android8String166appendEPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::append",
+   "linker_set_key" : "_ZN7android8String166appendERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::insert",
+   "linker_set_key" : "_ZN7android8String166insertEmPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::insert",
+   "linker_set_key" : "_ZN7android8String166insertEmPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::acquire",
+   "linker_set_key" : "_ZN7android8String167acquireEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::release",
+   "linker_set_key" : "_ZN7android8String167releaseEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTION7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1ERKNS_7String8E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1ERKS0_mm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTION7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKDsm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2ERKNS_7String8E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2ERKS0_mm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::~String16",
+   "linker_set_key" : "_ZN7android8String16D1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::~String16",
+   "linker_set_key" : "_ZN7android8String16D2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::operator=",
+   "linker_set_key" : "_ZN7android8String16aSEOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTION7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIRN7android8String16E",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::FdPrinter::printLine",
+   "linker_set_key" : "_ZN7android9FdPrinter9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9FdPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::FdPrinter::FdPrinter",
+   "linker_set_key" : "_ZN7android9FdPrinterC1EijPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9FdPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::FdPrinter::FdPrinter",
+   "linker_set_key" : "_ZN7android9FdPrinterC2EijPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9FdPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::StopWatch::reset",
+   "linker_set_key" : "_ZN7android9StopWatch5resetEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchC1EPKci",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchC2EPKci",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::~StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::~StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::fromContents",
+   "linker_set_key" : "_ZN7android9Tokenizer12fromContentsERKNS_7String8EPKcPPS0_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIPPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::skipDelimiters",
+   "linker_set_key" : "_ZN7android9Tokenizer14skipDelimitersEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::open",
+   "linker_set_key" : "_ZN7android9Tokenizer4openERKNS_7String8EPPS0_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::nextLine",
+   "linker_set_key" : "_ZN7android9Tokenizer8nextLineEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::nextToken",
+   "linker_set_key" : "_ZN7android9Tokenizer9nextTokenEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Tokenizer::Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerC1ERKNS_7String8EPNS_7FileMapEPcbm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Tokenizer::Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerC2ERKNS_7String8EPNS_7FileMapEPcbm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::~Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::~Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::itemLocation",
+   "linker_set_key" : "_ZNK7android10VectorImpl12itemLocationEm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPKv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::capacity",
+   "linker_set_key" : "_ZNK7android10VectorImpl8capacityEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::VectorImpl::itemSize",
+   "linker_set_key" : "_ZNK7android10VectorImpl8itemSizeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::SortedVectorImpl::_indexOrderOf",
+   "linker_set_key" : "_ZNK7android16SortedVectorImpl13_indexOrderOfEPKvPm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::indexOf",
+   "linker_set_key" : "_ZNK7android16SortedVectorImpl7indexOfEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::orderOf",
+   "linker_set_key" : "_ZNK7android16SortedVectorImpl7orderOfEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::Looper::getAllowNonCallbacks",
+   "linker_set_key" : "_ZNK7android6Looper20getAllowNonCallbacksEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::Request::getEpollEvents",
+   "linker_set_key" : "_ZNK7android6Looper7Request14getEpollEventsEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6Looper7RequestE"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::isPolling",
+   "linker_set_key" : "_ZNK7android6Looper9isPollingEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Thread::exitPending",
+   "linker_set_key" : "_ZNK7android6Thread11exitPendingEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::getTid",
+   "linker_set_key" : "_ZNK7android6Thread6getTidEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::isRunning",
+   "linker_set_key" : "_ZNK7android6Thread9isRunningEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_destroy",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE10do_destroyEPvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_construct",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE12do_constructEPvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_move_forward",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE15do_move_forwardEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_move_backward",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE16do_move_backwardEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_copy",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE7do_copyEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_splat",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE8do_splatEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_destroy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE10do_destroyEPvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_construct",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE12do_constructEPvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_move_forward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE15do_move_forwardEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_move_backward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE16do_move_backwardEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_copy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE7do_copyEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_splat",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE8do_splatEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_destroy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE10do_destroyEPvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_construct",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE12do_constructEPvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_move_forward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE15do_move_forwardEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_move_backward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE16do_move_backwardEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_copy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE7do_copyEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_splat",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE8do_splatEPvPKvm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "function_name" : "android::RefBase::createWeak",
+   "linker_set_key" : "_ZNK7android7RefBase10createWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::getWeakRefs",
+   "linker_set_key" : "_ZNK7android7RefBase11getWeakRefsEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::getWeakCount",
+   "linker_set_key" : "_ZNK7android7RefBase12weakref_type12getWeakCountEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::refBase",
+   "linker_set_key" : "_ZNK7android7RefBase12weakref_type7refBaseEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "return_type" : "_ZTIPN7android7RefBaseE",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::printRefs",
+   "linker_set_key" : "_ZNK7android7RefBase12weakref_type9printRefsEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::forceIncStrong",
+   "linker_set_key" : "_ZNK7android7RefBase14forceIncStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::getStrongCount",
+   "linker_set_key" : "_ZNK7android7RefBase14getStrongCountEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::incStrongRequireStrong",
+   "linker_set_key" : "_ZNK7android7RefBase22incStrongRequireStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::decStrong",
+   "linker_set_key" : "_ZNK7android7RefBase9decStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::incStrong",
+   "linker_set_key" : "_ZNK7android7RefBase9incStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::String8::getPathDir",
+   "linker_set_key" : "_ZNK7android7String810getPathDirEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::getBasePath",
+   "linker_set_key" : "_ZNK7android7String811getBasePathEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::getPathLeaf",
+   "linker_set_key" : "_ZNK7android7String811getPathLeafEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String8::find_extension",
+   "linker_set_key" : "_ZNK7android7String814find_extensionEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIPc",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::getPathExtension",
+   "linker_set_key" : "_ZNK7android7String816getPathExtensionEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::find",
+   "linker_set_key" : "_ZNK7android7String84findEPKcm",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::length",
+   "linker_set_key" : "_ZNK7android7String86lengthEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::walkPath",
+   "linker_set_key" : "_ZNK7android7String88walkPathEPS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String16::startsWith",
+   "linker_set_key" : "_ZNK7android8String1610startsWithEPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::startsWith",
+   "linker_set_key" : "_ZNK7android8String1610startsWithERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::isStaticString",
+   "linker_set_key" : "_ZNK7android8String1614isStaticStringEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::staticStringSize",
+   "linker_set_key" : "_ZNK7android8String1616staticStringSizeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::size",
+   "linker_set_key" : "_ZNK7android8String164sizeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::contains",
+   "linker_set_key" : "_ZNK7android8String168containsEPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::findLast",
+   "linker_set_key" : "_ZNK7android8String168findLastEDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::findFirst",
+   "linker_set_key" : "_ZNK7android8String169findFirstEDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::StopWatch::elapsedTime",
+   "linker_set_key" : "_ZNK7android9StopWatch11elapsedTimeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::name",
+   "linker_set_key" : "_ZNK7android9StopWatch4nameEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIPKc",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::getLocation",
+   "linker_set_key" : "_ZNK7android9Tokenizer11getLocationEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::peekRemainderOfLine",
+   "linker_set_key" : "_ZNK7android9Tokenizer19peekRemainderOfLineEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "androidCreateRawThreadEtc",
+   "linker_set_key" : "androidCreateRawThreadEtc",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidCreateThread",
+   "linker_set_key" : "androidCreateThread",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidCreateThreadEtc",
+   "linker_set_key" : "androidCreateThreadEtc",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidGetThreadId",
+   "linker_set_key" : "androidGetThreadId",
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidGetThreadPriority",
+   "linker_set_key" : "androidGetThreadPriority",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidSetCreateThreadFunc",
+   "linker_set_key" : "androidSetCreateThreadFunc",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPFiPvES_PKcimPS_E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidSetThreadName",
+   "linker_set_key" : "androidSetThreadName",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidSetThreadPriority",
+   "linker_set_key" : "androidSetThreadPriority",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "strcmp16",
+   "linker_set_key" : "strcmp16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strlen16",
+   "linker_set_key" : "strlen16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strncmp16",
+   "linker_set_key" : "strncmp16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strnlen16",
+   "linker_set_key" : "strnlen16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIm",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strstr16",
+   "linker_set_key" : "strstr16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strzcmp16",
+   "linker_set_key" : "strzcmp16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "systemTime",
+   "linker_set_key" : "systemTime",
+   "parameters" :
+   [
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/Timers.h"
+  },
+  {
+   "function_name" : "toMillisecondTimeoutDelay",
+   "linker_set_key" : "toMillisecondTimeoutDelay",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIl"
+    },
+    {
+     "referenced_type" : "_ZTIl"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Timers.h"
+  },
+  {
+   "function_name" : "utf16_to_utf8",
+   "linker_set_key" : "utf16_to_utf8",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf16_to_utf8_length",
+   "linker_set_key" : "utf16_to_utf8_length",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf32_from_utf8_at",
+   "linker_set_key" : "utf32_from_utf8_at",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPm"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf32_to_utf8",
+   "linker_set_key" : "utf32_to_utf8",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf32_to_utf8_length",
+   "linker_set_key" : "utf32_to_utf8_length",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf8_to_utf16",
+   "linker_set_key" : "utf8_to_utf16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf8_to_utf16_length",
+   "linker_set_key" : "utf8_to_utf16_length",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf8_to_utf16_no_null_terminator",
+   "linker_set_key" : "utf8_to_utf16_no_null_terminator",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "referenced_type" : "_ZTIPDs"
+    },
+    {
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  }
+ ],
+ "global_vars" :
+ [
+  {
+   "access" : "private",
+   "linker_set_key" : "_ZN7android7FileMap9mPageSizeE",
+   "name" : "android::FileMap::mPageSize",
+   "referenced_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  }
+ ],
+ "lvalue_reference_types" :
+ [
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRA1_KDs",
+   "name" : "const char16_t (&)[1]",
+   "referenced_type" : "_ZTIA1_KDs",
+   "self_type" : "_ZTIRA1_KDs",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android10VectorImplE",
+   "name" : "const android::VectorImpl &",
+   "referenced_type" : "_ZTIKN7android10VectorImplE",
+   "self_type" : "_ZTIRKN7android10VectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android16ReferenceRenamerE",
+   "name" : "const android::ReferenceRenamer &",
+   "referenced_type" : "_ZTIKN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIRKN7android16ReferenceRenamerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android16SortedVectorImplE",
+   "name" : "const android::SortedVectorImpl &",
+   "referenced_type" : "_ZTIKN7android16SortedVectorImplE",
+   "self_type" : "_ZTIRKN7android16SortedVectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android28sysprop_change_callback_infoE",
+   "name" : "const android::sysprop_change_callback_info &",
+   "referenced_type" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIRKN7android28sysprop_change_callback_infoE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android2spINS_14LooperCallbackEEE",
+   "name" : "const android::sp<android::LooperCallback> &",
+   "referenced_type" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIRKN7android2spINS_14LooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android2spINS_14MessageHandlerEEE",
+   "name" : "const android::sp<android::MessageHandler> &",
+   "referenced_type" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "const android::sp<android::SimpleLooperCallback> &",
+   "referenced_type" : "_ZTIKN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIRKN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android2spINS_6LooperEEE",
+   "name" : "const android::sp<android::Looper> &",
+   "referenced_type" : "_ZTIKN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIRKN7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android2spINS_6ThreadEEE",
+   "name" : "const android::sp<android::Thread> &",
+   "referenced_type" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIRKN7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE",
+   "name" : "const android::wp<android::MessageHandler> &",
+   "referenced_type" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android6Looper15MessageEnvelopeE",
+   "name" : "const android::Looper::MessageEnvelope &",
+   "referenced_type" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIRKN7android6Looper15MessageEnvelopeE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android6Looper8ResponseE",
+   "name" : "const android::Looper::Response &",
+   "referenced_type" : "_ZTIKN7android6Looper8ResponseE",
+   "self_type" : "_ZTIRKN7android6Looper8ResponseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "const android::Vector<android::sysprop_change_callback_info> &",
+   "referenced_type" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIRKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android7MessageE",
+   "name" : "const android::Message &",
+   "referenced_type" : "_ZTIKN7android7MessageE",
+   "self_type" : "_ZTIRKN7android7MessageE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android7String8E",
+   "name" : "const android::String8 &",
+   "referenced_type" : "_ZTIKN7android7String8E",
+   "self_type" : "_ZTIRKN7android7String8E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android8String1610StaticDataILm1EEE",
+   "name" : "const android::String16::StaticData<1> &",
+   "referenced_type" : "_ZTIKN7android8String1610StaticDataILm1EEE",
+   "self_type" : "_ZTIRKN7android8String1610StaticDataILm1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKN7android8String16E",
+   "name" : "const android::String16 &",
+   "referenced_type" : "_ZTIKN7android8String16E",
+   "self_type" : "_ZTIRKN7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKa",
+   "name" : "const signed char &",
+   "referenced_type" : "_ZTIKa",
+   "self_type" : "_ZTIRKa",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKb",
+   "name" : "const bool &",
+   "referenced_type" : "_ZTIKb",
+   "self_type" : "_ZTIRKb",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKd",
+   "name" : "const double &",
+   "referenced_type" : "_ZTIKd",
+   "self_type" : "_ZTIRKd",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKf",
+   "name" : "const float &",
+   "referenced_type" : "_ZTIKf",
+   "self_type" : "_ZTIRKf",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKh",
+   "name" : "const unsigned char &",
+   "referenced_type" : "_ZTIKh",
+   "self_type" : "_ZTIRKh",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKi",
+   "name" : "const int &",
+   "referenced_type" : "_ZTIKi",
+   "self_type" : "_ZTIRKi",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKj",
+   "name" : "const unsigned int &",
+   "referenced_type" : "_ZTIKj",
+   "self_type" : "_ZTIRKj",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKl",
+   "name" : "const long &",
+   "referenced_type" : "_ZTIKl",
+   "self_type" : "_ZTIRKl",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKm",
+   "name" : "const unsigned long &",
+   "referenced_type" : "_ZTIKm",
+   "self_type" : "_ZTIRKm",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKs",
+   "name" : "const short &",
+   "referenced_type" : "_ZTIKs",
+   "self_type" : "_ZTIRKs",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRKt",
+   "name" : "const unsigned short &",
+   "referenced_type" : "_ZTIKt",
+   "self_type" : "_ZTIRKt",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android10VectorImplE",
+   "name" : "android::VectorImpl &",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIRN7android10VectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android16SortedVectorImplE",
+   "name" : "android::SortedVectorImpl &",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIRN7android16SortedVectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android2spINS_14LooperCallbackEEE",
+   "name" : "android::sp<android::LooperCallback> &",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIRN7android2spINS_14LooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler> &",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIRN7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback> &",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIRN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper> &",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIRN7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread> &",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIRN7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android5MutexE",
+   "name" : "android::Mutex &",
+   "referenced_type" : "_ZTIN7android5MutexE",
+   "self_type" : "_ZTIRN7android5MutexE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android6Looper8ResponseE",
+   "name" : "android::Looper::Response &",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIRN7android6Looper8ResponseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android6RWLockE",
+   "name" : "android::RWLock &",
+   "referenced_type" : "_ZTIN7android6RWLockE",
+   "self_type" : "_ZTIRN7android6RWLockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::Vector<android::sysprop_change_callback_info> &",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIRN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android7FileMapE",
+   "name" : "android::FileMap &",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIRN7android7FileMapE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android7PrinterE",
+   "name" : "android::Printer &",
+   "referenced_type" : "_ZTIN7android7PrinterE",
+   "self_type" : "_ZTIRN7android7PrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android7String8E",
+   "name" : "android::String8 &",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIRN7android7String8E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRN7android8String16E",
+   "name" : "android::String16 &",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIRN7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRP13native_handle",
+   "name" : "native_handle *&",
+   "referenced_type" : "_ZTIP13native_handle",
+   "self_type" : "_ZTIRP13native_handle",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRPFiiiPvE",
+   "name" : "int (*&)(int, int, void *)",
+   "referenced_type" : "_ZTIPFiiiPvE",
+   "self_type" : "_ZTIRPFiiiPvE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIRb",
+   "name" : "bool &",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIRb",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  }
+ ],
+ "pointer_types" :
+ [
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIP13native_handle",
+   "name" : "native_handle *",
+   "referenced_type" : "_ZTI13native_handle",
+   "self_type" : "_ZTIP13native_handle",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIP18android_flex_plane",
+   "name" : "android_flex_plane *",
+   "referenced_type" : "_ZTI18android_flex_plane",
+   "self_type" : "_ZTIP18android_flex_plane",
+   "size" : 8,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIP3DIR",
+   "name" : "DIR *",
+   "referenced_type" : "_ZTI3DIR",
+   "self_type" : "_ZTIP3DIR",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIP7__sFILE",
+   "name" : "__sFILE *",
+   "referenced_type" : "_ZTI7__sFILE",
+   "self_type" : "_ZTIP7__sFILE",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIP7log_msg",
+   "name" : "log_msg *",
+   "referenced_type" : "_ZTI7log_msg",
+   "self_type" : "_ZTIP7log_msg",
+   "size" : 8,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPDs",
+   "name" : "char16_t *",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIPDs",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPFiPFiPvES_PKcimPS_E",
+   "name" : "int (*)(int (*)(void *), void *, const char *, int, unsigned long, void **)",
+   "referenced_type" : "_ZTIFiPFiPvES_PKcimPS_E",
+   "self_type" : "_ZTIPFiPFiPvES_PKcimPS_E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPFiPKvS0_E",
+   "name" : "int (*)(const void *, const void *)",
+   "referenced_type" : "_ZTIFiPKvS0_E",
+   "self_type" : "_ZTIPFiPKvS0_E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPFiPKvS0_PvE",
+   "name" : "int (*)(const void *, const void *, void *)",
+   "referenced_type" : "_ZTIFiPKvS0_PvE",
+   "self_type" : "_ZTIPFiPKvS0_PvE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPFiPvE",
+   "name" : "int (*)(void *)",
+   "referenced_type" : "_ZTIFiPvE",
+   "self_type" : "_ZTIPFiPvE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPFiiiPvE",
+   "name" : "int (*)(int, int, void *)",
+   "referenced_type" : "_ZTIFiiiPvE",
+   "self_type" : "_ZTIPFiiiPvE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPFvvE",
+   "name" : "void (*)()",
+   "referenced_type" : "_ZTIFvvE",
+   "self_type" : "_ZTIPFvvE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPK13native_handle",
+   "name" : "const native_handle *",
+   "referenced_type" : "_ZTIK13native_handle",
+   "self_type" : "_ZTIPK13native_handle",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPK7log_msg",
+   "name" : "const log_msg *",
+   "referenced_type" : "_ZTIK7log_msg",
+   "self_type" : "_ZTIPK7log_msg",
+   "size" : 8,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKDi",
+   "name" : "const char32_t *",
+   "referenced_type" : "_ZTIKDi",
+   "self_type" : "_ZTIPKDi",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKDs",
+   "name" : "const char16_t *",
+   "referenced_type" : "_ZTIKDs",
+   "self_type" : "_ZTIPKDs",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android10VectorImplE",
+   "name" : "const android::VectorImpl *",
+   "referenced_type" : "_ZTIKN7android10VectorImplE",
+   "self_type" : "_ZTIPKN7android10VectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "const android::LightRefBase<android::NativeHandle> *",
+   "referenced_type" : "_ZTIKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIPKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android12NativeHandleE",
+   "name" : "const android::NativeHandle *",
+   "referenced_type" : "_ZTIKN7android12NativeHandleE",
+   "self_type" : "_ZTIPKN7android12NativeHandleE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android16SortedVectorImplE",
+   "name" : "const android::SortedVectorImpl *",
+   "referenced_type" : "_ZTIKN7android16SortedVectorImplE",
+   "self_type" : "_ZTIPKN7android16SortedVectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android28sysprop_change_callback_infoE",
+   "name" : "const android::sysprop_change_callback_info *",
+   "referenced_type" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIPKN7android28sysprop_change_callback_infoE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android2spINS_14LooperCallbackEEE",
+   "name" : "const android::sp<android::LooperCallback> *",
+   "referenced_type" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIPKN7android2spINS_14LooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android2spINS_14MessageHandlerEEE",
+   "name" : "const android::sp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPKN7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android2spINS_6LooperEEE",
+   "name" : "const android::sp<android::Looper> *",
+   "referenced_type" : "_ZTIKN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIPKN7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android2spINS_6ThreadEEE",
+   "name" : "const android::sp<android::Thread> *",
+   "referenced_type" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIPKN7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android2wpINS_14MessageHandlerEEE",
+   "name" : "const android::wp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPKN7android2wpINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android2wpINS_6ThreadEEE",
+   "name" : "const android::wp<android::Thread> *",
+   "referenced_type" : "_ZTIKN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIPKN7android2wpINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android4base11borrowed_fdE",
+   "name" : "const android::base::borrowed_fd *",
+   "referenced_type" : "_ZTIKN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIPKN7android4base11borrowed_fdE",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "const android::base::unique_fd_impl<android::base::DefaultCloser> *",
+   "referenced_type" : "_ZTIKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIPKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6Looper15MessageEnvelopeE",
+   "name" : "const android::Looper::MessageEnvelope *",
+   "referenced_type" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIPKN7android6Looper15MessageEnvelopeE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6Looper7RequestE",
+   "name" : "const android::Looper::Request *",
+   "referenced_type" : "_ZTIKN7android6Looper7RequestE",
+   "self_type" : "_ZTIPKN7android6Looper7RequestE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6Looper8ResponseE",
+   "name" : "const android::Looper::Response *",
+   "referenced_type" : "_ZTIKN7android6Looper8ResponseE",
+   "self_type" : "_ZTIPKN7android6Looper8ResponseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6LooperE",
+   "name" : "const android::Looper *",
+   "referenced_type" : "_ZTIKN7android6LooperE",
+   "self_type" : "_ZTIPKN7android6LooperE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6ThreadE",
+   "name" : "const android::Thread *",
+   "referenced_type" : "_ZTIKN7android6ThreadE",
+   "self_type" : "_ZTIPKN7android6ThreadE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "const android::Vector<android::sysprop_change_callback_info> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "const android::Vector<android::Looper::MessageEnvelope> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "const android::Vector<android::Looper::Response> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_7String8EEE",
+   "name" : "const android::Vector<android::String8> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_7String8EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android7FileMapE",
+   "name" : "const android::FileMap *",
+   "referenced_type" : "_ZTIKN7android7FileMapE",
+   "self_type" : "_ZTIPKN7android7FileMapE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android7RefBase12weakref_typeE",
+   "name" : "const android::RefBase::weakref_type *",
+   "referenced_type" : "_ZTIKN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIPKN7android7RefBase12weakref_typeE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android7RefBaseE",
+   "name" : "const android::RefBase *",
+   "referenced_type" : "_ZTIKN7android7RefBaseE",
+   "self_type" : "_ZTIPKN7android7RefBaseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android7String8E",
+   "name" : "const android::String8 *",
+   "referenced_type" : "_ZTIKN7android7String8E",
+   "self_type" : "_ZTIPKN7android7String8E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android8String16E",
+   "name" : "const android::String16 *",
+   "referenced_type" : "_ZTIKN7android8String16E",
+   "self_type" : "_ZTIPKN7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android9CallStackE",
+   "name" : "const android::CallStack *",
+   "referenced_type" : "_ZTIKN7android9CallStackE",
+   "self_type" : "_ZTIPKN7android9CallStackE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android9StopWatchE",
+   "name" : "const android::StopWatch *",
+   "referenced_type" : "_ZTIKN7android9StopWatchE",
+   "self_type" : "_ZTIPKN7android9StopWatchE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKN7android9TokenizerE",
+   "name" : "const android::Tokenizer *",
+   "referenced_type" : "_ZTIKN7android9TokenizerE",
+   "self_type" : "_ZTIPKN7android9TokenizerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKc",
+   "name" : "const char *",
+   "referenced_type" : "_ZTIKc",
+   "self_type" : "_ZTIPKc",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKh",
+   "name" : "const unsigned char *",
+   "referenced_type" : "_ZTIKh",
+   "self_type" : "_ZTIPKh",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKt",
+   "name" : "const unsigned short *",
+   "referenced_type" : "_ZTIKt",
+   "self_type" : "_ZTIPKt",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPKv",
+   "name" : "const void *",
+   "referenced_type" : "_ZTIKv",
+   "self_type" : "_ZTIPKv",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android10LogPrinterE",
+   "name" : "android::LogPrinter *",
+   "referenced_type" : "_ZTIN7android10LogPrinterE",
+   "self_type" : "_ZTIPN7android10LogPrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android10VectorImplE",
+   "name" : "android::VectorImpl *",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIPN7android10VectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android11ScopedTraceE",
+   "name" : "android::ScopedTrace *",
+   "referenced_type" : "_ZTIN7android11ScopedTraceE",
+   "self_type" : "_ZTIPN7android11ScopedTraceE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Trace.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "android::LightRefBase<android::NativeHandle> *",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIPN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android12NativeHandleE",
+   "name" : "android::NativeHandle *",
+   "referenced_type" : "_ZTIN7android12NativeHandleE",
+   "self_type" : "_ZTIPN7android12NativeHandleE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android13PrefixPrinterE",
+   "name" : "android::PrefixPrinter *",
+   "referenced_type" : "_ZTIN7android13PrefixPrinterE",
+   "self_type" : "_ZTIPN7android13PrefixPrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android14LooperCallbackE",
+   "name" : "android::LooperCallback *",
+   "referenced_type" : "_ZTIN7android14LooperCallbackE",
+   "self_type" : "_ZTIPN7android14LooperCallbackE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android14MessageHandlerE",
+   "name" : "android::MessageHandler *",
+   "referenced_type" : "_ZTIN7android14MessageHandlerE",
+   "self_type" : "_ZTIPN7android14MessageHandlerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android14StaticString16ILm1EEE",
+   "name" : "android::StaticString16<1> *",
+   "referenced_type" : "_ZTIN7android14StaticString16ILm1EEE",
+   "self_type" : "_ZTIPN7android14StaticString16ILm1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android14String8PrinterE",
+   "name" : "android::String8Printer *",
+   "referenced_type" : "_ZTIN7android14String8PrinterE",
+   "self_type" : "_ZTIPN7android14String8PrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android16ReferenceRenamerE",
+   "name" : "android::ReferenceRenamer *",
+   "referenced_type" : "_ZTIN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIPN7android16ReferenceRenamerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android16SortedVectorImplE",
+   "name" : "android::SortedVectorImpl *",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIPN7android16SortedVectorImplE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android18WeakMessageHandlerE",
+   "name" : "android::WeakMessageHandler *",
+   "referenced_type" : "_ZTIN7android18WeakMessageHandlerE",
+   "self_type" : "_ZTIPN7android18WeakMessageHandlerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android19VirtualLightRefBaseE",
+   "name" : "android::VirtualLightRefBase *",
+   "referenced_type" : "_ZTIN7android19VirtualLightRefBaseE",
+   "self_type" : "_ZTIPN7android19VirtualLightRefBaseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android20SimpleLooperCallbackE",
+   "name" : "android::SimpleLooperCallback *",
+   "referenced_type" : "_ZTIN7android20SimpleLooperCallbackE",
+   "self_type" : "_ZTIPN7android20SimpleLooperCallbackE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android28sysprop_change_callback_infoE",
+   "name" : "android::sysprop_change_callback_info *",
+   "referenced_type" : "_ZTIN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIPN7android28sysprop_change_callback_infoE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2spINS_12NativeHandleEEE",
+   "name" : "android::sp<android::NativeHandle> *",
+   "referenced_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "self_type" : "_ZTIPN7android2spINS_12NativeHandleEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2spINS_14LooperCallbackEEE",
+   "name" : "android::sp<android::LooperCallback> *",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIPN7android2spINS_14LooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPN7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback> *",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIPN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper> *",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIPN7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread> *",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIPN7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2wpINS_14MessageHandlerEEE",
+   "name" : "android::wp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPN7android2wpINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android2wpINS_6ThreadEEE",
+   "name" : "android::wp<android::Thread> *",
+   "referenced_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIPN7android2wpINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android4base11borrowed_fdE",
+   "name" : "android::base::borrowed_fd *",
+   "referenced_type" : "_ZTIN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIPN7android4base11borrowed_fdE",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "android::base::unique_fd_impl<android::base::DefaultCloser> *",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIPN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android5Mutex8AutolockE",
+   "name" : "android::Mutex::Autolock *",
+   "referenced_type" : "_ZTIN7android5Mutex8AutolockE",
+   "self_type" : "_ZTIPN7android5Mutex8AutolockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android5MutexE",
+   "name" : "android::Mutex *",
+   "referenced_type" : "_ZTIN7android5MutexE",
+   "self_type" : "_ZTIPN7android5MutexE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6Looper15MessageEnvelopeE",
+   "name" : "android::Looper::MessageEnvelope *",
+   "referenced_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIPN7android6Looper15MessageEnvelopeE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6Looper8ResponseE",
+   "name" : "android::Looper::Response *",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIPN7android6Looper8ResponseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6LooperE",
+   "name" : "android::Looper *",
+   "referenced_type" : "_ZTIN7android6LooperE",
+   "self_type" : "_ZTIPN7android6LooperE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6RWLock9AutoRLockE",
+   "name" : "android::RWLock::AutoRLock *",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoRLockE",
+   "self_type" : "_ZTIPN7android6RWLock9AutoRLockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6RWLock9AutoWLockE",
+   "name" : "android::RWLock::AutoWLock *",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoWLockE",
+   "self_type" : "_ZTIPN7android6RWLock9AutoWLockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6RWLockE",
+   "name" : "android::RWLock *",
+   "referenced_type" : "_ZTIN7android6RWLockE",
+   "self_type" : "_ZTIPN7android6RWLockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6ThreadE",
+   "name" : "android::Thread *",
+   "referenced_type" : "_ZTIN7android6ThreadE",
+   "self_type" : "_ZTIPN7android6ThreadE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::Vector<android::sysprop_change_callback_info> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIPN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::Vector<android::Looper::MessageEnvelope> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIPN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "android::Vector<android::Looper::Response> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIPN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_7String8EEE",
+   "name" : "android::Vector<android::String8> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIPN7android6VectorINS_7String8EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7FileMapE",
+   "name" : "android::FileMap *",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIPN7android7FileMapE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7MessageE",
+   "name" : "android::Message *",
+   "referenced_type" : "_ZTIN7android7MessageE",
+   "self_type" : "_ZTIPN7android7MessageE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7PrinterE",
+   "name" : "android::Printer *",
+   "referenced_type" : "_ZTIN7android7PrinterE",
+   "self_type" : "_ZTIPN7android7PrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7RefBase12weakref_implE",
+   "name" : "android::RefBase::weakref_impl *",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_implE",
+   "self_type" : "_ZTIPN7android7RefBase12weakref_implE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "name" : "android::RefBase::weakref_type *",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7RefBaseE",
+   "name" : "android::RefBase *",
+   "referenced_type" : "_ZTIN7android7RefBaseE",
+   "self_type" : "_ZTIPN7android7RefBaseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android7String8E",
+   "name" : "android::String8 *",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIPN7android7String8E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android8String1610StaticDataILm1EEE",
+   "name" : "android::String16::StaticData<1> *",
+   "referenced_type" : "_ZTIN7android8String1610StaticDataILm1EEE",
+   "self_type" : "_ZTIPN7android8String1610StaticDataILm1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android8String16E",
+   "name" : "android::String16 *",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIPN7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android9CallStack12StackDeleterE",
+   "name" : "android::CallStack::StackDeleter *",
+   "referenced_type" : "_ZTIN7android9CallStack12StackDeleterE",
+   "self_type" : "_ZTIPN7android9CallStack12StackDeleterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android9CallStackE",
+   "name" : "android::CallStack *",
+   "referenced_type" : "_ZTIN7android9CallStackE",
+   "self_type" : "_ZTIPN7android9CallStackE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android9ConditionE",
+   "name" : "android::Condition *",
+   "referenced_type" : "_ZTIN7android9ConditionE",
+   "self_type" : "_ZTIPN7android9ConditionE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Condition.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android9FdPrinterE",
+   "name" : "android::FdPrinter *",
+   "referenced_type" : "_ZTIN7android9FdPrinterE",
+   "self_type" : "_ZTIPN7android9FdPrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android9StopWatchE",
+   "name" : "android::StopWatch *",
+   "referenced_type" : "_ZTIN7android9StopWatchE",
+   "self_type" : "_ZTIPN7android9StopWatchE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPN7android9TokenizerE",
+   "name" : "android::Tokenizer *",
+   "referenced_type" : "_ZTIN7android9TokenizerE",
+   "self_type" : "_ZTIPN7android9TokenizerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPPN7android9TokenizerE",
+   "name" : "android::Tokenizer **",
+   "referenced_type" : "_ZTIPN7android9TokenizerE",
+   "self_type" : "_ZTIPPN7android9TokenizerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPPv",
+   "name" : "void **",
+   "referenced_type" : "_ZTIPv",
+   "self_type" : "_ZTIPPv",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPc",
+   "name" : "char *",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIPc",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPh",
+   "name" : "unsigned char *",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIPh",
+   "size" : 8,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPi",
+   "name" : "int *",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIPi",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPm",
+   "name" : "unsigned long *",
+   "referenced_type" : "_ZTIm",
+   "self_type" : "_ZTIPm",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIPv",
+   "name" : "void *",
+   "referenced_type" : "_ZTIv",
+   "self_type" : "_ZTIPv",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  }
+ ],
+ "qualified_types" :
+ [
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIA1_KDs",
+   "name" : "const char16_t[1]",
+   "referenced_type" : "_ZTIA1_Ds",
+   "self_type" : "_ZTIA1_KDs",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIK13native_handle",
+   "name" : "const native_handle",
+   "referenced_type" : "_ZTI13native_handle",
+   "self_type" : "_ZTIK13native_handle",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIK7log_msg",
+   "name" : "const log_msg",
+   "referenced_type" : "_ZTI7log_msg",
+   "self_type" : "_ZTIK7log_msg",
+   "size" : 5124,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKDi",
+   "name" : "const char32_t",
+   "referenced_type" : "_ZTIDi",
+   "self_type" : "_ZTIKDi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKDs",
+   "name" : "const char16_t",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIKDs",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android10VectorImplE",
+   "name" : "const android::VectorImpl",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIKN7android10VectorImplE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "const android::LightRefBase<android::NativeHandle>",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android12NativeHandleE",
+   "name" : "const android::NativeHandle",
+   "referenced_type" : "_ZTIN7android12NativeHandleE",
+   "self_type" : "_ZTIKN7android12NativeHandleE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android16ReferenceRenamerE",
+   "name" : "const android::ReferenceRenamer",
+   "referenced_type" : "_ZTIN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIKN7android16ReferenceRenamerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android16SortedVectorImplE",
+   "name" : "const android::SortedVectorImpl",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIKN7android16SortedVectorImplE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "name" : "const android::sysprop_change_callback_info",
+   "referenced_type" : "_ZTIN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "name" : "const android::sp<android::LooperCallback>",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "name" : "const android::sp<android::MessageHandler>",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "const android::sp<android::SimpleLooperCallback>",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIKN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_6LooperEEE",
+   "name" : "const android::sp<android::Looper>",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIKN7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "name" : "const android::sp<android::Thread>",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "name" : "const android::wp<android::MessageHandler>",
+   "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2wpINS_6ThreadEEE",
+   "name" : "const android::wp<android::Thread>",
+   "referenced_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIKN7android2wpINS_6ThreadEEE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android4base11borrowed_fdE",
+   "name" : "const android::base::borrowed_fd",
+   "referenced_type" : "_ZTIN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIKN7android4base11borrowed_fdE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "const android::base::unique_fd_impl<android::base::DefaultCloser>",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "name" : "const android::Looper::MessageEnvelope",
+   "referenced_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6Looper7RequestE",
+   "name" : "const android::Looper::Request",
+   "referenced_type" : "_ZTIN7android6Looper7RequestE",
+   "self_type" : "_ZTIKN7android6Looper7RequestE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6Looper8ResponseE",
+   "name" : "const android::Looper::Response",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIKN7android6Looper8ResponseE",
+   "size" : 48,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6LooperE",
+   "name" : "const android::Looper",
+   "referenced_type" : "_ZTIN7android6LooperE",
+   "self_type" : "_ZTIKN7android6LooperE",
+   "size" : 264,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6ThreadE",
+   "name" : "const android::Thread",
+   "referenced_type" : "_ZTIN7android6ThreadE",
+   "self_type" : "_ZTIKN7android6ThreadE",
+   "size" : 152,
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "const android::Vector<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "const android::Vector<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "const android::Vector<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIKN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_7String8EEE",
+   "name" : "const android::Vector<android::String8>",
+   "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIKN7android6VectorINS_7String8EEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7FileMapE",
+   "name" : "const android::FileMap",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIKN7android7FileMapE",
+   "size" : 48,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7MessageE",
+   "name" : "const android::Message",
+   "referenced_type" : "_ZTIN7android7MessageE",
+   "self_type" : "_ZTIKN7android7MessageE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7RefBase12weakref_typeE",
+   "name" : "const android::RefBase::weakref_type",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIKN7android7RefBase12weakref_typeE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7RefBaseE",
+   "name" : "const android::RefBase",
+   "referenced_type" : "_ZTIN7android7RefBaseE",
+   "self_type" : "_ZTIKN7android7RefBaseE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7String8E",
+   "name" : "const android::String8",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIKN7android7String8E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android8String1610StaticDataILm1EEE",
+   "name" : "const android::String16::StaticData<1>",
+   "referenced_type" : "_ZTIN7android8String1610StaticDataILm1EEE",
+   "self_type" : "_ZTIKN7android8String1610StaticDataILm1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android8String16E",
+   "name" : "const android::String16",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIKN7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android9CallStackE",
+   "name" : "const android::CallStack",
+   "referenced_type" : "_ZTIN7android9CallStackE",
+   "self_type" : "_ZTIKN7android9CallStackE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android9StopWatchE",
+   "name" : "const android::StopWatch",
+   "referenced_type" : "_ZTIN7android9StopWatchE",
+   "self_type" : "_ZTIKN7android9StopWatchE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android9TokenizerE",
+   "name" : "const android::Tokenizer",
+   "referenced_type" : "_ZTIN7android9TokenizerE",
+   "self_type" : "_ZTIKN7android9TokenizerE",
+   "size" : 56,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKPKc",
+   "name" : "const char *const",
+   "referenced_type" : "_ZTIPKc",
+   "self_type" : "_ZTIKPKc",
+   "size" : 8,
+   "source_file" : "system/core/libprocessgroup/include/processgroup/processgroup.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKPN7android7RefBase12weakref_implE",
+   "name" : "android::RefBase::weakref_impl *const",
+   "referenced_type" : "_ZTIPN7android7RefBase12weakref_implE",
+   "self_type" : "_ZTIKPN7android7RefBase12weakref_implE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKa",
+   "name" : "const signed char",
+   "referenced_type" : "_ZTIa",
+   "self_type" : "_ZTIKa",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKb",
+   "name" : "const bool",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIKb",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKc",
+   "name" : "const char",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIKc",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKd",
+   "name" : "const double",
+   "referenced_type" : "_ZTId",
+   "self_type" : "_ZTIKd",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKf",
+   "name" : "const float",
+   "referenced_type" : "_ZTIf",
+   "self_type" : "_ZTIKf",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKh",
+   "name" : "const unsigned char",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIKh",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKi",
+   "name" : "const int",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIKi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKj",
+   "name" : "const unsigned int",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIKj",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKl",
+   "name" : "const long",
+   "referenced_type" : "_ZTIl",
+   "self_type" : "_ZTIKl",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKm",
+   "name" : "const unsigned long",
+   "referenced_type" : "_ZTIm",
+   "self_type" : "_ZTIKm",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKs",
+   "name" : "const short",
+   "referenced_type" : "_ZTIs",
+   "self_type" : "_ZTIKs",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKt",
+   "name" : "const unsigned short",
+   "referenced_type" : "_ZTIt",
+   "self_type" : "_ZTIKt",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKv",
+   "name" : "const void",
+   "referenced_type" : "_ZTIv",
+   "self_type" : "_ZTIKv",
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 1,
+   "is_volatile" : true,
+   "linker_set_key" : "_ZTIVb",
+   "name" : "volatile bool",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIVb",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  }
+ ],
+ "record_types" :
+ [
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "len",
+     "referenced_type" : "_ZTIt"
+    },
+    {
+     "field_name" : "hdr_size",
+     "field_offset" : 16,
+     "referenced_type" : "_ZTIt"
+    },
+    {
+     "field_name" : "pid",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "tid",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "sec",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "nsec",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "lid",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "uid",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "linker_set_key" : "_ZTI12logger_entry",
+   "name" : "logger_entry",
+   "referenced_type" : "_ZTI12logger_entry",
+   "self_type" : "_ZTI12logger_entry",
+   "size" : 28,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "y",
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "field_name" : "cb",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "field_name" : "cr",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "field_name" : "ystride",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "field_name" : "cstride",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "field_name" : "chroma_step",
+     "field_offset" : 320,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "field_name" : "reserved",
+     "field_offset" : 384,
+     "referenced_type" : "_ZTIA8_j"
+    }
+   ],
+   "linker_set_key" : "_ZTI13android_ycbcr",
+   "name" : "android_ycbcr",
+   "referenced_type" : "_ZTI13android_ycbcr",
+   "self_type" : "_ZTI13android_ycbcr",
+   "size" : 80,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "version",
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "numFds",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "numInts",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "data",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIA0_i"
+    }
+   ],
+   "linker_set_key" : "_ZTI13native_handle",
+   "name" : "native_handle",
+   "referenced_type" : "_ZTI13native_handle",
+   "self_type" : "_ZTI13native_handle",
+   "size" : 12,
+   "source_file" : "system/core/libcutils/include_outside_system/cutils/native_handle.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "x",
+     "referenced_type" : "_ZTIf"
+    },
+    {
+     "field_name" : "y",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIf"
+    }
+   ],
+   "linker_set_key" : "_ZTI16android_xy_color",
+   "name" : "android_xy_color",
+   "referenced_type" : "_ZTI16android_xy_color",
+   "self_type" : "_ZTI16android_xy_color",
+   "size" : 8,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "top_left",
+     "referenced_type" : "_ZTIPh"
+    },
+    {
+     "field_name" : "component",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTI22android_flex_component"
+    },
+    {
+     "field_name" : "bits_per_component",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "bits_used",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "h_increment",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "v_increment",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "h_subsampling",
+     "field_offset" : 224,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "v_subsampling",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTI18android_flex_plane",
+   "name" : "android_flex_plane",
+   "referenced_type" : "_ZTI18android_flex_plane",
+   "self_type" : "_ZTI18android_flex_plane",
+   "size" : 40,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "format",
+     "referenced_type" : "_ZTI19android_flex_format"
+    },
+    {
+     "field_name" : "num_planes",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "planes",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIP18android_flex_plane"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_flex_layout",
+   "name" : "android_flex_layout",
+   "referenced_type" : "_ZTI19android_flex_layout",
+   "self_type" : "_ZTI19android_flex_layout",
+   "size" : 16,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "num_points",
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "reserved",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIA8_j"
+    },
+    {
+     "field_name" : "xyzc_points",
+     "field_offset" : 288,
+     "referenced_type" : "_ZTIA_f"
+    }
+   ],
+   "linker_set_key" : "_ZTI20android_depth_points",
+   "name" : "android_depth_points",
+   "referenced_type" : "_ZTI20android_depth_points",
+   "self_type" : "_ZTI20android_depth_points",
+   "size" : 36,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "struct_size",
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "field_name" : "buffer_id",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "priority",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "tag",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "field_name" : "file",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "field_name" : "line",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "message",
+     "field_offset" : 320,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTI21__android_log_message",
+   "name" : "__android_log_message",
+   "referenced_type" : "_ZTI21__android_log_message",
+   "self_type" : "_ZTI21__android_log_message",
+   "size" : 48,
+   "source_file" : "system/logging/liblog/include_vndk/android/log.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "maxContentLightLevel",
+     "referenced_type" : "_ZTIf"
+    },
+    {
+     "field_name" : "maxFrameAverageLightLevel",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIf"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_cta861_3_metadata",
+   "name" : "android_cta861_3_metadata",
+   "referenced_type" : "_ZTI25android_cta861_3_metadata",
+   "self_type" : "_ZTI25android_cta861_3_metadata",
+   "size" : 8,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "displayPrimaryRed",
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "displayPrimaryGreen",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "displayPrimaryBlue",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "whitePoint",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "maxLuminance",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIf"
+    },
+    {
+     "field_name" : "minLuminance",
+     "field_offset" : 288,
+     "referenced_type" : "_ZTIf"
+    }
+   ],
+   "linker_set_key" : "_ZTI26android_smpte2086_metadata",
+   "name" : "android_smpte2086_metadata",
+   "referenced_type" : "_ZTI26android_smpte2086_metadata",
+   "self_type" : "_ZTI26android_smpte2086_metadata",
+   "size" : 40,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "referenced_type" : "_ZTIN7log_msgUt_E"
+    }
+   ],
+   "linker_set_key" : "_ZTI7log_msg",
+   "name" : "log_msg",
+   "referenced_type" : "_ZTI7log_msg",
+   "self_type" : "_ZTI7log_msg",
+   "size" : 5124,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 1,
+   "fields" :
+   [
+    {
+     "field_name" : "tv_sec",
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "tv_nsec",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "linker_set_key" : "_ZTI8log_time",
+   "name" : "log_time",
+   "referenced_type" : "_ZTI8log_time",
+   "self_type" : "_ZTI8log_time",
+   "size" : 8,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_time.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLogTag",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPriority",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTI19android_LogPriority"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mIgnoreBlankLines",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android10LogPrinterE",
+   "name" : "android::LogPrinter",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android10LogPrinterE",
+   "self_type" : "_ZTIN7android10LogPrinterE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android10LogPrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android10LogPrinter9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10LogPrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10LogPrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mStorage",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mCount",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mFlags",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIKj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mItemSize",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIKm"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android10VectorImplE",
+   "name" : "android::VectorImpl",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIN7android10VectorImplE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android10VectorImplE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10VectorImplD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10VectorImplD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl12do_constructEPvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl10do_destroyEPvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl7do_copyEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl8do_splatEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl15do_move_forwardEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl16do_move_backwardEPvPKvm"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mTag",
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android11ScopedTraceE",
+   "name" : "android::ScopedTrace",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android11ScopedTraceE",
+   "self_type" : "_ZTIN7android11ScopedTraceE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Trace.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCount",
+     "referenced_type" : "_ZTINSt3__16atomicIiEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "android::LightRefBase<android::NativeHandle>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android12NativeHandleE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCount",
+     "referenced_type" : "_ZTINSt3__16atomicIiEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE",
+   "name" : "android::LightRefBase<android::VirtualLightRefBase>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE",
+   "self_type" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android19VirtualLightRefBaseE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mHandle",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mOwnsHandle",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android12NativeHandleE",
+   "name" : "android::NativeHandle",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android12NativeHandleE",
+   "self_type" : "_ZTIN7android12NativeHandleE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mPrinter",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIRN7android7PrinterE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13PrefixPrinterE",
+   "name" : "android::PrefixPrinter",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android13PrefixPrinterE",
+   "self_type" : "_ZTIN7android13PrefixPrinterE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android13PrefixPrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android13PrefixPrinter9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android13PrefixPrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android13PrefixPrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_pointer<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_pointer<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEEE",
+   "name" : "android::trait_pointer<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "is_virtual" : true,
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14LooperCallbackE",
+   "name" : "android::LooperCallback",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14LooperCallbackE",
+   "self_type" : "_ZTIN7android14LooperCallbackE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 8,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14LooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14LooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14LooperCallbackD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android14LooperCallback11handleEventEiiPv"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -8,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -8,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14LooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android14LooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android14LooperCallbackD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "is_virtual" : true,
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14MessageHandlerE",
+   "name" : "android::MessageHandler",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14MessageHandlerE",
+   "self_type" : "_ZTIN7android14MessageHandlerE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 8,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14MessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14MessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14MessageHandlerD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android14MessageHandler13handleMessageERKNS_7MessageE"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -8,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -8,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14MessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android14MessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android14MessageHandlerD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android14ReferenceMoverE",
+   "name" : "android::ReferenceMover",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14ReferenceMoverE",
+   "self_type" : "_ZTIN7android14ReferenceMoverE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android8String16E"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mData",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIKN7android8String1610StaticDataILm1EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14StaticString16ILm1EEE",
+   "name" : "android::StaticString16<1>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14StaticString16ILm1EEE",
+   "self_type" : "_ZTIN7android14StaticString16ILm1EEE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mTarget",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14String8PrinterE",
+   "name" : "android::String8Printer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14String8PrinterE",
+   "self_type" : "_ZTIN7android14String8PrinterE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14String8PrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android14String8Printer9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14String8PrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14String8PrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIN7android16ReferenceRenamerE",
+   "name" : "android::ReferenceRenamer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIN7android16ReferenceRenamerE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android16ReferenceRenamerE"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android16ReferenceRenamerclEm"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16SortedVectorImplE",
+   "name" : "android::SortedVectorImpl",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIN7android16SortedVectorImplE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android16SortedVectorImplE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android16SortedVectorImplD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android16SortedVectorImplD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl12do_constructEPvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl10do_destroyEPvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl7do_copyEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl8do_splatEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl15do_move_forwardEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl16do_move_backwardEPvPKvm"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android16SortedVectorImpl10do_compareEPKvS2_"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTINSt3__117integral_constantIbLb0EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16use_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::use_trivial_move<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android16use_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android16use_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTINSt3__117integral_constantIbLb0EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16use_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::use_trivial_move<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android16use_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android16use_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTINSt3__117integral_constantIbLb0EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16use_trivial_moveINS_6Looper8ResponseEEE",
+   "name" : "android::use_trivial_move<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android16use_trivial_moveINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android16use_trivial_moveINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android14MessageHandlerE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mHandler",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18WeakMessageHandlerE",
+   "name" : "android::WeakMessageHandler",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android18WeakMessageHandlerE",
+   "self_type" : "_ZTIN7android18WeakMessageHandlerE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 24,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android18WeakMessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android18WeakMessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android18WeakMessageHandlerD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android18WeakMessageHandler13handleMessageERKNS_7MessageE"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -24,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -24,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android18WeakMessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android18WeakMessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android18WeakMessageHandlerD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_copy<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_copy<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_copy<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIbEE",
+   "name" : "android::trait_trivial_copy<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIcEE",
+   "name" : "android::trait_trivial_copy<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIdEE",
+   "name" : "android::trait_trivial_copy<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIfEE",
+   "name" : "android::trait_trivial_copy<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIhEE",
+   "name" : "android::trait_trivial_copy<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIiEE",
+   "name" : "android::trait_trivial_copy<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIjEE",
+   "name" : "android::trait_trivial_copy<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIlEE",
+   "name" : "android::trait_trivial_copy<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyImEE",
+   "name" : "android::trait_trivial_copy<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIsEE",
+   "name" : "android::trait_trivial_copy<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyItEE",
+   "name" : "android::trait_trivial_copy<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIvEE",
+   "name" : "android::trait_trivial_copy<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIxEE",
+   "name" : "android::trait_trivial_copy<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIyEE",
+   "name" : "android::trait_trivial_copy<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_ctor<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_ctor<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_ctor<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIbEE",
+   "name" : "android::trait_trivial_ctor<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIcEE",
+   "name" : "android::trait_trivial_ctor<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIdEE",
+   "name" : "android::trait_trivial_ctor<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIfEE",
+   "name" : "android::trait_trivial_ctor<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIhEE",
+   "name" : "android::trait_trivial_ctor<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIiEE",
+   "name" : "android::trait_trivial_ctor<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIjEE",
+   "name" : "android::trait_trivial_ctor<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIlEE",
+   "name" : "android::trait_trivial_ctor<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorImEE",
+   "name" : "android::trait_trivial_ctor<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIsEE",
+   "name" : "android::trait_trivial_ctor<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorItEE",
+   "name" : "android::trait_trivial_ctor<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIvEE",
+   "name" : "android::trait_trivial_ctor<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIxEE",
+   "name" : "android::trait_trivial_ctor<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIyEE",
+   "name" : "android::trait_trivial_ctor<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_dtor<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_dtor<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_dtor<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIbEE",
+   "name" : "android::trait_trivial_dtor<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIcEE",
+   "name" : "android::trait_trivial_dtor<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIdEE",
+   "name" : "android::trait_trivial_dtor<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIfEE",
+   "name" : "android::trait_trivial_dtor<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIhEE",
+   "name" : "android::trait_trivial_dtor<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIiEE",
+   "name" : "android::trait_trivial_dtor<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIjEE",
+   "name" : "android::trait_trivial_dtor<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIlEE",
+   "name" : "android::trait_trivial_dtor<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorImEE",
+   "name" : "android::trait_trivial_dtor<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIsEE",
+   "name" : "android::trait_trivial_dtor<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorItEE",
+   "name" : "android::trait_trivial_dtor<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIvEE",
+   "name" : "android::trait_trivial_dtor<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIxEE",
+   "name" : "android::trait_trivial_dtor<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIyEE",
+   "name" : "android::trait_trivial_dtor<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_move<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_move<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_move<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_7String8EEE",
+   "name" : "android::trait_trivial_move<android::String8>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/String8.h",
+   "template_args" :
+   [
+    "_ZTIN7android7String8E"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_8String16EEE",
+   "name" : "android::trait_trivial_move<android::String16>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/String16.h",
+   "template_args" :
+   [
+    "_ZTIN7android8String16E"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIbEE",
+   "name" : "android::trait_trivial_move<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIcEE",
+   "name" : "android::trait_trivial_move<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIdEE",
+   "name" : "android::trait_trivial_move<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIfEE",
+   "name" : "android::trait_trivial_move<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIhEE",
+   "name" : "android::trait_trivial_move<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIiEE",
+   "name" : "android::trait_trivial_move<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIjEE",
+   "name" : "android::trait_trivial_move<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIlEE",
+   "name" : "android::trait_trivial_move<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveImEE",
+   "name" : "android::trait_trivial_move<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIsEE",
+   "name" : "android::trait_trivial_move<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveItEE",
+   "name" : "android::trait_trivial_move<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIvEE",
+   "name" : "android::trait_trivial_move<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIxEE",
+   "name" : "android::trait_trivial_move<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIyEE",
+   "name" : "android::trait_trivial_move<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android19VirtualLightRefBaseE",
+   "name" : "android::VirtualLightRefBase",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android19VirtualLightRefBaseE",
+   "self_type" : "_ZTIN7android19VirtualLightRefBaseE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android19VirtualLightRefBaseE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android19VirtualLightRefBaseD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android19VirtualLightRefBaseD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android14LooperCallbackE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCallback",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPFiiiPvE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android20SimpleLooperCallbackE",
+   "name" : "android::SimpleLooperCallback",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android20SimpleLooperCallbackE",
+   "self_type" : "_ZTIN7android20SimpleLooperCallbackE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 16,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android20SimpleLooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android20SimpleLooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android20SimpleLooperCallbackD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android20SimpleLooperCallback11handleEventEiiPv"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -16,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -16,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android20SimpleLooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android20SimpleLooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android20SimpleLooperCallbackD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "name" : "android::sp<android::NativeHandle>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "self_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android12NativeHandleE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "name" : "android::sp<android::LooperCallback>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android14LooperCallbackE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android14MessageHandlerE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android20SimpleLooperCallbackE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android6LooperE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android6ThreadE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "m_refs",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "name" : "android::wp<android::MessageHandler>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android14MessageHandlerE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "m_refs",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "name" : "android::wp<android::Thread>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android6ThreadE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "fd_",
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android4base11borrowed_fdE",
+   "name" : "android::base::borrowed_fd",
+   "referenced_type" : "_ZTIN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIN7android4base11borrowed_fdE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android4base13DefaultCloserE",
+   "name" : "android::base::DefaultCloser",
+   "referenced_type" : "_ZTIN7android4base13DefaultCloserE",
+   "self_type" : "_ZTIN7android4base13DefaultCloserE",
+   "size" : 1,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "fd_",
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "android::base::unique_fd_impl<android::base::DefaultCloser>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h",
+   "template_args" :
+   [
+    "_ZTIN7android4base13DefaultCloserE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "referenced_type" : "_ZTIRN7android5MutexE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android5Mutex8AutolockE",
+   "name" : "android::Mutex::Autolock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android5Mutex8AutolockE",
+   "self_type" : "_ZTIN7android5Mutex8AutolockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mMutex",
+     "referenced_type" : "_ZTI15pthread_mutex_t"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android5MutexE",
+   "name" : "android::Mutex",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android5MutexE",
+   "self_type" : "_ZTIN7android5MutexE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "access" : "private",
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "uptime",
+     "referenced_type" : "_ZTIl"
+    },
+    {
+     "field_name" : "handler",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "field_name" : "message",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIN7android7MessageE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "name" : "android::Looper::MessageEnvelope",
+   "referenced_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "fd",
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "ident",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "events",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "callback",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE"
+    },
+    {
+     "field_name" : "data",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper7RequestE",
+   "name" : "android::Looper::Request",
+   "referenced_type" : "_ZTIN7android6Looper7RequestE",
+   "self_type" : "_ZTIN7android6Looper7RequestE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "seq",
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "field_name" : "events",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "request",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIN7android6Looper7RequestE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper8ResponseE",
+   "name" : "android::Looper::Response",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIN7android6Looper8ResponseE",
+   "size" : 48,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mAllowNonCallbacks",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIKb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mWakeEventFd",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIN7android5MutexE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mMessageEnvelopes",
+     "field_offset" : 512,
+     "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mSendingMessage",
+     "field_offset" : 832,
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPolling",
+     "field_offset" : 840,
+     "referenced_type" : "_ZTIVb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mEpollFd",
+     "field_offset" : 864,
+     "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mEpollRebuildRequired",
+     "field_offset" : 896,
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mRequests",
+     "field_offset" : 960,
+     "referenced_type" : "_ZTINSt3__113unordered_mapImN7android6Looper7RequestENS_4hashImEENS_8equal_toImEENS_9allocatorINS_4pairIKmS3_EEEEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mSequenceNumberByFd",
+     "field_offset" : 1280,
+     "referenced_type" : "_ZTINSt3__113unordered_mapIimNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKimEEEEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mNextRequestSeq",
+     "field_offset" : 1600,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mResponses",
+     "field_offset" : 1664,
+     "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mResponseIndex",
+     "field_offset" : 1984,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mNextMessageUptime",
+     "field_offset" : 2048,
+     "referenced_type" : "_ZTIl"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6LooperE",
+   "name" : "android::Looper",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6LooperE",
+   "self_type" : "_ZTIN7android6LooperE",
+   "size" : 264,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6LooperE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6LooperD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6LooperD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "referenced_type" : "_ZTIRN7android6RWLockE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLock9AutoRLockE",
+   "name" : "android::RWLock::AutoRLock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoRLockE",
+   "self_type" : "_ZTIN7android6RWLock9AutoRLockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "referenced_type" : "_ZTIRN7android6RWLockE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLock9AutoWLockE",
+   "name" : "android::RWLock::AutoWLock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoWLockE",
+   "self_type" : "_ZTIN7android6RWLock9AutoWLockE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mRWLock",
+     "referenced_type" : "_ZTI16pthread_rwlock_t"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLockE",
+   "name" : "android::RWLock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6RWLockE",
+   "self_type" : "_ZTIN7android6RWLockE",
+   "size" : 56,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "is_virtual" : true,
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCanCallJava",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIKb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mThread",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIN7android5MutexE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mThreadExitedCondition",
+     "field_offset" : 512,
+     "referenced_type" : "_ZTIN7android9ConditionE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mStatus",
+     "field_offset" : 896,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mExitPending",
+     "field_offset" : 928,
+     "referenced_type" : "_ZTIVb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mRunning",
+     "field_offset" : 936,
+     "referenced_type" : "_ZTIVb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mHoldSelf",
+     "field_offset" : 960,
+     "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mTid",
+     "field_offset" : 1024,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6ThreadE",
+   "name" : "android::Thread",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6ThreadE",
+   "self_type" : "_ZTIN7android6ThreadE",
+   "size" : 152,
+   "source_file" : "system/core/libutils/include/utils/Thread.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 136,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6ThreadE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6ThreadD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6ThreadD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android6Thread3runEPKcim"
+    },
+    {
+     "mangled_component_name" : "_ZN7android6Thread11requestExitEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android6Thread10readyToRunEv"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android6Thread10threadLoopEv"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -136,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -136,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6ThreadE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android6ThreadD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n24_N7android6ThreadD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::Vector<android::sysprop_change_callback_info>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_28sysprop_change_callback_infoEED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_28sysprop_change_callback_infoEED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE12do_constructEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE10do_destroyEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE7do_copyEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE8do_splatEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE15do_move_forwardEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE16do_move_backwardEPvPKvm"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::Vector<android::Looper::MessageEnvelope>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper15MessageEnvelopeEED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper15MessageEnvelopeEED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE12do_constructEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE10do_destroyEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE7do_copyEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE8do_splatEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE15do_move_forwardEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE16do_move_backwardEPvPKvm"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "android::Vector<android::Looper::Response>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper8ResponseEED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper8ResponseEED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE12do_constructEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE10do_destroyEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE7do_copyEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE8do_splatEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE15do_move_forwardEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE16do_move_backwardEPvPKvm"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_7String8EEE",
+   "name" : "android::Vector<android::String8>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android7String8E"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_7String8EEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_7String8EED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_7String8EED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE12do_constructEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE10do_destroyEPvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE7do_copyEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE8do_splatEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE15do_move_forwardEPvPKvm"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE16do_move_backwardEPvPKvm"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::traits<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::traits<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper8ResponseEEE",
+   "name" : "android::traits<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFileName",
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mBasePtr",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mBaseLength",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mDataOffset",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIl"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mDataPtr",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mDataLength",
+     "field_offset" : 320,
+     "referenced_type" : "_ZTIm"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7FileMapE",
+   "name" : "android::FileMap",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIN7android7FileMapE",
+   "size" : 48,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "what",
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7MessageE",
+   "name" : "android::Message",
+   "referenced_type" : "_ZTIN7android7MessageE",
+   "self_type" : "_ZTIN7android7MessageE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTIN7android7PrinterE",
+   "name" : "android::Printer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7PrinterE",
+   "self_type" : "_ZTIN7android7PrinterE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android7PrinterE"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android7Printer9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7PrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7PrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android7RefBase12weakref_typeE",
+   "name" : "android::RefBase::weakref_type",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mRefs",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIKPN7android7RefBase12weakref_implE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7RefBaseE",
+   "name" : "android::RefBase",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7RefBaseE",
+   "self_type" : "_ZTIN7android7RefBaseE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android7RefBaseE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7RefBaseD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7RefBaseD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mString",
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7String8E",
+   "name" : "android::String8",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIN7android7String8E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "size",
+     "referenced_type" : "_ZTIKj"
+    },
+    {
+     "field_name" : "data",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIA1_Ds"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android8String1610StaticDataILm1EEE",
+   "name" : "android::String16::StaticData<1>",
+   "referenced_type" : "_ZTIN7android8String1610StaticDataILm1EEE",
+   "self_type" : "_ZTIN7android8String1610StaticDataILm1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mString",
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android8String16E",
+   "name" : "android::String16",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIN7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android9CallStack12StackDeleterE",
+   "name" : "android::CallStack::StackDeleter",
+   "referenced_type" : "_ZTIN7android9CallStack12StackDeleterE",
+   "self_type" : "_ZTIN7android9CallStack12StackDeleterE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFrameLines",
+     "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9CallStackE",
+   "name" : "android::CallStack",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9CallStackE",
+   "self_type" : "_ZTIN7android9CallStackE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCond",
+     "referenced_type" : "_ZTI14pthread_cond_t"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9ConditionE",
+   "name" : "android::Condition",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9ConditionE",
+   "self_type" : "_ZTIN7android9ConditionE",
+   "size" : 48,
+   "source_file" : "system/core/libutils/include/utils/Condition.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFd",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mIndent",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mFormatString",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIA20_c"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9FdPrinterE",
+   "name" : "android::FdPrinter",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9FdPrinterE",
+   "self_type" : "_ZTIN7android9FdPrinterE",
+   "size" : 48,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android9FdPrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android9FdPrinter9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android9FdPrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android9FdPrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mName",
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mClock",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mStartTime",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIl"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9StopWatchE",
+   "name" : "android::StopWatch",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9StopWatchE",
+   "self_type" : "_ZTIN7android9StopWatchE",
+   "size" : 24,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFilename",
+     "referenced_type" : "_ZTIN7android7String8E"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mFileMap",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mBuffer",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mOwnBuffer",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLength",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIm"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mCurrent",
+     "field_offset" : 320,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLineNumber",
+     "field_offset" : 384,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9TokenizerE",
+   "name" : "android::Tokenizer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9TokenizerE",
+   "self_type" : "_ZTIN7android9TokenizerE",
+   "size" : 56,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "buf",
+     "referenced_type" : "_ZTIA5121_h"
+    },
+    {
+     "field_name" : "entry",
+     "referenced_type" : "_ZTI12logger_entry"
+    }
+   ],
+   "is_anonymous" : true,
+   "linker_set_key" : "_ZTIN7log_msgUt_E",
+   "name" : "log_msg::(anonymous)",
+   "record_kind" : "union",
+   "referenced_type" : "_ZTIN7log_msgUt_E",
+   "self_type" : "_ZTIN7log_msgUt_E",
+   "size" : 5124,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  }
+ ],
+ "rvalue_reference_types" :
+ [
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android2spINS_12NativeHandleEEE",
+   "name" : "android::sp<android::NativeHandle> &&",
+   "referenced_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "self_type" : "_ZTION7android2spINS_12NativeHandleEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler> &&",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTION7android2spINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback> &&",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTION7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper> &&",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTION7android2spINS_6LooperEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread> &&",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTION7android2spINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "android::base::unique_fd_impl<android::base::DefaultCloser> &&",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTION7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 8,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android7FileMapE",
+   "name" : "android::FileMap &&",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTION7android7FileMapE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTION7android8String16E",
+   "name" : "android::String16 &&",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTION7android8String16E",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  }
+ ]
+}
diff --git a/libutils/abi-dumps/arm_arm64/source-based/libutils.so.lsdump b/libutils/abi-dumps/arm_arm64/source-based/libutils.so.lsdump
new file mode 100644
index 0000000..f88da15
--- /dev/null
+++ b/libutils/abi-dumps/arm_arm64/source-based/libutils.so.lsdump
@@ -0,0 +1,15549 @@
+{
+ "array_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIA0_i",
+   "name" : "int[0]",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIA0_i",
+   "source_file" : "system/core/libcutils/include_outside_system/cutils/native_handle.h"
+  },
+  {
+   "alignment" : 2,
+   "linker_set_key" : "_ZTIA1_Ds",
+   "name" : "char16_t[1]",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIA1_Ds",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIA20_c",
+   "name" : "char[20]",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIA20_c",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIA5121_h",
+   "name" : "unsigned char[5121]",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIA5121_h",
+   "size" : 5121,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIA8_j",
+   "name" : "unsigned int[8]",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIA8_j",
+   "size" : 32,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "linker_set_key" : "_ZTIA_f",
+   "name" : "float[]",
+   "referenced_type" : "_ZTIf",
+   "self_type" : "_ZTIA_f",
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  }
+ ],
+ "builtin_types" :
+ [
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIDi",
+   "name" : "char32_t",
+   "referenced_type" : "_ZTIDi",
+   "self_type" : "_ZTIDi",
+   "size" : 4
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIDn",
+   "name" : "std::nullptr_t",
+   "referenced_type" : "_ZTIDn",
+   "self_type" : "_ZTIDn",
+   "size" : 4
+  },
+  {
+   "alignment" : 2,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIDs",
+   "name" : "char16_t",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIDs",
+   "size" : 2
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIa",
+   "name" : "signed char",
+   "referenced_type" : "_ZTIa",
+   "self_type" : "_ZTIa",
+   "size" : 1
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIb",
+   "name" : "bool",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIb",
+   "size" : 1
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIc",
+   "name" : "char",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIc",
+   "size" : 1
+  },
+  {
+   "alignment" : 8,
+   "linker_set_key" : "_ZTId",
+   "name" : "double",
+   "referenced_type" : "_ZTId",
+   "self_type" : "_ZTId",
+   "size" : 8
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIf",
+   "name" : "float",
+   "referenced_type" : "_ZTIf",
+   "self_type" : "_ZTIf",
+   "size" : 4
+  },
+  {
+   "alignment" : 1,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIh",
+   "name" : "unsigned char",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIh",
+   "size" : 1
+  },
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIi",
+   "name" : "int",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIi",
+   "size" : 4
+  },
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIj",
+   "name" : "unsigned int",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIj",
+   "size" : 4
+  },
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIl",
+   "name" : "long",
+   "referenced_type" : "_ZTIl",
+   "self_type" : "_ZTIl",
+   "size" : 4
+  },
+  {
+   "alignment" : 4,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIm",
+   "name" : "unsigned long",
+   "referenced_type" : "_ZTIm",
+   "self_type" : "_ZTIm",
+   "size" : 4
+  },
+  {
+   "alignment" : 2,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIs",
+   "name" : "short",
+   "referenced_type" : "_ZTIs",
+   "self_type" : "_ZTIs",
+   "size" : 2
+  },
+  {
+   "alignment" : 2,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIt",
+   "name" : "unsigned short",
+   "referenced_type" : "_ZTIt",
+   "self_type" : "_ZTIt",
+   "size" : 2
+  },
+  {
+   "linker_set_key" : "_ZTIv",
+   "name" : "void",
+   "referenced_type" : "_ZTIv",
+   "self_type" : "_ZTIv"
+  },
+  {
+   "alignment" : 8,
+   "is_integral" : true,
+   "linker_set_key" : "_ZTIx",
+   "name" : "long long",
+   "referenced_type" : "_ZTIx",
+   "self_type" : "_ZTIx",
+   "size" : 8
+  },
+  {
+   "alignment" : 8,
+   "is_integral" : true,
+   "is_unsigned" : true,
+   "linker_set_key" : "_ZTIy",
+   "name" : "unsigned long long",
+   "referenced_type" : "_ZTIy",
+   "self_type" : "_ZTIy",
+   "size" : 8
+  }
+ ],
+ "elf_functions" :
+ [
+  {
+   "name" : "_Z24androidCreateThreadGetIDPFiPvES_PS_"
+  },
+  {
+   "name" : "_ZN7android10LogPrinter8printRawEPKc"
+  },
+  {
+   "name" : "_ZN7android10LogPrinter9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android10LogPrinterC1EPKc19android_LogPriorityS2_b"
+  },
+  {
+   "name" : "_ZN7android10LogPrinterC2EPKc19android_LogPriorityS2_b"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl11appendArrayEPKvj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl11setCapacityEj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl12appendVectorERKS0_"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13editArrayImplEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13finish_vectorEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13insertArrayAtEPKvjj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl13removeItemsAtEjj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl14insertVectorAtERKS0_j"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl15release_storageEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl16editItemLocationEj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl3addEPKv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl3addEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl3popEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4pushEPKv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4pushEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4sortEPFiPKvS2_E"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl4sortEPFiPKvS2_PvES3_"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl5_growEjj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl5clearEv"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl6resizeEj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl7_shrinkEjj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl8insertAtEPKvjj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl8insertAtEjj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl9replaceAtEPKvj"
+  },
+  {
+   "name" : "_ZN7android10VectorImpl9replaceAtEj"
+  },
+  {
+   "name" : "_ZN7android10VectorImplC2ERKS0_"
+  },
+  {
+   "name" : "_ZN7android10VectorImplC2Ejj"
+  },
+  {
+   "name" : "_ZN7android10VectorImplD0Ev"
+  },
+  {
+   "name" : "_ZN7android10VectorImplD1Ev"
+  },
+  {
+   "name" : "_ZN7android10VectorImplD2Ev"
+  },
+  {
+   "name" : "_ZN7android10VectorImplaSERKS0_"
+  },
+  {
+   "name" : "_ZN7android11uptimeNanosEv"
+  },
+  {
+   "name" : "_ZN7android12NativeHandle6createEP13native_handleb"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleC1EP13native_handleb"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleC2EP13native_handleb"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleD1Ev"
+  },
+  {
+   "name" : "_ZN7android12NativeHandleD2Ev"
+  },
+  {
+   "name" : "_ZN7android12SharedBuffer5allocEj"
+  },
+  {
+   "name" : "_ZN7android12SharedBuffer7deallocEPKS0_"
+  },
+  {
+   "name" : "_ZN7android12uptimeMillisEv"
+  },
+  {
+   "name" : "_ZN7android13PrefixPrinter9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android13PrefixPrinterC1ERNS_7PrinterEPKc"
+  },
+  {
+   "name" : "_ZN7android13PrefixPrinterC2ERNS_7PrinterEPKc"
+  },
+  {
+   "name" : "_ZN7android14LooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZN7android14LooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZN7android14LooperCallbackD2Ev"
+  },
+  {
+   "name" : "_ZN7android14MessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZN7android14MessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZN7android14MessageHandlerD2Ev"
+  },
+  {
+   "name" : "_ZN7android14String8Printer9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android14String8PrinterC1EPNS_7String8EPKc"
+  },
+  {
+   "name" : "_ZN7android14String8PrinterC2EPNS_7String8EPKc"
+  },
+  {
+   "name" : "_ZN7android14sp_report_raceEv"
+  },
+  {
+   "name" : "_ZN7android14statusToStringEi"
+  },
+  {
+   "name" : "_ZN7android15elapsedRealtimeEv"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl3addEPKv"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl5mergeERKNS_10VectorImplE"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl5mergeERKS0_"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImpl6removeEPKv"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplC2ERKNS_10VectorImplE"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplC2Ejj"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplD0Ev"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplD1Ev"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplD2Ev"
+  },
+  {
+   "name" : "_ZN7android16SortedVectorImplaSERKS0_"
+  },
+  {
+   "name" : "_ZN7android17JenkinsHashWhitenEj"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandler13handleMessageERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerC1ERKNS_2wpINS_14MessageHandlerEEE"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerC2ERKNS_2wpINS_14MessageHandlerEEE"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZN7android18WeakMessageHandlerD2Ev"
+  },
+  {
+   "name" : "_ZN7android19JenkinsHashMixBytesEjPKhj"
+  },
+  {
+   "name" : "_ZN7android19elapsedRealtimeNanoEv"
+  },
+  {
+   "name" : "_ZN7android20JenkinsHashMixShortsEjPKtj"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallback11handleEventEiiPv"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackC1EPFiiiPvE"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackC2EPFiiiPvE"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZN7android20SimpleLooperCallbackD2Ev"
+  },
+  {
+   "name" : "_ZN7android21report_sysprop_changeEv"
+  },
+  {
+   "name" : "_ZN7android23sp_report_stack_pointerEv"
+  },
+  {
+   "name" : "_ZN7android27add_sysprop_change_callbackEPFvvEi"
+  },
+  {
+   "name" : "_ZN7android30get_report_sysprop_change_funcEv"
+  },
+  {
+   "name" : "_ZN7android47LightRefBase_reportIncStrongRequireStrongFailedEPKv"
+  },
+  {
+   "name" : "_ZN7android6Looper10initTLSKeyEv"
+  },
+  {
+   "name" : "_ZN7android6Looper11sendMessageERKNS_2spINS_14MessageHandlerEEERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android6Looper12getForThreadEv"
+  },
+  {
+   "name" : "_ZN7android6Looper12setForThreadERKNS_2spIS0_EE"
+  },
+  {
+   "name" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEE"
+  },
+  {
+   "name" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEEi"
+  },
+  {
+   "name" : "_ZN7android6Looper16threadDestructorEPv"
+  },
+  {
+   "name" : "_ZN7android6Looper17sendMessageAtTimeExRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android6Looper18rebuildEpollLockedEv"
+  },
+  {
+   "name" : "_ZN7android6Looper18sendMessageDelayedExRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE"
+  },
+  {
+   "name" : "_ZN7android6Looper26removeSequenceNumberLockedEy"
+  },
+  {
+   "name" : "_ZN7android6Looper26scheduleEpollRebuildLockedEv"
+  },
+  {
+   "name" : "_ZN7android6Looper4wakeEv"
+  },
+  {
+   "name" : "_ZN7android6Looper5addFdEiiiPFiiiPvES1_"
+  },
+  {
+   "name" : "_ZN7android6Looper5addFdEiiiRKNS_2spINS_14LooperCallbackEEEPv"
+  },
+  {
+   "name" : "_ZN7android6Looper6awokenEv"
+  },
+  {
+   "name" : "_ZN7android6Looper7pollAllEiPiS1_PPv"
+  },
+  {
+   "name" : "_ZN7android6Looper7prepareEi"
+  },
+  {
+   "name" : "_ZN7android6Looper8pollOnceEiPiS1_PPv"
+  },
+  {
+   "name" : "_ZN7android6Looper8removeFdEi"
+  },
+  {
+   "name" : "_ZN7android6Looper9pollInnerEi"
+  },
+  {
+   "name" : "_ZN7android6LooperC1Eb"
+  },
+  {
+   "name" : "_ZN7android6LooperC2Eb"
+  },
+  {
+   "name" : "_ZN7android6LooperD0Ev"
+  },
+  {
+   "name" : "_ZN7android6LooperD1Ev"
+  },
+  {
+   "name" : "_ZN7android6LooperD2Ev"
+  },
+  {
+   "name" : "_ZN7android6Thread10readyToRunEv"
+  },
+  {
+   "name" : "_ZN7android6Thread11_threadLoopEPv"
+  },
+  {
+   "name" : "_ZN7android6Thread11requestExitEv"
+  },
+  {
+   "name" : "_ZN7android6Thread18requestExitAndWaitEv"
+  },
+  {
+   "name" : "_ZN7android6Thread3runEPKcij"
+  },
+  {
+   "name" : "_ZN7android6Thread4joinEv"
+  },
+  {
+   "name" : "_ZN7android6ThreadC2Eb"
+  },
+  {
+   "name" : "_ZN7android6ThreadD0Ev"
+  },
+  {
+   "name" : "_ZN7android6ThreadD1Ev"
+  },
+  {
+   "name" : "_ZN7android6ThreadD2Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMap6adviseENS0_9MapAdviceE"
+  },
+  {
+   "name" : "_ZN7android7FileMap6createEPKcixjb"
+  },
+  {
+   "name" : "_ZN7android7FileMapC1EOS0_"
+  },
+  {
+   "name" : "_ZN7android7FileMapC1Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapC2EOS0_"
+  },
+  {
+   "name" : "_ZN7android7FileMapC2Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapD1Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapD2Ev"
+  },
+  {
+   "name" : "_ZN7android7FileMapaSEOS0_"
+  },
+  {
+   "name" : "_ZN7android7Printer15printFormatLineEPKcz"
+  },
+  {
+   "name" : "_ZN7android7PrinterC2Ev"
+  },
+  {
+   "name" : "_ZN7android7PrinterD0Ev"
+  },
+  {
+   "name" : "_ZN7android7PrinterD1Ev"
+  },
+  {
+   "name" : "_ZN7android7PrinterD2Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBase10onFirstRefEv"
+  },
+  {
+   "name" : "_ZN7android7RefBase10renameRefsEjRKNS_16ReferenceRenamerE"
+  },
+  {
+   "name" : "_ZN7android7RefBase11renameRefIdEPNS0_12weakref_typeEPKvS4_"
+  },
+  {
+   "name" : "_ZN7android7RefBase11renameRefIdEPS0_PKvS3_"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type14attemptIncWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type16attemptIncStrongEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type18incWeakRequireWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type7decWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type7incWeakEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase12weakref_type7trackMeEbb"
+  },
+  {
+   "name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBase20extendObjectLifetimeEi"
+  },
+  {
+   "name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+  },
+  {
+   "name" : "_ZN7android7RefBaseC1Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseC2Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseD0Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseD1Ev"
+  },
+  {
+   "name" : "_ZN7android7RefBaseD2Ev"
+  },
+  {
+   "name" : "_ZN7android7String810appendPathEPKc"
+  },
+  {
+   "name" : "_ZN7android7String810lockBufferEj"
+  },
+  {
+   "name" : "_ZN7android7String811real_appendEPKcj"
+  },
+  {
+   "name" : "_ZN7android7String812appendFormatEPKcz"
+  },
+  {
+   "name" : "_ZN7android7String812unlockBufferEj"
+  },
+  {
+   "name" : "_ZN7android7String812unlockBufferEv"
+  },
+  {
+   "name" : "_ZN7android7String813appendFormatVEPKcSt9__va_list"
+  },
+  {
+   "name" : "_ZN7android7String816convertToResPathEv"
+  },
+  {
+   "name" : "_ZN7android7String85clearEv"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKDij"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKDsj"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKc"
+  },
+  {
+   "name" : "_ZN7android7String85setToEPKcj"
+  },
+  {
+   "name" : "_ZN7android7String85setToERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String86appendEPKc"
+  },
+  {
+   "name" : "_ZN7android7String86appendEPKcj"
+  },
+  {
+   "name" : "_ZN7android7String86appendERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String86formatEPKcz"
+  },
+  {
+   "name" : "_ZN7android7String87formatVEPKcSt9__va_list"
+  },
+  {
+   "name" : "_ZN7android7String87toLowerEv"
+  },
+  {
+   "name" : "_ZN7android7String89removeAllEPKc"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDi"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDij"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDs"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKDsj"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKc"
+  },
+  {
+   "name" : "_ZN7android7String8C1EPKcj"
+  },
+  {
+   "name" : "_ZN7android7String8C1ERKNS_8String16E"
+  },
+  {
+   "name" : "_ZN7android7String8C1ERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String8C1Ev"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDi"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDij"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDs"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKDsj"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKc"
+  },
+  {
+   "name" : "_ZN7android7String8C2EPKcj"
+  },
+  {
+   "name" : "_ZN7android7String8C2ERKNS_8String16E"
+  },
+  {
+   "name" : "_ZN7android7String8C2ERKS0_"
+  },
+  {
+   "name" : "_ZN7android7String8C2Ev"
+  },
+  {
+   "name" : "_ZN7android7String8D1Ev"
+  },
+  {
+   "name" : "_ZN7android7String8D2Ev"
+  },
+  {
+   "name" : "_ZN7android8String1610editResizeEj"
+  },
+  {
+   "name" : "_ZN7android8String1610replaceAllEDsDs"
+  },
+  {
+   "name" : "_ZN7android8String1613allocFromUTF8EPKcj"
+  },
+  {
+   "name" : "_ZN7android8String1614allocFromUTF16EPKDsj"
+  },
+  {
+   "name" : "_ZN7android8String164editEv"
+  },
+  {
+   "name" : "_ZN7android8String165allocEj"
+  },
+  {
+   "name" : "_ZN7android8String165setToEPKDs"
+  },
+  {
+   "name" : "_ZN7android8String165setToEPKDsj"
+  },
+  {
+   "name" : "_ZN7android8String165setToERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String165setToERKS0_jj"
+  },
+  {
+   "name" : "_ZN7android8String166appendEPKDsj"
+  },
+  {
+   "name" : "_ZN7android8String166appendERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String166insertEjPKDs"
+  },
+  {
+   "name" : "_ZN7android8String166insertEjPKDsj"
+  },
+  {
+   "name" : "_ZN7android8String167acquireEv"
+  },
+  {
+   "name" : "_ZN7android8String167releaseEv"
+  },
+  {
+   "name" : "_ZN7android8String16C1EOS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKDs"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKDsj"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKc"
+  },
+  {
+   "name" : "_ZN7android8String16C1EPKcj"
+  },
+  {
+   "name" : "_ZN7android8String16C1ERKNS_7String8E"
+  },
+  {
+   "name" : "_ZN7android8String16C1ERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C1ERKS0_jj"
+  },
+  {
+   "name" : "_ZN7android8String16C1Ev"
+  },
+  {
+   "name" : "_ZN7android8String16C2EOS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKDs"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKDsj"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKc"
+  },
+  {
+   "name" : "_ZN7android8String16C2EPKcj"
+  },
+  {
+   "name" : "_ZN7android8String16C2ERKNS_7String8E"
+  },
+  {
+   "name" : "_ZN7android8String16C2ERKS0_"
+  },
+  {
+   "name" : "_ZN7android8String16C2ERKS0_jj"
+  },
+  {
+   "name" : "_ZN7android8String16C2Ev"
+  },
+  {
+   "name" : "_ZN7android8String16D1Ev"
+  },
+  {
+   "name" : "_ZN7android8String16D2Ev"
+  },
+  {
+   "name" : "_ZN7android8String16aSEOS0_"
+  },
+  {
+   "name" : "_ZN7android9FdPrinter9printLineEPKc"
+  },
+  {
+   "name" : "_ZN7android9FdPrinterC1EijPKc"
+  },
+  {
+   "name" : "_ZN7android9FdPrinterC2EijPKc"
+  },
+  {
+   "name" : "_ZN7android9StopWatch5resetEv"
+  },
+  {
+   "name" : "_ZN7android9StopWatchC1EPKci"
+  },
+  {
+   "name" : "_ZN7android9StopWatchC2EPKci"
+  },
+  {
+   "name" : "_ZN7android9StopWatchD1Ev"
+  },
+  {
+   "name" : "_ZN7android9StopWatchD2Ev"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer12fromContentsERKNS_7String8EPKcPPS0_"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer14skipDelimitersEPKc"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer4openERKNS_7String8EPPS0_"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer8nextLineEv"
+  },
+  {
+   "name" : "_ZN7android9Tokenizer9nextTokenEPKc"
+  },
+  {
+   "name" : "_ZN7android9TokenizerC1ERKNS_7String8EPNS_7FileMapEPcbj"
+  },
+  {
+   "name" : "_ZN7android9TokenizerC2ERKNS_7String8EPNS_7FileMapEPcbj"
+  },
+  {
+   "name" : "_ZN7android9TokenizerD1Ev"
+  },
+  {
+   "name" : "_ZN7android9TokenizerD2Ev"
+  },
+  {
+   "name" : "_ZNK7android10VectorImpl12itemLocationEj"
+  },
+  {
+   "name" : "_ZNK7android10VectorImpl8capacityEv"
+  },
+  {
+   "name" : "_ZNK7android10VectorImpl8itemSizeEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer10editResizeEj"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer11attemptEditEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer4editEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer5resetEj"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer7acquireEv"
+  },
+  {
+   "name" : "_ZNK7android12SharedBuffer7releaseEj"
+  },
+  {
+   "name" : "_ZNK7android16SortedVectorImpl13_indexOrderOfEPKvPj"
+  },
+  {
+   "name" : "_ZNK7android16SortedVectorImpl7indexOfEPKv"
+  },
+  {
+   "name" : "_ZNK7android16SortedVectorImpl7orderOfEPKv"
+  },
+  {
+   "name" : "_ZNK7android6Looper20getAllowNonCallbacksEv"
+  },
+  {
+   "name" : "_ZNK7android6Looper7Request14getEpollEventsEv"
+  },
+  {
+   "name" : "_ZNK7android6Looper9isPollingEv"
+  },
+  {
+   "name" : "_ZNK7android6Thread11exitPendingEv"
+  },
+  {
+   "name" : "_ZNK7android6Thread6getTidEv"
+  },
+  {
+   "name" : "_ZNK7android6Thread9isRunningEv"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE10do_destroyEPvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE12do_constructEPvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE15do_move_forwardEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE16do_move_backwardEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE7do_copyEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE8do_splatEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE10do_destroyEPvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE12do_constructEPvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE15do_move_forwardEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE16do_move_backwardEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE7do_copyEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE8do_splatEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE10do_destroyEPvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE12do_constructEPvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE15do_move_forwardEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE16do_move_backwardEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE7do_copyEPvPKvj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNK7android6VectorINS_6Looper8ResponseEE8do_splatEPvPKvj"
+  },
+  {
+   "name" : "_ZNK7android7RefBase10createWeakEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase11getWeakRefsEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase12weakref_type12getWeakCountEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase12weakref_type7refBaseEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase12weakref_type9printRefsEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase14forceIncStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase14getStrongCountEv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase22incStrongRequireStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase9decStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7RefBase9incStrongEPKv"
+  },
+  {
+   "name" : "_ZNK7android7String810getPathDirEv"
+  },
+  {
+   "name" : "_ZNK7android7String811getBasePathEv"
+  },
+  {
+   "name" : "_ZNK7android7String811getPathLeafEv"
+  },
+  {
+   "name" : "_ZNK7android7String814find_extensionEv"
+  },
+  {
+   "name" : "_ZNK7android7String816getPathExtensionEv"
+  },
+  {
+   "name" : "_ZNK7android7String84findEPKcj"
+  },
+  {
+   "name" : "_ZNK7android7String86lengthEv"
+  },
+  {
+   "name" : "_ZNK7android7String88walkPathEPS0_"
+  },
+  {
+   "name" : "_ZNK7android8String1610startsWithEPKDs"
+  },
+  {
+   "name" : "_ZNK7android8String1610startsWithERKS0_"
+  },
+  {
+   "name" : "_ZNK7android8String1614isStaticStringEv"
+  },
+  {
+   "name" : "_ZNK7android8String1616staticStringSizeEv"
+  },
+  {
+   "name" : "_ZNK7android8String164sizeEv"
+  },
+  {
+   "name" : "_ZNK7android8String168containsEPKDs"
+  },
+  {
+   "name" : "_ZNK7android8String168findLastEDs"
+  },
+  {
+   "name" : "_ZNK7android8String169findFirstEDs"
+  },
+  {
+   "name" : "_ZNK7android9StopWatch11elapsedTimeEv"
+  },
+  {
+   "name" : "_ZNK7android9StopWatch4nameEv"
+  },
+  {
+   "name" : "_ZNK7android9Tokenizer11getLocationEv"
+  },
+  {
+   "name" : "_ZNK7android9Tokenizer19peekRemainderOfLineEv"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIiyEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE14__erase_uniqueIiEEjRKT_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIiyEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE25__emplace_unique_key_argsIiJRiRKyEEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIS2_PvEEEEbEERKT_DpOT0_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIiyEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE6rehashEj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIiyEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS2_PvEEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIiyEENS_22__unordered_map_hasherIiS2_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS2_NS_8equal_toIiEELb1EEENS_9allocatorIS2_EEE8__rehashEj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIyN7android6Looper7RequestEEENS_22__unordered_map_hasherIyS5_NS_4hashIyEELb1EEENS_21__unordered_map_equalIyS5_NS_8equal_toIyEELb1EEENS_9allocatorIS5_EEE25__emplace_unique_key_argsIyJRKyRS4_EEENS_4pairINS_15__hash_iteratorIPNS_11__hash_nodeIS5_PvEEEEbEERKT_DpOT0_"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIyN7android6Looper7RequestEEENS_22__unordered_map_hasherIyS5_NS_4hashIyEELb1EEENS_21__unordered_map_equalIyS5_NS_8equal_toIyEELb1EEENS_9allocatorIS5_EEE6rehashEj"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIyN7android6Looper7RequestEEENS_22__unordered_map_hasherIyS5_NS_4hashIyEELb1EEENS_21__unordered_map_equalIyS5_NS_8equal_toIyEELb1EEENS_9allocatorIS5_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS5_PvEEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZNSt3__112__hash_tableINS_17__hash_value_typeIyN7android6Looper7RequestEEENS_22__unordered_map_hasherIyS5_NS_4hashIyEELb1EEENS_21__unordered_map_equalIyS5_NS_8equal_toIyEELb1EEENS_9allocatorIS5_EEE8__rehashEj"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android14LooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android14LooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android14MessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android14MessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android18WeakMessageHandlerD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android18WeakMessageHandlerD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android20SimpleLooperCallbackD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android20SimpleLooperCallbackD1Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android6ThreadD0Ev"
+  },
+  {
+   "name" : "_ZTv0_n12_N7android6ThreadD1Ev"
+  },
+  {
+   "name" : "androidCreateRawThreadEtc"
+  },
+  {
+   "name" : "androidCreateThread"
+  },
+  {
+   "name" : "androidCreateThreadEtc"
+  },
+  {
+   "name" : "androidGetThreadId"
+  },
+  {
+   "name" : "androidGetThreadPriority"
+  },
+  {
+   "name" : "androidSetCreateThreadFunc"
+  },
+  {
+   "name" : "androidSetThreadName"
+  },
+  {
+   "name" : "androidSetThreadPriority"
+  },
+  {
+   "name" : "do_report_sysprop_change"
+  },
+  {
+   "name" : "strcmp16"
+  },
+  {
+   "name" : "strlen16"
+  },
+  {
+   "name" : "strncmp16"
+  },
+  {
+   "name" : "strnlen16"
+  },
+  {
+   "name" : "strstr16"
+  },
+  {
+   "name" : "strzcmp16"
+  },
+  {
+   "name" : "systemTime"
+  },
+  {
+   "name" : "toMillisecondTimeoutDelay"
+  },
+  {
+   "name" : "utf16_to_utf8"
+  },
+  {
+   "name" : "utf16_to_utf8_length"
+  },
+  {
+   "name" : "utf32_from_utf8_at"
+  },
+  {
+   "name" : "utf32_to_utf8"
+  },
+  {
+   "name" : "utf32_to_utf8_length"
+  },
+  {
+   "name" : "utf8_to_utf16"
+  },
+  {
+   "name" : "utf8_to_utf16_length"
+  },
+  {
+   "name" : "utf8_to_utf16_no_null_terminator"
+  }
+ ],
+ "elf_objects" :
+ [
+  {
+   "name" : "_ZN7android7FileMap9mPageSizeE"
+  },
+  {
+   "name" : "_ZTCN7android18WeakMessageHandlerE0_NS_14MessageHandlerE"
+  },
+  {
+   "name" : "_ZTCN7android20SimpleLooperCallbackE0_NS_14LooperCallbackE"
+  },
+  {
+   "name" : "_ZTTN7android14LooperCallbackE"
+  },
+  {
+   "name" : "_ZTTN7android14MessageHandlerE"
+  },
+  {
+   "name" : "_ZTTN7android18WeakMessageHandlerE"
+  },
+  {
+   "name" : "_ZTTN7android20SimpleLooperCallbackE"
+  },
+  {
+   "name" : "_ZTTN7android6ThreadE"
+  },
+  {
+   "name" : "_ZTVN7android10LogPrinterE"
+  },
+  {
+   "name" : "_ZTVN7android10VectorImplE"
+  },
+  {
+   "name" : "_ZTVN7android13PrefixPrinterE"
+  },
+  {
+   "name" : "_ZTVN7android14LooperCallbackE"
+  },
+  {
+   "name" : "_ZTVN7android14MessageHandlerE"
+  },
+  {
+   "name" : "_ZTVN7android14String8PrinterE"
+  },
+  {
+   "name" : "_ZTVN7android16SortedVectorImplE"
+  },
+  {
+   "name" : "_ZTVN7android18WeakMessageHandlerE"
+  },
+  {
+   "name" : "_ZTVN7android20SimpleLooperCallbackE"
+  },
+  {
+   "name" : "_ZTVN7android6LooperE"
+  },
+  {
+   "name" : "_ZTVN7android6ThreadE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZTVN7android6VectorINS_28sysprop_change_callback_infoEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZTVN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+  },
+  {
+   "binding" : "weak",
+   "name" : "_ZTVN7android6VectorINS_6Looper8ResponseEEE"
+  },
+  {
+   "name" : "_ZTVN7android7PrinterE"
+  },
+  {
+   "name" : "_ZTVN7android7RefBaseE"
+  },
+  {
+   "name" : "_ZTVN7android9FdPrinterE"
+  }
+ ],
+ "enum_types" :
+ [
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : -1,
+     "name" : "SP_DEFAULT"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "SP_BACKGROUND"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "SP_FOREGROUND"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "SP_SYSTEM"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "SP_AUDIO_APP"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "SP_AUDIO_SYS"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "SP_TOP_APP"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "SP_RT_APP"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "SP_RESTRICTED"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "SP_CNT"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "SP_MAX"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "SP_SYSTEM_DEFAULT"
+    }
+   ],
+   "linker_set_key" : "_ZTI11SchedPolicy",
+   "name" : "SchedPolicy",
+   "referenced_type" : "_ZTI11SchedPolicy",
+   "self_type" : "_ZTI11SchedPolicy",
+   "size" : 4,
+   "source_file" : "system/core/libprocessgroup/include/processgroup/sched_policy.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_HDR_DOLBY_VISION"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_HDR_HDR10"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_HDR_HLG"
+    }
+   ],
+   "linker_set_key" : "_ZTI13android_hdr_t",
+   "name" : "android_hdr_t",
+   "referenced_type" : "_ZTI13android_hdr_t",
+   "self_type" : "_ZTI13android_hdr_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_HDR_HDR10_PLUS"
+    }
+   ],
+   "linker_set_key" : "_ZTI18android_hdr_v1_2_t",
+   "name" : "android_hdr_v1_2_t",
+   "referenced_type" : "_ZTI18android_hdr_v1_2_t",
+   "self_type" : "_ZTI18android_hdr_v1_2_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.2.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "ANDROID_LOG_UNKNOWN"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "ANDROID_LOG_DEFAULT"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "ANDROID_LOG_VERBOSE"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "ANDROID_LOG_DEBUG"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "ANDROID_LOG_INFO"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "ANDROID_LOG_WARN"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "ANDROID_LOG_ERROR"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "ANDROID_LOG_FATAL"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "ANDROID_LOG_SILENT"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_LogPriority",
+   "name" : "android_LogPriority",
+   "referenced_type" : "_ZTI19android_LogPriority",
+   "self_type" : "_ZTI19android_LogPriority",
+   "size" : 4,
+   "source_file" : "system/logging/liblog/include_vndk/android/log.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_UNKNOWN"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_DATASPACE_ARBITRARY"
+    },
+    {
+     "enum_field_value" : 16,
+     "name" : "HAL_DATASPACE_STANDARD_SHIFT"
+    },
+    {
+     "enum_field_value" : 4128768,
+     "name" : "HAL_DATASPACE_STANDARD_MASK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_STANDARD_UNSPECIFIED"
+    },
+    {
+     "enum_field_value" : 65536,
+     "name" : "HAL_DATASPACE_STANDARD_BT709"
+    },
+    {
+     "enum_field_value" : 131072,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_625"
+    },
+    {
+     "enum_field_value" : 196608,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_625_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 262144,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_525"
+    },
+    {
+     "enum_field_value" : 327680,
+     "name" : "HAL_DATASPACE_STANDARD_BT601_525_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 393216,
+     "name" : "HAL_DATASPACE_STANDARD_BT2020"
+    },
+    {
+     "enum_field_value" : 458752,
+     "name" : "HAL_DATASPACE_STANDARD_BT2020_CONSTANT_LUMINANCE"
+    },
+    {
+     "enum_field_value" : 524288,
+     "name" : "HAL_DATASPACE_STANDARD_BT470M"
+    },
+    {
+     "enum_field_value" : 589824,
+     "name" : "HAL_DATASPACE_STANDARD_FILM"
+    },
+    {
+     "enum_field_value" : 655360,
+     "name" : "HAL_DATASPACE_STANDARD_DCI_P3"
+    },
+    {
+     "enum_field_value" : 720896,
+     "name" : "HAL_DATASPACE_STANDARD_ADOBE_RGB"
+    },
+    {
+     "enum_field_value" : 22,
+     "name" : "HAL_DATASPACE_TRANSFER_SHIFT"
+    },
+    {
+     "enum_field_value" : 130023424,
+     "name" : "HAL_DATASPACE_TRANSFER_MASK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_TRANSFER_UNSPECIFIED"
+    },
+    {
+     "enum_field_value" : 4194304,
+     "name" : "HAL_DATASPACE_TRANSFER_LINEAR"
+    },
+    {
+     "enum_field_value" : 8388608,
+     "name" : "HAL_DATASPACE_TRANSFER_SRGB"
+    },
+    {
+     "enum_field_value" : 12582912,
+     "name" : "HAL_DATASPACE_TRANSFER_SMPTE_170M"
+    },
+    {
+     "enum_field_value" : 16777216,
+     "name" : "HAL_DATASPACE_TRANSFER_GAMMA2_2"
+    },
+    {
+     "enum_field_value" : 20971520,
+     "name" : "HAL_DATASPACE_TRANSFER_GAMMA2_6"
+    },
+    {
+     "enum_field_value" : 25165824,
+     "name" : "HAL_DATASPACE_TRANSFER_GAMMA2_8"
+    },
+    {
+     "enum_field_value" : 29360128,
+     "name" : "HAL_DATASPACE_TRANSFER_ST2084"
+    },
+    {
+     "enum_field_value" : 33554432,
+     "name" : "HAL_DATASPACE_TRANSFER_HLG"
+    },
+    {
+     "enum_field_value" : 27,
+     "name" : "HAL_DATASPACE_RANGE_SHIFT"
+    },
+    {
+     "enum_field_value" : 939524096,
+     "name" : "HAL_DATASPACE_RANGE_MASK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_DATASPACE_RANGE_UNSPECIFIED"
+    },
+    {
+     "enum_field_value" : 134217728,
+     "name" : "HAL_DATASPACE_RANGE_FULL"
+    },
+    {
+     "enum_field_value" : 268435456,
+     "name" : "HAL_DATASPACE_RANGE_LIMITED"
+    },
+    {
+     "enum_field_value" : 402653184,
+     "name" : "HAL_DATASPACE_RANGE_EXTENDED"
+    },
+    {
+     "enum_field_value" : 512,
+     "name" : "HAL_DATASPACE_SRGB_LINEAR"
+    },
+    {
+     "enum_field_value" : 138477568,
+     "name" : "HAL_DATASPACE_V0_SRGB_LINEAR"
+    },
+    {
+     "enum_field_value" : 406913024,
+     "name" : "HAL_DATASPACE_V0_SCRGB_LINEAR"
+    },
+    {
+     "enum_field_value" : 513,
+     "name" : "HAL_DATASPACE_SRGB"
+    },
+    {
+     "enum_field_value" : 142671872,
+     "name" : "HAL_DATASPACE_V0_SRGB"
+    },
+    {
+     "enum_field_value" : 411107328,
+     "name" : "HAL_DATASPACE_V0_SCRGB"
+    },
+    {
+     "enum_field_value" : 257,
+     "name" : "HAL_DATASPACE_JFIF"
+    },
+    {
+     "enum_field_value" : 146931712,
+     "name" : "HAL_DATASPACE_V0_JFIF"
+    },
+    {
+     "enum_field_value" : 258,
+     "name" : "HAL_DATASPACE_BT601_625"
+    },
+    {
+     "enum_field_value" : 281149440,
+     "name" : "HAL_DATASPACE_V0_BT601_625"
+    },
+    {
+     "enum_field_value" : 259,
+     "name" : "HAL_DATASPACE_BT601_525"
+    },
+    {
+     "enum_field_value" : 281280512,
+     "name" : "HAL_DATASPACE_V0_BT601_525"
+    },
+    {
+     "enum_field_value" : 260,
+     "name" : "HAL_DATASPACE_BT709"
+    },
+    {
+     "enum_field_value" : 281083904,
+     "name" : "HAL_DATASPACE_V0_BT709"
+    },
+    {
+     "enum_field_value" : 139067392,
+     "name" : "HAL_DATASPACE_DCI_P3_LINEAR"
+    },
+    {
+     "enum_field_value" : 155844608,
+     "name" : "HAL_DATASPACE_DCI_P3"
+    },
+    {
+     "enum_field_value" : 139067392,
+     "name" : "HAL_DATASPACE_DISPLAY_P3_LINEAR"
+    },
+    {
+     "enum_field_value" : 143261696,
+     "name" : "HAL_DATASPACE_DISPLAY_P3"
+    },
+    {
+     "enum_field_value" : 151715840,
+     "name" : "HAL_DATASPACE_ADOBE_RGB"
+    },
+    {
+     "enum_field_value" : 138805248,
+     "name" : "HAL_DATASPACE_BT2020_LINEAR"
+    },
+    {
+     "enum_field_value" : 147193856,
+     "name" : "HAL_DATASPACE_BT2020"
+    },
+    {
+     "enum_field_value" : 163971072,
+     "name" : "HAL_DATASPACE_BT2020_PQ"
+    },
+    {
+     "enum_field_value" : 4096,
+     "name" : "HAL_DATASPACE_DEPTH"
+    },
+    {
+     "enum_field_value" : 4097,
+     "name" : "HAL_DATASPACE_SENSOR"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_dataspace_t",
+   "name" : "android_dataspace_t",
+   "referenced_type" : "_ZTI19android_dataspace_t",
+   "self_type" : "_ZTI19android_dataspace_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "FLEX_FORMAT_INVALID"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "FLEX_FORMAT_Y"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "FLEX_FORMAT_YCbCr"
+    },
+    {
+     "enum_field_value" : 1073741831,
+     "name" : "FLEX_FORMAT_YCbCrA"
+    },
+    {
+     "enum_field_value" : 7168,
+     "name" : "FLEX_FORMAT_RGB"
+    },
+    {
+     "enum_field_value" : 1073748992,
+     "name" : "FLEX_FORMAT_RGBA"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_flex_format",
+   "name" : "android_flex_format",
+   "referenced_type" : "_ZTI19android_flex_format",
+   "self_type" : "_ZTI19android_flex_format",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_TRANSFORM_FLIP_H"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_TRANSFORM_FLIP_V"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_TRANSFORM_ROT_90"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_TRANSFORM_ROT_180"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "HAL_TRANSFORM_ROT_270"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_transform_t",
+   "name" : "android_transform_t",
+   "referenced_type" : "_ZTI19android_transform_t",
+   "self_type" : "_ZTI19android_transform_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_COLOR_MODE_NATIVE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_625"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_625_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_525"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT601_525_UNADJUSTED"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "HAL_COLOR_MODE_STANDARD_BT709"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "HAL_COLOR_MODE_DCI_P3"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "HAL_COLOR_MODE_SRGB"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "HAL_COLOR_MODE_ADOBE_RGB"
+    },
+    {
+     "enum_field_value" : 9,
+     "name" : "HAL_COLOR_MODE_DISPLAY_P3"
+    }
+   ],
+   "linker_set_key" : "_ZTI20android_color_mode_t",
+   "name" : "android_color_mode_t",
+   "referenced_type" : "_ZTI20android_color_mode_t",
+   "self_type" : "_ZTI20android_color_mode_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "SYSTEM_TIME_REALTIME"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "SYSTEM_TIME_MONOTONIC"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "SYSTEM_TIME_PROCESS"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "SYSTEM_TIME_THREAD"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "SYSTEM_TIME_BOOTTIME"
+    }
+   ],
+   "linker_set_key" : "_ZTI21$SYSTEM_TIME_BOOTTIME",
+   "name" : "(unnamed)",
+   "referenced_type" : "_ZTI21$SYSTEM_TIME_BOOTTIME",
+   "self_type" : "_ZTI21$SYSTEM_TIME_BOOTTIME",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Timers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "FLEX_COMPONENT_Y"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "FLEX_COMPONENT_Cb"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "FLEX_COMPONENT_Cr"
+    },
+    {
+     "enum_field_value" : 1024,
+     "name" : "FLEX_COMPONENT_R"
+    },
+    {
+     "enum_field_value" : 2048,
+     "name" : "FLEX_COMPONENT_G"
+    },
+    {
+     "enum_field_value" : 4096,
+     "name" : "FLEX_COMPONENT_B"
+    },
+    {
+     "enum_field_value" : 1073741824,
+     "name" : "FLEX_COMPONENT_A"
+    }
+   ],
+   "linker_set_key" : "_ZTI22android_flex_component",
+   "name" : "android_flex_component",
+   "referenced_type" : "_ZTI22android_flex_component",
+   "self_type" : "_ZTI22android_flex_component",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_PIXEL_FORMAT_RGBA_8888"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_PIXEL_FORMAT_RGBX_8888"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_PIXEL_FORMAT_RGB_888"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_PIXEL_FORMAT_RGB_565"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "HAL_PIXEL_FORMAT_BGRA_8888"
+    },
+    {
+     "enum_field_value" : 16,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_422_SP"
+    },
+    {
+     "enum_field_value" : 17,
+     "name" : "HAL_PIXEL_FORMAT_YCRCB_420_SP"
+    },
+    {
+     "enum_field_value" : 20,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_422_I"
+    },
+    {
+     "enum_field_value" : 22,
+     "name" : "HAL_PIXEL_FORMAT_RGBA_FP16"
+    },
+    {
+     "enum_field_value" : 32,
+     "name" : "HAL_PIXEL_FORMAT_RAW16"
+    },
+    {
+     "enum_field_value" : 33,
+     "name" : "HAL_PIXEL_FORMAT_BLOB"
+    },
+    {
+     "enum_field_value" : 34,
+     "name" : "HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED"
+    },
+    {
+     "enum_field_value" : 35,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_420_888"
+    },
+    {
+     "enum_field_value" : 36,
+     "name" : "HAL_PIXEL_FORMAT_RAW_OPAQUE"
+    },
+    {
+     "enum_field_value" : 37,
+     "name" : "HAL_PIXEL_FORMAT_RAW10"
+    },
+    {
+     "enum_field_value" : 38,
+     "name" : "HAL_PIXEL_FORMAT_RAW12"
+    },
+    {
+     "enum_field_value" : 43,
+     "name" : "HAL_PIXEL_FORMAT_RGBA_1010102"
+    },
+    {
+     "enum_field_value" : 538982489,
+     "name" : "HAL_PIXEL_FORMAT_Y8"
+    },
+    {
+     "enum_field_value" : 540422489,
+     "name" : "HAL_PIXEL_FORMAT_Y16"
+    },
+    {
+     "enum_field_value" : 842094169,
+     "name" : "HAL_PIXEL_FORMAT_YV12"
+    }
+   ],
+   "linker_set_key" : "_ZTI22android_pixel_format_t",
+   "name" : "android_pixel_format_t",
+   "referenced_type" : "_ZTI22android_pixel_format_t",
+   "self_type" : "_ZTI22android_pixel_format_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 19,
+     "name" : "ANDROID_PRIORITY_LOWEST"
+    },
+    {
+     "enum_field_value" : 10,
+     "name" : "ANDROID_PRIORITY_BACKGROUND"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "ANDROID_PRIORITY_NORMAL"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "ANDROID_PRIORITY_FOREGROUND"
+    },
+    {
+     "enum_field_value" : -4,
+     "name" : "ANDROID_PRIORITY_DISPLAY"
+    },
+    {
+     "enum_field_value" : -8,
+     "name" : "ANDROID_PRIORITY_URGENT_DISPLAY"
+    },
+    {
+     "enum_field_value" : -10,
+     "name" : "ANDROID_PRIORITY_VIDEO"
+    },
+    {
+     "enum_field_value" : -16,
+     "name" : "ANDROID_PRIORITY_AUDIO"
+    },
+    {
+     "enum_field_value" : -19,
+     "name" : "ANDROID_PRIORITY_URGENT_AUDIO"
+    },
+    {
+     "enum_field_value" : -20,
+     "name" : "ANDROID_PRIORITY_HIGHEST"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "ANDROID_PRIORITY_DEFAULT"
+    },
+    {
+     "enum_field_value" : -1,
+     "name" : "ANDROID_PRIORITY_MORE_FAVORABLE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "ANDROID_PRIORITY_LESS_FAVORABLE"
+    }
+   ],
+   "linker_set_key" : "_ZTI23$ANDROID_PRIORITY_AUDIO",
+   "name" : "(unnamed)",
+   "referenced_type" : "_ZTI23$ANDROID_PRIORITY_AUDIO",
+   "self_type" : "_ZTI23$ANDROID_PRIORITY_AUDIO",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/thread_defs.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 281411584,
+     "name" : "HAL_DATASPACE_BT2020_ITU"
+    },
+    {
+     "enum_field_value" : 298188800,
+     "name" : "HAL_DATASPACE_BT2020_ITU_PQ"
+    },
+    {
+     "enum_field_value" : 302383104,
+     "name" : "HAL_DATASPACE_BT2020_ITU_HLG"
+    },
+    {
+     "enum_field_value" : 168165376,
+     "name" : "HAL_DATASPACE_BT2020_HLG"
+    }
+   ],
+   "linker_set_key" : "_ZTI24android_dataspace_v1_1_t",
+   "name" : "android_dataspace_v1_1_t",
+   "referenced_type" : "_ZTI24android_dataspace_v1_1_t",
+   "self_type" : "_ZTI24android_dataspace_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 142999552,
+     "name" : "HAL_DATASPACE_DISPLAY_BT2020"
+    },
+    {
+     "enum_field_value" : 4098,
+     "name" : "HAL_DATASPACE_DYNAMIC_DEPTH"
+    },
+    {
+     "enum_field_value" : 4099,
+     "name" : "HAL_DATASPACE_JPEG_APP_SEGMENTS"
+    },
+    {
+     "enum_field_value" : 4100,
+     "name" : "HAL_DATASPACE_HEIF"
+    }
+   ],
+   "linker_set_key" : "_ZTI24android_dataspace_v1_2_t",
+   "name" : "android_dataspace_v1_2_t",
+   "referenced_type" : "_ZTI24android_dataspace_v1_2_t",
+   "self_type" : "_ZTI24android_dataspace_v1_2_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.2.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 10,
+     "name" : "HAL_COLOR_MODE_BT2020"
+    },
+    {
+     "enum_field_value" : 11,
+     "name" : "HAL_COLOR_MODE_BT2100_PQ"
+    },
+    {
+     "enum_field_value" : 12,
+     "name" : "HAL_COLOR_MODE_BT2100_HLG"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_color_mode_v1_1_t",
+   "name" : "android_color_mode_v1_1_t",
+   "referenced_type" : "_ZTI25android_color_mode_v1_1_t",
+   "self_type" : "_ZTI25android_color_mode_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_COLOR_TRANSFORM_IDENTITY"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_COLOR_TRANSFORM_ARBITRARY_MATRIX"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_COLOR_TRANSFORM_VALUE_INVERSE"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_COLOR_TRANSFORM_GRAYSCALE"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "HAL_COLOR_TRANSFORM_CORRECT_PROTANOPIA"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "HAL_COLOR_TRANSFORM_CORRECT_DEUTERANOPIA"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "HAL_COLOR_TRANSFORM_CORRECT_TRITANOPIA"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_color_transform_t",
+   "name" : "android_color_transform_t",
+   "referenced_type" : "_ZTI25android_color_transform_t",
+   "self_type" : "_ZTI25android_color_transform_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.0.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 39,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_422_888"
+    },
+    {
+     "enum_field_value" : 40,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_444_888"
+    },
+    {
+     "enum_field_value" : 41,
+     "name" : "HAL_PIXEL_FORMAT_FLEX_RGB_888"
+    },
+    {
+     "enum_field_value" : 42,
+     "name" : "HAL_PIXEL_FORMAT_FLEX_RGBA_8888"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_pixel_format_sw_t",
+   "name" : "android_pixel_format_sw_t",
+   "referenced_type" : "_ZTI25android_pixel_format_sw_t",
+   "self_type" : "_ZTI25android_pixel_format_sw_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-sw.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 48,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_16"
+    },
+    {
+     "enum_field_value" : 49,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_24"
+    },
+    {
+     "enum_field_value" : 50,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_24_STENCIL_8"
+    },
+    {
+     "enum_field_value" : 51,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_32F"
+    },
+    {
+     "enum_field_value" : 52,
+     "name" : "HAL_PIXEL_FORMAT_DEPTH_32F_STENCIL_8"
+    },
+    {
+     "enum_field_value" : 53,
+     "name" : "HAL_PIXEL_FORMAT_STENCIL_8"
+    },
+    {
+     "enum_field_value" : 54,
+     "name" : "HAL_PIXEL_FORMAT_YCBCR_P010"
+    }
+   ],
+   "linker_set_key" : "_ZTI27android_pixel_format_v1_1_t",
+   "name" : "android_pixel_format_v1_1_t",
+   "referenced_type" : "_ZTI27android_pixel_format_v1_1_t",
+   "self_type" : "_ZTI27android_pixel_format_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 55,
+     "name" : "HAL_PIXEL_FORMAT_HSV_888"
+    }
+   ],
+   "linker_set_key" : "_ZTI27android_pixel_format_v1_2_t",
+   "name" : "android_pixel_format_v1_2_t",
+   "referenced_type" : "_ZTI27android_pixel_format_v1_2_t",
+   "self_type" : "_ZTI27android_pixel_format_v1_2_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.2.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "HAL_RENDER_INTENT_COLORIMETRIC"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "HAL_RENDER_INTENT_ENHANCE"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "HAL_RENDER_INTENT_TONE_MAP_COLORIMETRIC"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "HAL_RENDER_INTENT_TONE_MAP_ENHANCE"
+    }
+   ],
+   "linker_set_key" : "_ZTI28android_render_intent_v1_1_t",
+   "name" : "android_render_intent_v1_1_t",
+   "referenced_type" : "_ZTI28android_render_intent_v1_1_t",
+   "self_type" : "_ZTI28android_render_intent_v1_1_t",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics-base-v1.1.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "LOG_ID_MIN"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "LOG_ID_MAIN"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "LOG_ID_RADIO"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "LOG_ID_EVENTS"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "LOG_ID_SYSTEM"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "LOG_ID_CRASH"
+    },
+    {
+     "enum_field_value" : 5,
+     "name" : "LOG_ID_STATS"
+    },
+    {
+     "enum_field_value" : 6,
+     "name" : "LOG_ID_SECURITY"
+    },
+    {
+     "enum_field_value" : 7,
+     "name" : "LOG_ID_KERNEL"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "LOG_ID_MAX"
+    },
+    {
+     "enum_field_value" : 2147483647,
+     "name" : "LOG_ID_DEFAULT"
+    }
+   ],
+   "linker_set_key" : "_ZTI6log_id",
+   "name" : "log_id",
+   "referenced_type" : "_ZTI6log_id",
+   "self_type" : "_ZTI6log_id",
+   "size" : 4,
+   "source_file" : "system/logging/liblog/include_vndk/android/log.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::VectorImpl::HAS_TRIVIAL_CTOR"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "android::VectorImpl::HAS_TRIVIAL_DTOR"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "android::VectorImpl::HAS_TRIVIAL_COPY"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android10VectorImpl17$HAS_TRIVIAL_COPYE",
+   "name" : "android::VectorImpl::(unnamed)",
+   "referenced_type" : "_ZTIN7android10VectorImpl17$HAS_TRIVIAL_COPYE",
+   "self_type" : "_ZTIN7android10VectorImpl17$HAS_TRIVIAL_COPYE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_pointer<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_pointer<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_pointer<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_pointer<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_pointer<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_pointer<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::OK"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::NO_ERROR"
+    },
+    {
+     "enum_field_value" : -2147483648,
+     "name" : "android::UNKNOWN_ERROR"
+    },
+    {
+     "enum_field_value" : -12,
+     "name" : "android::NO_MEMORY"
+    },
+    {
+     "enum_field_value" : -38,
+     "name" : "android::INVALID_OPERATION"
+    },
+    {
+     "enum_field_value" : -22,
+     "name" : "android::BAD_VALUE"
+    },
+    {
+     "enum_field_value" : -2147483647,
+     "name" : "android::BAD_TYPE"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "android::NAME_NOT_FOUND"
+    },
+    {
+     "enum_field_value" : -1,
+     "name" : "android::PERMISSION_DENIED"
+    },
+    {
+     "enum_field_value" : -19,
+     "name" : "android::NO_INIT"
+    },
+    {
+     "enum_field_value" : -17,
+     "name" : "android::ALREADY_EXISTS"
+    },
+    {
+     "enum_field_value" : -32,
+     "name" : "android::DEAD_OBJECT"
+    },
+    {
+     "enum_field_value" : -2147483646,
+     "name" : "android::FAILED_TRANSACTION"
+    },
+    {
+     "enum_field_value" : -75,
+     "name" : "android::BAD_INDEX"
+    },
+    {
+     "enum_field_value" : -61,
+     "name" : "android::NOT_ENOUGH_DATA"
+    },
+    {
+     "enum_field_value" : -11,
+     "name" : "android::WOULD_BLOCK"
+    },
+    {
+     "enum_field_value" : -110,
+     "name" : "android::TIMED_OUT"
+    },
+    {
+     "enum_field_value" : -74,
+     "name" : "android::UNKNOWN_TRANSACTION"
+    },
+    {
+     "enum_field_value" : -2147483641,
+     "name" : "android::FDS_NOT_ALLOWED"
+    },
+    {
+     "enum_field_value" : -2147483640,
+     "name" : "android::UNEXPECTED_NULL"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android15$ALREADY_EXISTSE",
+   "name" : "android::(unnamed)",
+   "referenced_type" : "_ZTIN7android15$ALREADY_EXISTSE",
+   "self_type" : "_ZTIN7android15$ALREADY_EXISTSE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Errors.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 19,
+     "name" : "android::PRIORITY_LOWEST"
+    },
+    {
+     "enum_field_value" : 10,
+     "name" : "android::PRIORITY_BACKGROUND"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::PRIORITY_NORMAL"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "android::PRIORITY_FOREGROUND"
+    },
+    {
+     "enum_field_value" : -4,
+     "name" : "android::PRIORITY_DISPLAY"
+    },
+    {
+     "enum_field_value" : -8,
+     "name" : "android::PRIORITY_URGENT_DISPLAY"
+    },
+    {
+     "enum_field_value" : -16,
+     "name" : "android::PRIORITY_AUDIO"
+    },
+    {
+     "enum_field_value" : -19,
+     "name" : "android::PRIORITY_URGENT_AUDIO"
+    },
+    {
+     "enum_field_value" : -20,
+     "name" : "android::PRIORITY_HIGHEST"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::PRIORITY_DEFAULT"
+    },
+    {
+     "enum_field_value" : -1,
+     "name" : "android::PRIORITY_MORE_FAVORABLE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::PRIORITY_LESS_FAVORABLE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android15$PRIORITY_AUDIOE",
+   "name" : "android::(unnamed)",
+   "referenced_type" : "_ZTIN7android15$PRIORITY_AUDIOE",
+   "self_type" : "_ZTIN7android15$PRIORITY_AUDIOE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/ThreadDefs.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_copy<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_copy<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_copy<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_copy<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_copy<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_copy<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIbE6$valueE",
+   "name" : "android::trait_trivial_copy<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIcE6$valueE",
+   "name" : "android::trait_trivial_copy<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIdE6$valueE",
+   "name" : "android::trait_trivial_copy<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIfE6$valueE",
+   "name" : "android::trait_trivial_copy<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIhE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIiE6$valueE",
+   "name" : "android::trait_trivial_copy<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIjE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIlE6$valueE",
+   "name" : "android::trait_trivial_copy<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyImE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIsE6$valueE",
+   "name" : "android::trait_trivial_copy<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyItE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIvE6$valueE",
+   "name" : "android::trait_trivial_copy<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIxE6$valueE",
+   "name" : "android::trait_trivial_copy<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_copy<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIyE6$valueE",
+   "name" : "android::trait_trivial_copy<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_ctor<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_ctor<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_ctor<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_ctor<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_ctor<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_ctor<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIbE6$valueE",
+   "name" : "android::trait_trivial_ctor<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIcE6$valueE",
+   "name" : "android::trait_trivial_ctor<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIdE6$valueE",
+   "name" : "android::trait_trivial_ctor<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIfE6$valueE",
+   "name" : "android::trait_trivial_ctor<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIhE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIiE6$valueE",
+   "name" : "android::trait_trivial_ctor<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIjE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIlE6$valueE",
+   "name" : "android::trait_trivial_ctor<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorImE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIsE6$valueE",
+   "name" : "android::trait_trivial_ctor<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorItE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIvE6$valueE",
+   "name" : "android::trait_trivial_ctor<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIxE6$valueE",
+   "name" : "android::trait_trivial_ctor<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_ctor<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIyE6$valueE",
+   "name" : "android::trait_trivial_ctor<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_dtor<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_dtor<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_dtor<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_dtor<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_dtor<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_dtor<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIbE6$valueE",
+   "name" : "android::trait_trivial_dtor<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIcE6$valueE",
+   "name" : "android::trait_trivial_dtor<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIdE6$valueE",
+   "name" : "android::trait_trivial_dtor<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIfE6$valueE",
+   "name" : "android::trait_trivial_dtor<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIhE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIiE6$valueE",
+   "name" : "android::trait_trivial_dtor<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIjE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIlE6$valueE",
+   "name" : "android::trait_trivial_dtor<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorImE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIsE6$valueE",
+   "name" : "android::trait_trivial_dtor<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorItE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIvE6$valueE",
+   "name" : "android::trait_trivial_dtor<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIxE6$valueE",
+   "name" : "android::trait_trivial_dtor<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_dtor<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIyE6$valueE",
+   "name" : "android::trait_trivial_dtor<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_move<android::sysprop_change_callback_info>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEE6$valueE",
+   "name" : "android::trait_trivial_move<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_move<android::Looper::MessageEnvelope>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEE6$valueE",
+   "name" : "android::trait_trivial_move<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::trait_trivial_move<android::Looper::Response>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEE6$valueE",
+   "name" : "android::trait_trivial_move<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<android::String8>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_7String8EE6$valueE",
+   "name" : "android::trait_trivial_move<android::String8>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<android::String16>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_8String16EE6$valueE",
+   "name" : "android::trait_trivial_move<android::String16>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<bool>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIbE6$valueE",
+   "name" : "android::trait_trivial_move<bool>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIbE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIbE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIcE6$valueE",
+   "name" : "android::trait_trivial_move<char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIcE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIcE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<double>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIdE6$valueE",
+   "name" : "android::trait_trivial_move<double>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIdE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIdE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<float>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIfE6$valueE",
+   "name" : "android::trait_trivial_move<float>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIfE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIfE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned char>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIhE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned char>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIhE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIhE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIiE6$valueE",
+   "name" : "android::trait_trivial_move<int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIiE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIiE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned int>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIjE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned int>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIjE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIjE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIlE6$valueE",
+   "name" : "android::trait_trivial_move<long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIlE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIlE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveImE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveImE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveImE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIsE6$valueE",
+   "name" : "android::trait_trivial_move<short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIsE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIsE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned short>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveItE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned short>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveItE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveItE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<void>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIvE6$valueE",
+   "name" : "android::trait_trivial_move<void>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIvE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIvE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIxE6$valueE",
+   "name" : "android::trait_trivial_move<long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIxE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIxE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::trait_trivial_move<unsigned long long>::value"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIyE6$valueE",
+   "name" : "android::trait_trivial_move<unsigned long long>::(unnamed)",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIyE6$valueE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIyE6$valueE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::Mutex::PRIVATE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Mutex::SHARED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android5Mutex8$PRIVATEE",
+   "name" : "android::Mutex::(unnamed)",
+   "referenced_type" : "_ZTIN7android5Mutex8$PRIVATEE",
+   "self_type" : "_ZTIN7android5Mutex8$PRIVATEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Looper::EVENT_INPUT"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "android::Looper::EVENT_OUTPUT"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "android::Looper::EVENT_ERROR"
+    },
+    {
+     "enum_field_value" : 8,
+     "name" : "android::Looper::EVENT_HANGUP"
+    },
+    {
+     "enum_field_value" : 16,
+     "name" : "android::Looper::EVENT_INVALID"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper12$EVENT_ERRORE",
+   "name" : "android::Looper::(unnamed)",
+   "referenced_type" : "_ZTIN7android6Looper12$EVENT_ERRORE",
+   "self_type" : "_ZTIN7android6Looper12$EVENT_ERRORE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : -1,
+     "name" : "android::Looper::POLL_WAKE"
+    },
+    {
+     "enum_field_value" : -2,
+     "name" : "android::Looper::POLL_CALLBACK"
+    },
+    {
+     "enum_field_value" : -3,
+     "name" : "android::Looper::POLL_TIMEOUT"
+    },
+    {
+     "enum_field_value" : -4,
+     "name" : "android::Looper::POLL_ERROR"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper14$POLL_CALLBACKE",
+   "name" : "android::Looper::(unnamed)",
+   "referenced_type" : "_ZTIN7android6Looper14$POLL_CALLBACKE",
+   "self_type" : "_ZTIN7android6Looper14$POLL_CALLBACKE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "underlying_type" : "_ZTIi"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Looper::PREPARE_ALLOW_NON_CALLBACKS"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper28$PREPARE_ALLOW_NON_CALLBACKSE",
+   "name" : "android::Looper::(unnamed)",
+   "referenced_type" : "_ZTIN7android6Looper28$PREPARE_ALLOW_NON_CALLBACKSE",
+   "self_type" : "_ZTIN7android6Looper28$PREPARE_ALLOW_NON_CALLBACKSE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::RWLock::PRIVATE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RWLock::SHARED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLock8$PRIVATEE",
+   "name" : "android::RWLock::(unnamed)",
+   "referenced_type" : "_ZTIN7android6RWLock8$PRIVATEE",
+   "self_type" : "_ZTIN7android6RWLock8$PRIVATEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::is_pointer"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_ctor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_dtor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_copy"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::sysprop_change_callback_info>::has_trivial_move"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEE17$has_trivial_copyE",
+   "name" : "android::traits<android::sysprop_change_callback_info>::(unnamed)",
+   "referenced_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEE17$has_trivial_copyE",
+   "self_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEE17$has_trivial_copyE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::is_pointer"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_ctor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_dtor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_copy"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::MessageEnvelope>::has_trivial_move"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEE17$has_trivial_copyE",
+   "name" : "android::traits<android::Looper::MessageEnvelope>::(unnamed)",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEE17$has_trivial_copyE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEE17$has_trivial_copyE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::is_pointer"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_ctor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_dtor"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_copy"
+    },
+    {
+     "enum_field_value" : 0,
+     "name" : "android::traits<android::Looper::Response>::has_trivial_move"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper8ResponseEE17$has_trivial_copyE",
+   "name" : "android::traits<android::Looper::Response>::(unnamed)",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEE17$has_trivial_copyE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEE17$has_trivial_copyE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::FileMap::NORMAL"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::FileMap::RANDOM"
+    },
+    {
+     "enum_field_value" : 2,
+     "name" : "android::FileMap::SEQUENTIAL"
+    },
+    {
+     "enum_field_value" : 3,
+     "name" : "android::FileMap::WILLNEED"
+    },
+    {
+     "enum_field_value" : 4,
+     "name" : "android::FileMap::DONTNEED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7FileMap9MapAdviceE",
+   "name" : "android::FileMap::MapAdvice",
+   "referenced_type" : "_ZTIN7android7FileMap9MapAdviceE",
+   "self_type" : "_ZTIN7android7FileMap9MapAdviceE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "access" : "protected",
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RefBase::FIRST_INC_STRONG"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7RefBase17$FIRST_INC_STRONGE",
+   "name" : "android::RefBase::(unnamed)",
+   "referenced_type" : "_ZTIN7android7RefBase17$FIRST_INC_STRONGE",
+   "self_type" : "_ZTIN7android7RefBase17$FIRST_INC_STRONGE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "access" : "protected",
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::RefBase::OBJECT_LIFETIME_STRONG"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RefBase::OBJECT_LIFETIME_WEAK"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::RefBase::OBJECT_LIFETIME_MASK"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7RefBase21$OBJECT_LIFETIME_MASKE",
+   "name" : "android::RefBase::(unnamed)",
+   "referenced_type" : "_ZTIN7android7RefBase21$OBJECT_LIFETIME_MASKE",
+   "self_type" : "_ZTIN7android7RefBase21$OBJECT_LIFETIME_MASKE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::Condition::WAKE_UP_ONE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Condition::WAKE_UP_ALL"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9Condition10WakeUpTypeE",
+   "name" : "android::Condition::WakeUpType",
+   "referenced_type" : "_ZTIN7android9Condition10WakeUpTypeE",
+   "self_type" : "_ZTIN7android9Condition10WakeUpTypeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Condition.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 0,
+     "name" : "android::Condition::PRIVATE"
+    },
+    {
+     "enum_field_value" : 1,
+     "name" : "android::Condition::SHARED"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9Condition8$PRIVATEE",
+   "name" : "android::Condition::(unnamed)",
+   "referenced_type" : "_ZTIN7android9Condition8$PRIVATEE",
+   "self_type" : "_ZTIN7android9Condition8$PRIVATEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Condition.h",
+   "underlying_type" : "_ZTIj"
+  },
+  {
+   "access" : "private",
+   "alignment" : 4,
+   "enum_fields" :
+   [
+    {
+     "enum_field_value" : 20,
+     "name" : "android::FdPrinter::MAX_FORMAT_STRING"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9FdPrinter18$MAX_FORMAT_STRINGE",
+   "name" : "android::FdPrinter::(unnamed)",
+   "referenced_type" : "_ZTIN7android9FdPrinter18$MAX_FORMAT_STRINGE",
+   "self_type" : "_ZTIN7android9FdPrinter18$MAX_FORMAT_STRINGE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "underlying_type" : "_ZTIj"
+  }
+ ],
+ "function_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPFiPvES_PKcijPS_E",
+   "name" : "int (int (*)(void *), void *, const char *, int, unsigned int, void **)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPFiPvES_PKcijPS_E",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPFiPvES_PKcijPS_E",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPKvS0_E",
+   "name" : "int (const void *, const void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPKvS0_E",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPKvS0_E",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPKvS0_PvE",
+   "name" : "int (const void *, const void *, void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPKvS0_PvE",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPKvS0_PvE",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiPvE",
+   "name" : "int (void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiPvE",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiPvE",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFiiiPvE",
+   "name" : "int (int, int, void *)",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "referenced_type" : "_ZTIFiiiPvE",
+   "return_type" : "_ZTIi",
+   "self_type" : "_ZTIFiiiPvE",
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIFvvE",
+   "name" : "void ()",
+   "referenced_type" : "_ZTIFvvE",
+   "return_type" : "_ZTIv",
+   "self_type" : "_ZTIFvvE",
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  }
+ ],
+ "functions" :
+ [
+  {
+   "access" : "private",
+   "function_name" : "android::LogPrinter::printRaw",
+   "linker_set_key" : "_ZN7android10LogPrinter8printRawEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::LogPrinter::printLine",
+   "linker_set_key" : "_ZN7android10LogPrinter9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::LogPrinter::LogPrinter",
+   "linker_set_key" : "_ZN7android10LogPrinterC1EPKc19android_LogPriorityS2_b",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTI19android_LogPriority"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::LogPrinter::LogPrinter",
+   "linker_set_key" : "_ZN7android10LogPrinterC2EPKc19android_LogPriorityS2_b",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10LogPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTI19android_LogPriority"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::appendArray",
+   "linker_set_key" : "_ZN7android10VectorImpl11appendArrayEPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::setCapacity",
+   "linker_set_key" : "_ZN7android10VectorImpl11setCapacityEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::appendVector",
+   "linker_set_key" : "_ZN7android10VectorImpl12appendVectorERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::editArrayImpl",
+   "linker_set_key" : "_ZN7android10VectorImpl13editArrayImplEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::finish_vector",
+   "linker_set_key" : "_ZN7android10VectorImpl13finish_vectorEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertArrayAt",
+   "linker_set_key" : "_ZN7android10VectorImpl13insertArrayAtEPKvjj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::removeItemsAt",
+   "linker_set_key" : "_ZN7android10VectorImpl13removeItemsAtEjj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertVectorAt",
+   "linker_set_key" : "_ZN7android10VectorImpl14insertVectorAtERKS0_j",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::VectorImpl::release_storage",
+   "linker_set_key" : "_ZN7android10VectorImpl15release_storageEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::editItemLocation",
+   "linker_set_key" : "_ZN7android10VectorImpl16editItemLocationEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::add",
+   "linker_set_key" : "_ZN7android10VectorImpl3addEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::add",
+   "linker_set_key" : "_ZN7android10VectorImpl3addEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::pop",
+   "linker_set_key" : "_ZN7android10VectorImpl3popEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::push",
+   "linker_set_key" : "_ZN7android10VectorImpl4pushEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::push",
+   "linker_set_key" : "_ZN7android10VectorImpl4pushEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::sort",
+   "linker_set_key" : "_ZN7android10VectorImpl4sortEPFiPKvS2_E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiPKvS0_E"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::sort",
+   "linker_set_key" : "_ZN7android10VectorImpl4sortEPFiPKvS2_PvES3_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiPKvS0_PvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::VectorImpl::_grow",
+   "linker_set_key" : "_ZN7android10VectorImpl5_growEjj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::clear",
+   "linker_set_key" : "_ZN7android10VectorImpl5clearEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::resize",
+   "linker_set_key" : "_ZN7android10VectorImpl6resizeEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::VectorImpl::_shrink",
+   "linker_set_key" : "_ZN7android10VectorImpl7_shrinkEjj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertAt",
+   "linker_set_key" : "_ZN7android10VectorImpl8insertAtEPKvjj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::insertAt",
+   "linker_set_key" : "_ZN7android10VectorImpl8insertAtEjj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::replaceAt",
+   "linker_set_key" : "_ZN7android10VectorImpl9replaceAtEPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::replaceAt",
+   "linker_set_key" : "_ZN7android10VectorImpl9replaceAtEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplC2ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplC2Ejj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::~VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::~VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::~VectorImpl",
+   "linker_set_key" : "_ZN7android10VectorImplD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::operator=",
+   "linker_set_key" : "_ZN7android10VectorImplaSERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIRN7android10VectorImplE",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::uptimeNanos",
+   "linker_set_key" : "_ZN7android11uptimeNanosEv",
+   "return_type" : "_ZTIx",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::NativeHandle::create",
+   "linker_set_key" : "_ZN7android12NativeHandle6createEP13native_handleb",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleC1EP13native_handleb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    },
+    {
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleC2EP13native_handleb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    },
+    {
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::~NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::NativeHandle::~NativeHandle",
+   "linker_set_key" : "_ZN7android12NativeHandleD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "function_name" : "android::uptimeMillis",
+   "linker_set_key" : "_ZN7android12uptimeMillisEv",
+   "return_type" : "_ZTIx",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::PrefixPrinter::printLine",
+   "linker_set_key" : "_ZN7android13PrefixPrinter9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android13PrefixPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::PrefixPrinter::PrefixPrinter",
+   "linker_set_key" : "_ZN7android13PrefixPrinterC1ERNS_7PrinterEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android13PrefixPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIRN7android7PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::PrefixPrinter::PrefixPrinter",
+   "linker_set_key" : "_ZN7android13PrefixPrinterC2ERNS_7PrinterEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android13PrefixPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIRN7android7PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::LooperCallback::~LooperCallback",
+   "linker_set_key" : "_ZN7android14LooperCallbackD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::LooperCallback::~LooperCallback",
+   "linker_set_key" : "_ZN7android14LooperCallbackD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::LooperCallback::~LooperCallback",
+   "linker_set_key" : "_ZN7android14LooperCallbackD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::MessageHandler::~MessageHandler",
+   "linker_set_key" : "_ZN7android14MessageHandlerD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::MessageHandler::~MessageHandler",
+   "linker_set_key" : "_ZN7android14MessageHandlerD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::MessageHandler::~MessageHandler",
+   "linker_set_key" : "_ZN7android14MessageHandlerD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::String8Printer::printLine",
+   "linker_set_key" : "_ZN7android14String8Printer9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14String8PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::String8Printer::String8Printer",
+   "linker_set_key" : "_ZN7android14String8PrinterC1EPNS_7String8EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14String8PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::String8Printer::String8Printer",
+   "linker_set_key" : "_ZN7android14String8PrinterC2EPNS_7String8EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android14String8PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::statusToString",
+   "linker_set_key" : "_ZN7android14statusToStringEi",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTINSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE",
+   "source_file" : "system/core/libutils/include/utils/Errors.h"
+  },
+  {
+   "function_name" : "android::elapsedRealtime",
+   "linker_set_key" : "_ZN7android15elapsedRealtimeEv",
+   "return_type" : "_ZTIx",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::add",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl3addEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::merge",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl5mergeERKNS_10VectorImplE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::merge",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl5mergeERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::remove",
+   "linker_set_key" : "_ZN7android16SortedVectorImpl6removeEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplC2ERKNS_10VectorImplE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplC2Ejj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::~SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::~SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::~SortedVectorImpl",
+   "linker_set_key" : "_ZN7android16SortedVectorImplD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::operator=",
+   "linker_set_key" : "_ZN7android16SortedVectorImplaSERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android16SortedVectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIRN7android16SortedVectorImplE",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::JenkinsHashWhiten",
+   "linker_set_key" : "_ZN7android17JenkinsHashWhitenEj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "function_name" : "android::WeakMessageHandler::handleMessage",
+   "linker_set_key" : "_ZN7android18WeakMessageHandler13handleMessageERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::WeakMessageHandler::WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerC1ERKNS_2wpINS_14MessageHandlerEEE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::WeakMessageHandler::WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerC2ERKNS_2wpINS_14MessageHandlerEEE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::WeakMessageHandler::~WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::WeakMessageHandler::~WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::WeakMessageHandler::~WeakMessageHandler",
+   "linker_set_key" : "_ZN7android18WeakMessageHandlerD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android18WeakMessageHandlerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::JenkinsHashMixBytes",
+   "linker_set_key" : "_ZN7android19JenkinsHashMixBytesEjPKhj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "function_name" : "android::elapsedRealtimeNano",
+   "linker_set_key" : "_ZN7android19elapsedRealtimeNanoEv",
+   "return_type" : "_ZTIx",
+   "source_file" : "system/core/libutils/include/utils/SystemClock.h"
+  },
+  {
+   "function_name" : "android::JenkinsHashMixShorts",
+   "linker_set_key" : "_ZN7android20JenkinsHashMixShortsEjPKtj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKt"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "function_name" : "android::SimpleLooperCallback::handleEvent",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallback11handleEventEiiPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::SimpleLooperCallback::SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackC1EPFiiiPvE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiiiPvE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::SimpleLooperCallback::SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackC2EPFiiiPvE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    },
+    {
+     "referenced_type" : "_ZTIPFiiiPvE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::SimpleLooperCallback::~SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::SimpleLooperCallback::~SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::SimpleLooperCallback::~SimpleLooperCallback",
+   "linker_set_key" : "_ZN7android20SimpleLooperCallbackD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::report_sysprop_change",
+   "linker_set_key" : "_ZN7android21report_sysprop_changeEv",
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  },
+  {
+   "function_name" : "android::add_sysprop_change_callback",
+   "linker_set_key" : "_ZN7android27add_sysprop_change_callbackEPFvvEi",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFvvE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  },
+  {
+   "function_name" : "android::LightRefBase_reportIncStrongRequireStrongFailed",
+   "linker_set_key" : "_ZN7android47LightRefBase_reportIncStrongRequireStrongFailedEPKv",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::initTLSKey",
+   "linker_set_key" : "_ZN7android6Looper10initTLSKeyEv",
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::sendMessage",
+   "linker_set_key" : "_ZN7android6Looper11sendMessageERKNS_2spINS_14MessageHandlerEEERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::getForThread",
+   "linker_set_key" : "_ZN7android6Looper12getForThreadEv",
+   "return_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::setForThread",
+   "linker_set_key" : "_ZN7android6Looper12setForThreadERKNS_2spIS0_EE",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_6LooperEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::removeMessages",
+   "linker_set_key" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::removeMessages",
+   "linker_set_key" : "_ZN7android6Looper14removeMessagesERKNS_2spINS_14MessageHandlerEEEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::threadDestructor",
+   "linker_set_key" : "_ZN7android6Looper16threadDestructorEPv",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::sendMessageAtTime",
+   "linker_set_key" : "_ZN7android6Looper17sendMessageAtTimeExRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIx"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::rebuildEpollLocked",
+   "linker_set_key" : "_ZN7android6Looper18rebuildEpollLockedEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::sendMessageDelayed",
+   "linker_set_key" : "_ZN7android6Looper18sendMessageDelayedExRKNS_2spINS_14MessageHandlerEEERKNS_7MessageE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIx"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7MessageE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::removeSequenceNumberLocked",
+   "linker_set_key" : "_ZN7android6Looper26removeSequenceNumberLockedEy",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIy"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::scheduleEpollRebuildLocked",
+   "linker_set_key" : "_ZN7android6Looper26scheduleEpollRebuildLockedEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::wake",
+   "linker_set_key" : "_ZN7android6Looper4wakeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::addFd",
+   "linker_set_key" : "_ZN7android6Looper5addFdEiiiPFiiiPvES1_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPFiiiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::addFd",
+   "linker_set_key" : "_ZN7android6Looper5addFdEiiiRKNS_2spINS_14LooperCallbackEEEPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android2spINS_14LooperCallbackEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::awoken",
+   "linker_set_key" : "_ZN7android6Looper6awokenEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::pollAll",
+   "linker_set_key" : "_ZN7android6Looper7pollAllEiPiS1_PPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::prepare",
+   "linker_set_key" : "_ZN7android6Looper7prepareEi",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::pollOnce",
+   "linker_set_key" : "_ZN7android6Looper8pollOnceEiPiS1_PPv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPi"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::removeFd",
+   "linker_set_key" : "_ZN7android6Looper8removeFdEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Looper::pollInner",
+   "linker_set_key" : "_ZN7android6Looper9pollInnerEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::Looper",
+   "linker_set_key" : "_ZN7android6LooperC1Eb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::Looper",
+   "linker_set_key" : "_ZN7android6LooperC2Eb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Looper::~Looper",
+   "linker_set_key" : "_ZN7android6LooperD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Looper::~Looper",
+   "linker_set_key" : "_ZN7android6LooperD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Looper::~Looper",
+   "linker_set_key" : "_ZN7android6LooperD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Thread::readyToRun",
+   "linker_set_key" : "_ZN7android6Thread10readyToRunEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Thread::_threadLoop",
+   "linker_set_key" : "_ZN7android6Thread11_threadLoopEPv",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::requestExit",
+   "linker_set_key" : "_ZN7android6Thread11requestExitEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::requestExitAndWait",
+   "linker_set_key" : "_ZN7android6Thread18requestExitAndWaitEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::run",
+   "linker_set_key" : "_ZN7android6Thread3runEPKcij",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::join",
+   "linker_set_key" : "_ZN7android6Thread4joinEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::Thread",
+   "linker_set_key" : "_ZN7android6ThreadC2Eb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::~Thread",
+   "linker_set_key" : "_ZN7android6ThreadD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::~Thread",
+   "linker_set_key" : "_ZN7android6ThreadD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::~Thread",
+   "linker_set_key" : "_ZN7android6ThreadD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::FileMap::advise",
+   "linker_set_key" : "_ZN7android7FileMap6adviseENS0_9MapAdviceE",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIN7android7FileMap9MapAdviceE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::create",
+   "linker_set_key" : "_ZN7android7FileMap6createEPKcixjb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIx"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC1EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTION7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC2EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTION7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::FileMap",
+   "linker_set_key" : "_ZN7android7FileMapC2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::~FileMap",
+   "linker_set_key" : "_ZN7android7FileMapD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::~FileMap",
+   "linker_set_key" : "_ZN7android7FileMapD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::FileMap::operator=",
+   "linker_set_key" : "_ZN7android7FileMapaSEOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTION7android7FileMapE"
+    }
+   ],
+   "return_type" : "_ZTIRN7android7FileMapE",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "function_name" : "android::Printer::printFormatLine",
+   "linker_set_key" : "_ZN7android7Printer15printFormatLineEPKcz",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::Printer",
+   "linker_set_key" : "_ZN7android7PrinterC2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::~Printer",
+   "linker_set_key" : "_ZN7android7PrinterD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::~Printer",
+   "linker_set_key" : "_ZN7android7PrinterD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Printer::~Printer",
+   "linker_set_key" : "_ZN7android7PrinterD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7PrinterE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onFirstRef",
+   "linker_set_key" : "_ZN7android7RefBase10onFirstRefEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::RefBase::renameRefs",
+   "linker_set_key" : "_ZN7android7RefBase10renameRefsEjRKNS_16ReferenceRenamerE",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android16ReferenceRenamerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::RefBase::renameRefId",
+   "linker_set_key" : "_ZN7android7RefBase11renameRefIdEPNS0_12weakref_typeEPKvS4_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::RefBase::renameRefId",
+   "linker_set_key" : "_ZN7android7RefBase11renameRefIdEPS0_PKvS3_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::attemptIncWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type14attemptIncWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::attemptIncStrong",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type16attemptIncStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::incWeakRequireWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type18incWeakRequireWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::decWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type7decWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::incWeak",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type7incWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::trackMe",
+   "linker_set_key" : "_ZN7android7RefBase12weakref_type7trackMeEbb",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onLastWeakRef",
+   "linker_set_key" : "_ZN7android7RefBase13onLastWeakRefEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onLastStrongRef",
+   "linker_set_key" : "_ZN7android7RefBase15onLastStrongRefEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::extendObjectLifetime",
+   "linker_set_key" : "_ZN7android7RefBase20extendObjectLifetimeEi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::onIncStrongAttempted",
+   "linker_set_key" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseC1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseC2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::~RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseD0Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::~RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::RefBase::~RefBase",
+   "linker_set_key" : "_ZN7android7RefBaseD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::String8::appendPath",
+   "linker_set_key" : "_ZN7android7String810appendPathEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIRN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::lockBuffer",
+   "linker_set_key" : "_ZN7android7String810lockBufferEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPc",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String8::real_append",
+   "linker_set_key" : "_ZN7android7String811real_appendEPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::appendFormat",
+   "linker_set_key" : "_ZN7android7String812appendFormatEPKcz",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::unlockBuffer",
+   "linker_set_key" : "_ZN7android7String812unlockBufferEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::unlockBuffer",
+   "linker_set_key" : "_ZN7android7String812unlockBufferEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::appendFormatV",
+   "linker_set_key" : "_ZN7android7String813appendFormatVEPKcSt9__va_list",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTISt9__va_list"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::convertToResPath",
+   "linker_set_key" : "_ZN7android7String816convertToResPathEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIRN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::clear",
+   "linker_set_key" : "_ZN7android7String85clearEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKDij",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToEPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::setTo",
+   "linker_set_key" : "_ZN7android7String85setToERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::append",
+   "linker_set_key" : "_ZN7android7String86appendEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::append",
+   "linker_set_key" : "_ZN7android7String86appendEPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::append",
+   "linker_set_key" : "_ZN7android7String86appendERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::format",
+   "linker_set_key" : "_ZN7android7String86formatEPKcz",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::formatV",
+   "linker_set_key" : "_ZN7android7String87formatVEPKcSt9__va_list",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTISt9__va_list"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::toLower",
+   "linker_set_key" : "_ZN7android7String87toLowerEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::removeAll",
+   "linker_set_key" : "_ZN7android7String89removeAllEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDij",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1EPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1ERKNS_8String16E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDi",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDij",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2EPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2ERKNS_8String16E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::String8",
+   "linker_set_key" : "_ZN7android7String8C2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::~String8",
+   "linker_set_key" : "_ZN7android7String8D1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::~String8",
+   "linker_set_key" : "_ZN7android7String8D2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::editResize",
+   "linker_set_key" : "_ZN7android8String1610editResizeEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::replaceAll",
+   "linker_set_key" : "_ZN7android8String1610replaceAllEDsDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::allocFromUTF8",
+   "linker_set_key" : "_ZN7android8String1613allocFromUTF8EPKcj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::allocFromUTF16",
+   "linker_set_key" : "_ZN7android8String1614allocFromUTF16EPKDsj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::edit",
+   "linker_set_key" : "_ZN7android8String164editEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::alloc",
+   "linker_set_key" : "_ZN7android8String165allocEj",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToEPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToEPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::setTo",
+   "linker_set_key" : "_ZN7android8String165setToERKS0_jj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::append",
+   "linker_set_key" : "_ZN7android8String166appendEPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::append",
+   "linker_set_key" : "_ZN7android8String166appendERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::insert",
+   "linker_set_key" : "_ZN7android8String166insertEjPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::insert",
+   "linker_set_key" : "_ZN7android8String166insertEjPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::acquire",
+   "linker_set_key" : "_ZN7android8String167acquireEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::release",
+   "linker_set_key" : "_ZN7android8String167releaseEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTION7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1EPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1ERKNS_7String8E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1ERKS0_jj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTION7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKDsj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2EPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2ERKNS_7String8E",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2ERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2ERKS0_jj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::String16",
+   "linker_set_key" : "_ZN7android8String16C2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::~String16",
+   "linker_set_key" : "_ZN7android8String16D1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::~String16",
+   "linker_set_key" : "_ZN7android8String16D2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::operator=",
+   "linker_set_key" : "_ZN7android8String16aSEOS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTION7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIRN7android8String16E",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::FdPrinter::printLine",
+   "linker_set_key" : "_ZN7android9FdPrinter9printLineEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9FdPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::FdPrinter::FdPrinter",
+   "linker_set_key" : "_ZN7android9FdPrinterC1EijPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9FdPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::FdPrinter::FdPrinter",
+   "linker_set_key" : "_ZN7android9FdPrinterC2EijPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9FdPrinterE"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "function_name" : "android::StopWatch::reset",
+   "linker_set_key" : "_ZN7android9StopWatch5resetEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchC1EPKci",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchC2EPKci",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::~StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::~StopWatch",
+   "linker_set_key" : "_ZN7android9StopWatchD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::fromContents",
+   "linker_set_key" : "_ZN7android9Tokenizer12fromContentsERKNS_7String8EPKcPPS0_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIPPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::skipDelimiters",
+   "linker_set_key" : "_ZN7android9Tokenizer14skipDelimitersEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::open",
+   "linker_set_key" : "_ZN7android9Tokenizer4openERKNS_7String8EPPS0_",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::nextLine",
+   "linker_set_key" : "_ZN7android9Tokenizer8nextLineEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::nextToken",
+   "linker_set_key" : "_ZN7android9Tokenizer9nextTokenEPKc",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Tokenizer::Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerC1ERKNS_7String8EPNS_7FileMapEPcbj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::Tokenizer::Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerC2ERKNS_7String8EPNS_7FileMapEPcbj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::~Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerD1Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::~Tokenizer",
+   "linker_set_key" : "_ZN7android9TokenizerD2Ev",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::itemLocation",
+   "linker_set_key" : "_ZNK7android10VectorImpl12itemLocationEj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android10VectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPKv",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::VectorImpl::capacity",
+   "linker_set_key" : "_ZNK7android10VectorImpl8capacityEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::VectorImpl::itemSize",
+   "linker_set_key" : "_ZNK7android10VectorImpl8itemSizeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android10VectorImplE"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::SortedVectorImpl::_indexOrderOf",
+   "linker_set_key" : "_ZNK7android16SortedVectorImpl13_indexOrderOfEPKvPj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::indexOf",
+   "linker_set_key" : "_ZNK7android16SortedVectorImpl7indexOfEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::SortedVectorImpl::orderOf",
+   "linker_set_key" : "_ZNK7android16SortedVectorImpl7orderOfEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android16SortedVectorImplE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "function_name" : "android::Looper::getAllowNonCallbacks",
+   "linker_set_key" : "_ZNK7android6Looper20getAllowNonCallbacksEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::Request::getEpollEvents",
+   "linker_set_key" : "_ZNK7android6Looper7Request14getEpollEventsEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6Looper7RequestE"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "function_name" : "android::Looper::isPolling",
+   "linker_set_key" : "_ZNK7android6Looper9isPollingEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6LooperE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Thread::exitPending",
+   "linker_set_key" : "_ZNK7android6Thread11exitPendingEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::getTid",
+   "linker_set_key" : "_ZNK7android6Thread6getTidEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "function_name" : "android::Thread::isRunning",
+   "linker_set_key" : "_ZNK7android6Thread9isRunningEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6ThreadE"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_destroy",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE10do_destroyEPvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_construct",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE12do_constructEPvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_move_forward",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE15do_move_forwardEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_move_backward",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE16do_move_backwardEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_copy",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE7do_copyEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::sysprop_change_callback_info>::do_splat",
+   "linker_set_key" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE8do_splatEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_destroy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE10do_destroyEPvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_construct",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE12do_constructEPvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_move_forward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE15do_move_forwardEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_move_backward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE16do_move_backwardEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_copy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE7do_copyEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::MessageEnvelope>::do_splat",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE8do_splatEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_destroy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE10do_destroyEPvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_construct",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE12do_constructEPvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_move_forward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE15do_move_forwardEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_move_backward",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE16do_move_backwardEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_copy",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE7do_copyEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "access" : "protected",
+   "function_name" : "android::Vector<android::Looper::Response>::do_splat",
+   "linker_set_key" : "_ZNK7android6VectorINS_6Looper8ResponseEE8do_splatEPvPKvj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "function_name" : "android::RefBase::createWeak",
+   "linker_set_key" : "_ZNK7android7RefBase10createWeakEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::getWeakRefs",
+   "linker_set_key" : "_ZNK7android7RefBase11getWeakRefsEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::getWeakCount",
+   "linker_set_key" : "_ZNK7android7RefBase12weakref_type12getWeakCountEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::refBase",
+   "linker_set_key" : "_ZNK7android7RefBase12weakref_type7refBaseEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "return_type" : "_ZTIPN7android7RefBaseE",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::weakref_type::printRefs",
+   "linker_set_key" : "_ZNK7android7RefBase12weakref_type9printRefsEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::forceIncStrong",
+   "linker_set_key" : "_ZNK7android7RefBase14forceIncStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::getStrongCount",
+   "linker_set_key" : "_ZNK7android7RefBase14getStrongCountEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::incStrongRequireStrong",
+   "linker_set_key" : "_ZNK7android7RefBase22incStrongRequireStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::decStrong",
+   "linker_set_key" : "_ZNK7android7RefBase9decStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::RefBase::incStrong",
+   "linker_set_key" : "_ZNK7android7RefBase9incStrongEPKv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7RefBaseE"
+    },
+    {
+     "referenced_type" : "_ZTIPKv"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "function_name" : "android::String8::getPathDir",
+   "linker_set_key" : "_ZNK7android7String810getPathDirEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::getBasePath",
+   "linker_set_key" : "_ZNK7android7String811getBasePathEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::getPathLeaf",
+   "linker_set_key" : "_ZNK7android7String811getPathLeafEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String8::find_extension",
+   "linker_set_key" : "_ZNK7android7String814find_extensionEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIPc",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::getPathExtension",
+   "linker_set_key" : "_ZNK7android7String816getPathExtensionEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::find",
+   "linker_set_key" : "_ZNK7android7String84findEPKcj",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::length",
+   "linker_set_key" : "_ZNK7android7String86lengthEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String8::walkPath",
+   "linker_set_key" : "_ZNK7android7String88walkPathEPS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android7String8E"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "function_name" : "android::String16::startsWith",
+   "linker_set_key" : "_ZNK7android8String1610startsWithEPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::startsWith",
+   "linker_set_key" : "_ZNK7android8String1610startsWithERKS0_",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIRKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::isStaticString",
+   "linker_set_key" : "_ZNK7android8String1614isStaticStringEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "access" : "private",
+   "function_name" : "android::String16::staticStringSize",
+   "linker_set_key" : "_ZNK7android8String1616staticStringSizeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::size",
+   "linker_set_key" : "_ZNK7android8String164sizeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::contains",
+   "linker_set_key" : "_ZNK7android8String168containsEPKDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIb",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::findLast",
+   "linker_set_key" : "_ZNK7android8String168findLastEDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::String16::findFirst",
+   "linker_set_key" : "_ZNK7android8String169findFirstEDs",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android8String16E"
+    },
+    {
+     "referenced_type" : "_ZTIDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "function_name" : "android::StopWatch::elapsedTime",
+   "linker_set_key" : "_ZNK7android9StopWatch11elapsedTimeEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIx",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::StopWatch::name",
+   "linker_set_key" : "_ZNK7android9StopWatch4nameEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9StopWatchE"
+    }
+   ],
+   "return_type" : "_ZTIPKc",
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::getLocation",
+   "linker_set_key" : "_ZNK7android9Tokenizer11getLocationEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "android::Tokenizer::peekRemainderOfLine",
+   "linker_set_key" : "_ZNK7android9Tokenizer19peekRemainderOfLineEv",
+   "parameters" :
+   [
+    {
+     "is_this_ptr" : true,
+     "referenced_type" : "_ZTIPKN7android9TokenizerE"
+    }
+   ],
+   "return_type" : "_ZTIN7android7String8E",
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "function_name" : "androidCreateRawThreadEtc",
+   "linker_set_key" : "androidCreateRawThreadEtc",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidCreateThread",
+   "linker_set_key" : "androidCreateThread",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidCreateThreadEtc",
+   "linker_set_key" : "androidCreateThreadEtc",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPvE"
+    },
+    {
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPPv"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidGetThreadId",
+   "linker_set_key" : "androidGetThreadId",
+   "return_type" : "_ZTIPv",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidGetThreadPriority",
+   "linker_set_key" : "androidGetThreadPriority",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidSetCreateThreadFunc",
+   "linker_set_key" : "androidSetCreateThreadFunc",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPFiPFiPvES_PKcijPS_E"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidSetThreadName",
+   "linker_set_key" : "androidSetThreadName",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "androidSetThreadPriority",
+   "linker_set_key" : "androidSetThreadPriority",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "function_name" : "strcmp16",
+   "linker_set_key" : "strcmp16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strlen16",
+   "linker_set_key" : "strlen16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strncmp16",
+   "linker_set_key" : "strncmp16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strnlen16",
+   "linker_set_key" : "strnlen16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIj",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strstr16",
+   "linker_set_key" : "strstr16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "strzcmp16",
+   "linker_set_key" : "strzcmp16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "systemTime",
+   "linker_set_key" : "systemTime",
+   "parameters" :
+   [
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "return_type" : "_ZTIx",
+   "source_file" : "system/core/libutils/include/utils/Timers.h"
+  },
+  {
+   "function_name" : "toMillisecondTimeoutDelay",
+   "linker_set_key" : "toMillisecondTimeoutDelay",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIx"
+    },
+    {
+     "referenced_type" : "_ZTIx"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Timers.h"
+  },
+  {
+   "function_name" : "utf16_to_utf8",
+   "linker_set_key" : "utf16_to_utf8",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf16_to_utf8_length",
+   "linker_set_key" : "utf16_to_utf8_length",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf32_from_utf8_at",
+   "linker_set_key" : "utf32_from_utf8_at",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf32_to_utf8",
+   "linker_set_key" : "utf32_to_utf8",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIv",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf32_to_utf8_length",
+   "linker_set_key" : "utf32_to_utf8_length",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKDi"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf8_to_utf16",
+   "linker_set_key" : "utf8_to_utf16",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf8_to_utf16_length",
+   "linker_set_key" : "utf8_to_utf16_length",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "default_arg" : true,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "return_type" : "_ZTIi",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "function_name" : "utf8_to_utf16_no_null_terminator",
+   "linker_set_key" : "utf8_to_utf16_no_null_terminator",
+   "parameters" :
+   [
+    {
+     "referenced_type" : "_ZTIPKh"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "referenced_type" : "_ZTIPDs"
+    },
+    {
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "return_type" : "_ZTIPDs",
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  }
+ ],
+ "global_vars" :
+ [
+  {
+   "access" : "private",
+   "linker_set_key" : "_ZN7android7FileMap9mPageSizeE",
+   "name" : "android::FileMap::mPageSize",
+   "referenced_type" : "_ZTIl",
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  }
+ ],
+ "lvalue_reference_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRA1_KDs",
+   "name" : "const char16_t (&)[1]",
+   "referenced_type" : "_ZTIA1_KDs",
+   "self_type" : "_ZTIRA1_KDs",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android10VectorImplE",
+   "name" : "const android::VectorImpl &",
+   "referenced_type" : "_ZTIKN7android10VectorImplE",
+   "self_type" : "_ZTIRKN7android10VectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android16ReferenceRenamerE",
+   "name" : "const android::ReferenceRenamer &",
+   "referenced_type" : "_ZTIKN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIRKN7android16ReferenceRenamerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android16SortedVectorImplE",
+   "name" : "const android::SortedVectorImpl &",
+   "referenced_type" : "_ZTIKN7android16SortedVectorImplE",
+   "self_type" : "_ZTIRKN7android16SortedVectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android28sysprop_change_callback_infoE",
+   "name" : "const android::sysprop_change_callback_info &",
+   "referenced_type" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIRKN7android28sysprop_change_callback_infoE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android2spINS_14LooperCallbackEEE",
+   "name" : "const android::sp<android::LooperCallback> &",
+   "referenced_type" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIRKN7android2spINS_14LooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android2spINS_14MessageHandlerEEE",
+   "name" : "const android::sp<android::MessageHandler> &",
+   "referenced_type" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIRKN7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "const android::sp<android::SimpleLooperCallback> &",
+   "referenced_type" : "_ZTIKN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIRKN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android2spINS_6LooperEEE",
+   "name" : "const android::sp<android::Looper> &",
+   "referenced_type" : "_ZTIKN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIRKN7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android2spINS_6ThreadEEE",
+   "name" : "const android::sp<android::Thread> &",
+   "referenced_type" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIRKN7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE",
+   "name" : "const android::wp<android::MessageHandler> &",
+   "referenced_type" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIRKN7android2wpINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android6Looper15MessageEnvelopeE",
+   "name" : "const android::Looper::MessageEnvelope &",
+   "referenced_type" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIRKN7android6Looper15MessageEnvelopeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android6Looper8ResponseE",
+   "name" : "const android::Looper::Response &",
+   "referenced_type" : "_ZTIKN7android6Looper8ResponseE",
+   "self_type" : "_ZTIRKN7android6Looper8ResponseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "const android::Vector<android::sysprop_change_callback_info> &",
+   "referenced_type" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIRKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android7MessageE",
+   "name" : "const android::Message &",
+   "referenced_type" : "_ZTIKN7android7MessageE",
+   "self_type" : "_ZTIRKN7android7MessageE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android7String8E",
+   "name" : "const android::String8 &",
+   "referenced_type" : "_ZTIKN7android7String8E",
+   "self_type" : "_ZTIRKN7android7String8E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android8String1610StaticDataILj1EEE",
+   "name" : "const android::String16::StaticData<1> &",
+   "referenced_type" : "_ZTIKN7android8String1610StaticDataILj1EEE",
+   "self_type" : "_ZTIRKN7android8String1610StaticDataILj1EEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKN7android8String16E",
+   "name" : "const android::String16 &",
+   "referenced_type" : "_ZTIKN7android8String16E",
+   "self_type" : "_ZTIRKN7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKa",
+   "name" : "const signed char &",
+   "referenced_type" : "_ZTIKa",
+   "self_type" : "_ZTIRKa",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKb",
+   "name" : "const bool &",
+   "referenced_type" : "_ZTIKb",
+   "self_type" : "_ZTIRKb",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKd",
+   "name" : "const double &",
+   "referenced_type" : "_ZTIKd",
+   "self_type" : "_ZTIRKd",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKf",
+   "name" : "const float &",
+   "referenced_type" : "_ZTIKf",
+   "self_type" : "_ZTIRKf",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKh",
+   "name" : "const unsigned char &",
+   "referenced_type" : "_ZTIKh",
+   "self_type" : "_ZTIRKh",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKi",
+   "name" : "const int &",
+   "referenced_type" : "_ZTIKi",
+   "self_type" : "_ZTIRKi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKj",
+   "name" : "const unsigned int &",
+   "referenced_type" : "_ZTIKj",
+   "self_type" : "_ZTIRKj",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKs",
+   "name" : "const short &",
+   "referenced_type" : "_ZTIKs",
+   "self_type" : "_ZTIRKs",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKt",
+   "name" : "const unsigned short &",
+   "referenced_type" : "_ZTIKt",
+   "self_type" : "_ZTIRKt",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKx",
+   "name" : "const long long &",
+   "referenced_type" : "_ZTIKx",
+   "self_type" : "_ZTIRKx",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRKy",
+   "name" : "const unsigned long long &",
+   "referenced_type" : "_ZTIKy",
+   "self_type" : "_ZTIRKy",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android10VectorImplE",
+   "name" : "android::VectorImpl &",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIRN7android10VectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android16SortedVectorImplE",
+   "name" : "android::SortedVectorImpl &",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIRN7android16SortedVectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android2spINS_14LooperCallbackEEE",
+   "name" : "android::sp<android::LooperCallback> &",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIRN7android2spINS_14LooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler> &",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIRN7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback> &",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIRN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper> &",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIRN7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread> &",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIRN7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android5MutexE",
+   "name" : "android::Mutex &",
+   "referenced_type" : "_ZTIN7android5MutexE",
+   "self_type" : "_ZTIRN7android5MutexE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android6Looper8ResponseE",
+   "name" : "android::Looper::Response &",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIRN7android6Looper8ResponseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android6RWLockE",
+   "name" : "android::RWLock &",
+   "referenced_type" : "_ZTIN7android6RWLockE",
+   "self_type" : "_ZTIRN7android6RWLockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::Vector<android::sysprop_change_callback_info> &",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIRN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android7FileMapE",
+   "name" : "android::FileMap &",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIRN7android7FileMapE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android7PrinterE",
+   "name" : "android::Printer &",
+   "referenced_type" : "_ZTIN7android7PrinterE",
+   "self_type" : "_ZTIRN7android7PrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android7String8E",
+   "name" : "android::String8 &",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIRN7android7String8E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRN7android8String16E",
+   "name" : "android::String16 &",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIRN7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRP13native_handle",
+   "name" : "native_handle *&",
+   "referenced_type" : "_ZTIP13native_handle",
+   "self_type" : "_ZTIRP13native_handle",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRPFiiiPvE",
+   "name" : "int (*&)(int, int, void *)",
+   "referenced_type" : "_ZTIPFiiiPvE",
+   "self_type" : "_ZTIRPFiiiPvE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIRb",
+   "name" : "bool &",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIRb",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  }
+ ],
+ "pointer_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIP13native_handle",
+   "name" : "native_handle *",
+   "referenced_type" : "_ZTI13native_handle",
+   "self_type" : "_ZTIP13native_handle",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIP18android_flex_plane",
+   "name" : "android_flex_plane *",
+   "referenced_type" : "_ZTI18android_flex_plane",
+   "self_type" : "_ZTIP18android_flex_plane",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIP3DIR",
+   "name" : "DIR *",
+   "referenced_type" : "_ZTI3DIR",
+   "self_type" : "_ZTIP3DIR",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIP7__sFILE",
+   "name" : "__sFILE *",
+   "referenced_type" : "_ZTI7__sFILE",
+   "self_type" : "_ZTIP7__sFILE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIP7log_msg",
+   "name" : "log_msg *",
+   "referenced_type" : "_ZTI7log_msg",
+   "self_type" : "_ZTIP7log_msg",
+   "size" : 4,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPDs",
+   "name" : "char16_t *",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIPDs",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPFiPFiPvES_PKcijPS_E",
+   "name" : "int (*)(int (*)(void *), void *, const char *, int, unsigned int, void **)",
+   "referenced_type" : "_ZTIFiPFiPvES_PKcijPS_E",
+   "self_type" : "_ZTIPFiPFiPvES_PKcijPS_E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPFiPKvS0_E",
+   "name" : "int (*)(const void *, const void *)",
+   "referenced_type" : "_ZTIFiPKvS0_E",
+   "self_type" : "_ZTIPFiPKvS0_E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPFiPKvS0_PvE",
+   "name" : "int (*)(const void *, const void *, void *)",
+   "referenced_type" : "_ZTIFiPKvS0_PvE",
+   "self_type" : "_ZTIPFiPKvS0_PvE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPFiPvE",
+   "name" : "int (*)(void *)",
+   "referenced_type" : "_ZTIFiPvE",
+   "self_type" : "_ZTIPFiPvE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPFiiiPvE",
+   "name" : "int (*)(int, int, void *)",
+   "referenced_type" : "_ZTIFiiiPvE",
+   "self_type" : "_ZTIPFiiiPvE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPFvvE",
+   "name" : "void (*)()",
+   "referenced_type" : "_ZTIFvvE",
+   "self_type" : "_ZTIPFvvE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/misc.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPK13native_handle",
+   "name" : "const native_handle *",
+   "referenced_type" : "_ZTIK13native_handle",
+   "self_type" : "_ZTIPK13native_handle",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPK7log_msg",
+   "name" : "const log_msg *",
+   "referenced_type" : "_ZTIK7log_msg",
+   "self_type" : "_ZTIPK7log_msg",
+   "size" : 4,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKDi",
+   "name" : "const char32_t *",
+   "referenced_type" : "_ZTIKDi",
+   "self_type" : "_ZTIPKDi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKDs",
+   "name" : "const char16_t *",
+   "referenced_type" : "_ZTIKDs",
+   "self_type" : "_ZTIPKDs",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android10VectorImplE",
+   "name" : "const android::VectorImpl *",
+   "referenced_type" : "_ZTIKN7android10VectorImplE",
+   "self_type" : "_ZTIPKN7android10VectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "const android::LightRefBase<android::NativeHandle> *",
+   "referenced_type" : "_ZTIKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIPKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android12NativeHandleE",
+   "name" : "const android::NativeHandle *",
+   "referenced_type" : "_ZTIKN7android12NativeHandleE",
+   "self_type" : "_ZTIPKN7android12NativeHandleE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android16SortedVectorImplE",
+   "name" : "const android::SortedVectorImpl *",
+   "referenced_type" : "_ZTIKN7android16SortedVectorImplE",
+   "self_type" : "_ZTIPKN7android16SortedVectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android28sysprop_change_callback_infoE",
+   "name" : "const android::sysprop_change_callback_info *",
+   "referenced_type" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIPKN7android28sysprop_change_callback_infoE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android2spINS_14LooperCallbackEEE",
+   "name" : "const android::sp<android::LooperCallback> *",
+   "referenced_type" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIPKN7android2spINS_14LooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android2spINS_14MessageHandlerEEE",
+   "name" : "const android::sp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPKN7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android2spINS_6LooperEEE",
+   "name" : "const android::sp<android::Looper> *",
+   "referenced_type" : "_ZTIKN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIPKN7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android2spINS_6ThreadEEE",
+   "name" : "const android::sp<android::Thread> *",
+   "referenced_type" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIPKN7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android2wpINS_14MessageHandlerEEE",
+   "name" : "const android::wp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPKN7android2wpINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android2wpINS_6ThreadEEE",
+   "name" : "const android::wp<android::Thread> *",
+   "referenced_type" : "_ZTIKN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIPKN7android2wpINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android4base11borrowed_fdE",
+   "name" : "const android::base::borrowed_fd *",
+   "referenced_type" : "_ZTIKN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIPKN7android4base11borrowed_fdE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "const android::base::unique_fd_impl<android::base::DefaultCloser> *",
+   "referenced_type" : "_ZTIKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIPKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6Looper15MessageEnvelopeE",
+   "name" : "const android::Looper::MessageEnvelope *",
+   "referenced_type" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIPKN7android6Looper15MessageEnvelopeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6Looper7RequestE",
+   "name" : "const android::Looper::Request *",
+   "referenced_type" : "_ZTIKN7android6Looper7RequestE",
+   "self_type" : "_ZTIPKN7android6Looper7RequestE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6Looper8ResponseE",
+   "name" : "const android::Looper::Response *",
+   "referenced_type" : "_ZTIKN7android6Looper8ResponseE",
+   "self_type" : "_ZTIPKN7android6Looper8ResponseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6LooperE",
+   "name" : "const android::Looper *",
+   "referenced_type" : "_ZTIKN7android6LooperE",
+   "self_type" : "_ZTIPKN7android6LooperE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6ThreadE",
+   "name" : "const android::Thread *",
+   "referenced_type" : "_ZTIKN7android6ThreadE",
+   "self_type" : "_ZTIPKN7android6ThreadE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "const android::Vector<android::sysprop_change_callback_info> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "const android::Vector<android::Looper::MessageEnvelope> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "const android::Vector<android::Looper::Response> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android6VectorINS_7String8EEE",
+   "name" : "const android::Vector<android::String8> *",
+   "referenced_type" : "_ZTIKN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIPKN7android6VectorINS_7String8EEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android7FileMapE",
+   "name" : "const android::FileMap *",
+   "referenced_type" : "_ZTIKN7android7FileMapE",
+   "self_type" : "_ZTIPKN7android7FileMapE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android7RefBase12weakref_typeE",
+   "name" : "const android::RefBase::weakref_type *",
+   "referenced_type" : "_ZTIKN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIPKN7android7RefBase12weakref_typeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android7RefBaseE",
+   "name" : "const android::RefBase *",
+   "referenced_type" : "_ZTIKN7android7RefBaseE",
+   "self_type" : "_ZTIPKN7android7RefBaseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android7String8E",
+   "name" : "const android::String8 *",
+   "referenced_type" : "_ZTIKN7android7String8E",
+   "self_type" : "_ZTIPKN7android7String8E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android8String16E",
+   "name" : "const android::String16 *",
+   "referenced_type" : "_ZTIKN7android8String16E",
+   "self_type" : "_ZTIPKN7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android9CallStackE",
+   "name" : "const android::CallStack *",
+   "referenced_type" : "_ZTIKN7android9CallStackE",
+   "self_type" : "_ZTIPKN7android9CallStackE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android9StopWatchE",
+   "name" : "const android::StopWatch *",
+   "referenced_type" : "_ZTIKN7android9StopWatchE",
+   "self_type" : "_ZTIPKN7android9StopWatchE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKN7android9TokenizerE",
+   "name" : "const android::Tokenizer *",
+   "referenced_type" : "_ZTIKN7android9TokenizerE",
+   "self_type" : "_ZTIPKN7android9TokenizerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKc",
+   "name" : "const char *",
+   "referenced_type" : "_ZTIKc",
+   "self_type" : "_ZTIPKc",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKh",
+   "name" : "const unsigned char *",
+   "referenced_type" : "_ZTIKh",
+   "self_type" : "_ZTIPKh",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKt",
+   "name" : "const unsigned short *",
+   "referenced_type" : "_ZTIKt",
+   "self_type" : "_ZTIPKt",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/JenkinsHash.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPKv",
+   "name" : "const void *",
+   "referenced_type" : "_ZTIKv",
+   "self_type" : "_ZTIPKv",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android10LogPrinterE",
+   "name" : "android::LogPrinter *",
+   "referenced_type" : "_ZTIN7android10LogPrinterE",
+   "self_type" : "_ZTIPN7android10LogPrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android10VectorImplE",
+   "name" : "android::VectorImpl *",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIPN7android10VectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android11ScopedTraceE",
+   "name" : "android::ScopedTrace *",
+   "referenced_type" : "_ZTIN7android11ScopedTraceE",
+   "self_type" : "_ZTIPN7android11ScopedTraceE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Trace.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "android::LightRefBase<android::NativeHandle> *",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIPN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android12NativeHandleE",
+   "name" : "android::NativeHandle *",
+   "referenced_type" : "_ZTIN7android12NativeHandleE",
+   "self_type" : "_ZTIPN7android12NativeHandleE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android13PrefixPrinterE",
+   "name" : "android::PrefixPrinter *",
+   "referenced_type" : "_ZTIN7android13PrefixPrinterE",
+   "self_type" : "_ZTIPN7android13PrefixPrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android14LooperCallbackE",
+   "name" : "android::LooperCallback *",
+   "referenced_type" : "_ZTIN7android14LooperCallbackE",
+   "self_type" : "_ZTIPN7android14LooperCallbackE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android14MessageHandlerE",
+   "name" : "android::MessageHandler *",
+   "referenced_type" : "_ZTIN7android14MessageHandlerE",
+   "self_type" : "_ZTIPN7android14MessageHandlerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android14StaticString16ILj1EEE",
+   "name" : "android::StaticString16<1> *",
+   "referenced_type" : "_ZTIN7android14StaticString16ILj1EEE",
+   "self_type" : "_ZTIPN7android14StaticString16ILj1EEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android14String8PrinterE",
+   "name" : "android::String8Printer *",
+   "referenced_type" : "_ZTIN7android14String8PrinterE",
+   "self_type" : "_ZTIPN7android14String8PrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android16ReferenceRenamerE",
+   "name" : "android::ReferenceRenamer *",
+   "referenced_type" : "_ZTIN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIPN7android16ReferenceRenamerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android16SortedVectorImplE",
+   "name" : "android::SortedVectorImpl *",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIPN7android16SortedVectorImplE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android18WeakMessageHandlerE",
+   "name" : "android::WeakMessageHandler *",
+   "referenced_type" : "_ZTIN7android18WeakMessageHandlerE",
+   "self_type" : "_ZTIPN7android18WeakMessageHandlerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android19VirtualLightRefBaseE",
+   "name" : "android::VirtualLightRefBase *",
+   "referenced_type" : "_ZTIN7android19VirtualLightRefBaseE",
+   "self_type" : "_ZTIPN7android19VirtualLightRefBaseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android20SimpleLooperCallbackE",
+   "name" : "android::SimpleLooperCallback *",
+   "referenced_type" : "_ZTIN7android20SimpleLooperCallbackE",
+   "self_type" : "_ZTIPN7android20SimpleLooperCallbackE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android28sysprop_change_callback_infoE",
+   "name" : "android::sysprop_change_callback_info *",
+   "referenced_type" : "_ZTIN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIPN7android28sysprop_change_callback_infoE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2spINS_12NativeHandleEEE",
+   "name" : "android::sp<android::NativeHandle> *",
+   "referenced_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "self_type" : "_ZTIPN7android2spINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2spINS_14LooperCallbackEEE",
+   "name" : "android::sp<android::LooperCallback> *",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIPN7android2spINS_14LooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPN7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback> *",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIPN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper> *",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIPN7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread> *",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIPN7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2wpINS_14MessageHandlerEEE",
+   "name" : "android::wp<android::MessageHandler> *",
+   "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIPN7android2wpINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android2wpINS_6ThreadEEE",
+   "name" : "android::wp<android::Thread> *",
+   "referenced_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIPN7android2wpINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android4base11borrowed_fdE",
+   "name" : "android::base::borrowed_fd *",
+   "referenced_type" : "_ZTIN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIPN7android4base11borrowed_fdE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "android::base::unique_fd_impl<android::base::DefaultCloser> *",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIPN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android5Mutex8AutolockE",
+   "name" : "android::Mutex::Autolock *",
+   "referenced_type" : "_ZTIN7android5Mutex8AutolockE",
+   "self_type" : "_ZTIPN7android5Mutex8AutolockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android5MutexE",
+   "name" : "android::Mutex *",
+   "referenced_type" : "_ZTIN7android5MutexE",
+   "self_type" : "_ZTIPN7android5MutexE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6Looper15MessageEnvelopeE",
+   "name" : "android::Looper::MessageEnvelope *",
+   "referenced_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIPN7android6Looper15MessageEnvelopeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6Looper8ResponseE",
+   "name" : "android::Looper::Response *",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIPN7android6Looper8ResponseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6LooperE",
+   "name" : "android::Looper *",
+   "referenced_type" : "_ZTIN7android6LooperE",
+   "self_type" : "_ZTIPN7android6LooperE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6RWLock9AutoRLockE",
+   "name" : "android::RWLock::AutoRLock *",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoRLockE",
+   "self_type" : "_ZTIPN7android6RWLock9AutoRLockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6RWLock9AutoWLockE",
+   "name" : "android::RWLock::AutoWLock *",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoWLockE",
+   "self_type" : "_ZTIPN7android6RWLock9AutoWLockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6RWLockE",
+   "name" : "android::RWLock *",
+   "referenced_type" : "_ZTIN7android6RWLockE",
+   "self_type" : "_ZTIPN7android6RWLockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6ThreadE",
+   "name" : "android::Thread *",
+   "referenced_type" : "_ZTIN7android6ThreadE",
+   "self_type" : "_ZTIPN7android6ThreadE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::Vector<android::sysprop_change_callback_info> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIPN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::Vector<android::Looper::MessageEnvelope> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIPN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "android::Vector<android::Looper::Response> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIPN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android6VectorINS_7String8EEE",
+   "name" : "android::Vector<android::String8> *",
+   "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIPN7android6VectorINS_7String8EEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7FileMapE",
+   "name" : "android::FileMap *",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIPN7android7FileMapE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7MessageE",
+   "name" : "android::Message *",
+   "referenced_type" : "_ZTIN7android7MessageE",
+   "self_type" : "_ZTIPN7android7MessageE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7PrinterE",
+   "name" : "android::Printer *",
+   "referenced_type" : "_ZTIN7android7PrinterE",
+   "self_type" : "_ZTIPN7android7PrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7RefBase12weakref_implE",
+   "name" : "android::RefBase::weakref_impl *",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_implE",
+   "self_type" : "_ZTIPN7android7RefBase12weakref_implE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "name" : "android::RefBase::weakref_type *",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIPN7android7RefBase12weakref_typeE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7RefBaseE",
+   "name" : "android::RefBase *",
+   "referenced_type" : "_ZTIN7android7RefBaseE",
+   "self_type" : "_ZTIPN7android7RefBaseE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android7String8E",
+   "name" : "android::String8 *",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIPN7android7String8E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android8String1610StaticDataILj1EEE",
+   "name" : "android::String16::StaticData<1> *",
+   "referenced_type" : "_ZTIN7android8String1610StaticDataILj1EEE",
+   "self_type" : "_ZTIPN7android8String1610StaticDataILj1EEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android8String16E",
+   "name" : "android::String16 *",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIPN7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android9CallStack12StackDeleterE",
+   "name" : "android::CallStack::StackDeleter *",
+   "referenced_type" : "_ZTIN7android9CallStack12StackDeleterE",
+   "self_type" : "_ZTIPN7android9CallStack12StackDeleterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android9CallStackE",
+   "name" : "android::CallStack *",
+   "referenced_type" : "_ZTIN7android9CallStackE",
+   "self_type" : "_ZTIPN7android9CallStackE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android9ConditionE",
+   "name" : "android::Condition *",
+   "referenced_type" : "_ZTIN7android9ConditionE",
+   "self_type" : "_ZTIPN7android9ConditionE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Condition.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android9FdPrinterE",
+   "name" : "android::FdPrinter *",
+   "referenced_type" : "_ZTIN7android9FdPrinterE",
+   "self_type" : "_ZTIPN7android9FdPrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android9StopWatchE",
+   "name" : "android::StopWatch *",
+   "referenced_type" : "_ZTIN7android9StopWatchE",
+   "self_type" : "_ZTIPN7android9StopWatchE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPN7android9TokenizerE",
+   "name" : "android::Tokenizer *",
+   "referenced_type" : "_ZTIN7android9TokenizerE",
+   "self_type" : "_ZTIPN7android9TokenizerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPPN7android9TokenizerE",
+   "name" : "android::Tokenizer **",
+   "referenced_type" : "_ZTIPN7android9TokenizerE",
+   "self_type" : "_ZTIPPN7android9TokenizerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPPv",
+   "name" : "void **",
+   "referenced_type" : "_ZTIPv",
+   "self_type" : "_ZTIPPv",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/AndroidThreads.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPc",
+   "name" : "char *",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIPc",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPh",
+   "name" : "unsigned char *",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIPh",
+   "size" : 4,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPi",
+   "name" : "int *",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIPi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPj",
+   "name" : "unsigned int *",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIPj",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Unicode.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIPv",
+   "name" : "void *",
+   "referenced_type" : "_ZTIv",
+   "self_type" : "_ZTIPv",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  }
+ ],
+ "qualified_types" :
+ [
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIA1_KDs",
+   "name" : "const char16_t[1]",
+   "referenced_type" : "_ZTIA1_Ds",
+   "self_type" : "_ZTIA1_KDs",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIK13native_handle",
+   "name" : "const native_handle",
+   "referenced_type" : "_ZTI13native_handle",
+   "self_type" : "_ZTIK13native_handle",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIK7log_msg",
+   "name" : "const log_msg",
+   "referenced_type" : "_ZTI7log_msg",
+   "self_type" : "_ZTIK7log_msg",
+   "size" : 5124,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKDi",
+   "name" : "const char32_t",
+   "referenced_type" : "_ZTIDi",
+   "self_type" : "_ZTIKDi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKDs",
+   "name" : "const char16_t",
+   "referenced_type" : "_ZTIDs",
+   "self_type" : "_ZTIKDs",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android10VectorImplE",
+   "name" : "const android::VectorImpl",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIKN7android10VectorImplE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "const android::LightRefBase<android::NativeHandle>",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIKN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android12NativeHandleE",
+   "name" : "const android::NativeHandle",
+   "referenced_type" : "_ZTIN7android12NativeHandleE",
+   "self_type" : "_ZTIKN7android12NativeHandleE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android16ReferenceRenamerE",
+   "name" : "const android::ReferenceRenamer",
+   "referenced_type" : "_ZTIN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIKN7android16ReferenceRenamerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android16SortedVectorImplE",
+   "name" : "const android::SortedVectorImpl",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIKN7android16SortedVectorImplE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "name" : "const android::sysprop_change_callback_info",
+   "referenced_type" : "_ZTIN7android28sysprop_change_callback_infoE",
+   "self_type" : "_ZTIKN7android28sysprop_change_callback_infoE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "name" : "const android::sp<android::LooperCallback>",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIKN7android2spINS_14LooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "name" : "const android::sp<android::MessageHandler>",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIKN7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "const android::sp<android::SimpleLooperCallback>",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIKN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_6LooperEEE",
+   "name" : "const android::sp<android::Looper>",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIKN7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "name" : "const android::sp<android::Thread>",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIKN7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "name" : "const android::wp<android::MessageHandler>",
+   "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIKN7android2wpINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android2wpINS_6ThreadEEE",
+   "name" : "const android::wp<android::Thread>",
+   "referenced_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIKN7android2wpINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android4base11borrowed_fdE",
+   "name" : "const android::base::borrowed_fd",
+   "referenced_type" : "_ZTIN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIKN7android4base11borrowed_fdE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "const android::base::unique_fd_impl<android::base::DefaultCloser>",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIKN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "name" : "const android::Looper::MessageEnvelope",
+   "referenced_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIKN7android6Looper15MessageEnvelopeE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6Looper7RequestE",
+   "name" : "const android::Looper::Request",
+   "referenced_type" : "_ZTIN7android6Looper7RequestE",
+   "self_type" : "_ZTIKN7android6Looper7RequestE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6Looper8ResponseE",
+   "name" : "const android::Looper::Response",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIKN7android6Looper8ResponseE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6LooperE",
+   "name" : "const android::Looper",
+   "referenced_type" : "_ZTIN7android6LooperE",
+   "self_type" : "_ZTIKN7android6LooperE",
+   "size" : 136,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6ThreadE",
+   "name" : "const android::Thread",
+   "referenced_type" : "_ZTIN7android6ThreadE",
+   "self_type" : "_ZTIKN7android6ThreadE",
+   "size" : 44,
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "const android::Vector<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIKN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "const android::Vector<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIKN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "const android::Vector<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIKN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android6VectorINS_7String8EEE",
+   "name" : "const android::Vector<android::String8>",
+   "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIKN7android6VectorINS_7String8EEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7FileMapE",
+   "name" : "const android::FileMap",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIKN7android7FileMapE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7MessageE",
+   "name" : "const android::Message",
+   "referenced_type" : "_ZTIN7android7MessageE",
+   "self_type" : "_ZTIKN7android7MessageE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7RefBase12weakref_typeE",
+   "name" : "const android::RefBase::weakref_type",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIKN7android7RefBase12weakref_typeE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7RefBaseE",
+   "name" : "const android::RefBase",
+   "referenced_type" : "_ZTIN7android7RefBaseE",
+   "self_type" : "_ZTIKN7android7RefBaseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android7String8E",
+   "name" : "const android::String8",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIKN7android7String8E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android8String1610StaticDataILj1EEE",
+   "name" : "const android::String16::StaticData<1>",
+   "referenced_type" : "_ZTIN7android8String1610StaticDataILj1EEE",
+   "self_type" : "_ZTIKN7android8String1610StaticDataILj1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android8String16E",
+   "name" : "const android::String16",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIKN7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android9CallStackE",
+   "name" : "const android::CallStack",
+   "referenced_type" : "_ZTIN7android9CallStackE",
+   "self_type" : "_ZTIKN7android9CallStackE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android9StopWatchE",
+   "name" : "const android::StopWatch",
+   "referenced_type" : "_ZTIN7android9StopWatchE",
+   "self_type" : "_ZTIKN7android9StopWatchE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKN7android9TokenizerE",
+   "name" : "const android::Tokenizer",
+   "referenced_type" : "_ZTIN7android9TokenizerE",
+   "self_type" : "_ZTIKN7android9TokenizerE",
+   "size" : 28,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKPKc",
+   "name" : "const char *const",
+   "referenced_type" : "_ZTIPKc",
+   "self_type" : "_ZTIKPKc",
+   "size" : 4,
+   "source_file" : "system/core/libprocessgroup/include/processgroup/processgroup.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKPN7android7RefBase12weakref_implE",
+   "name" : "android::RefBase::weakref_impl *const",
+   "referenced_type" : "_ZTIPN7android7RefBase12weakref_implE",
+   "self_type" : "_ZTIKPN7android7RefBase12weakref_implE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKa",
+   "name" : "const signed char",
+   "referenced_type" : "_ZTIa",
+   "self_type" : "_ZTIKa",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKb",
+   "name" : "const bool",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIKb",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKc",
+   "name" : "const char",
+   "referenced_type" : "_ZTIc",
+   "self_type" : "_ZTIKc",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKd",
+   "name" : "const double",
+   "referenced_type" : "_ZTId",
+   "self_type" : "_ZTIKd",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKf",
+   "name" : "const float",
+   "referenced_type" : "_ZTIf",
+   "self_type" : "_ZTIKf",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKh",
+   "name" : "const unsigned char",
+   "referenced_type" : "_ZTIh",
+   "self_type" : "_ZTIKh",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKi",
+   "name" : "const int",
+   "referenced_type" : "_ZTIi",
+   "self_type" : "_ZTIKi",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 4,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKj",
+   "name" : "const unsigned int",
+   "referenced_type" : "_ZTIj",
+   "self_type" : "_ZTIKj",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKs",
+   "name" : "const short",
+   "referenced_type" : "_ZTIs",
+   "self_type" : "_ZTIKs",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 2,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKt",
+   "name" : "const unsigned short",
+   "referenced_type" : "_ZTIt",
+   "self_type" : "_ZTIKt",
+   "size" : 2,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKv",
+   "name" : "const void",
+   "referenced_type" : "_ZTIv",
+   "self_type" : "_ZTIKv",
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKx",
+   "name" : "const long long",
+   "referenced_type" : "_ZTIx",
+   "self_type" : "_ZTIKx",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 8,
+   "is_const" : true,
+   "linker_set_key" : "_ZTIKy",
+   "name" : "const unsigned long long",
+   "referenced_type" : "_ZTIy",
+   "self_type" : "_ZTIKy",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h"
+  },
+  {
+   "alignment" : 1,
+   "is_volatile" : true,
+   "linker_set_key" : "_ZTIVb",
+   "name" : "volatile bool",
+   "referenced_type" : "_ZTIb",
+   "self_type" : "_ZTIVb",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/Thread.h"
+  }
+ ],
+ "record_types" :
+ [
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "len",
+     "referenced_type" : "_ZTIt"
+    },
+    {
+     "field_name" : "hdr_size",
+     "field_offset" : 16,
+     "referenced_type" : "_ZTIt"
+    },
+    {
+     "field_name" : "pid",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "tid",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "sec",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "nsec",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "lid",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "uid",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "linker_set_key" : "_ZTI12logger_entry",
+   "name" : "logger_entry",
+   "referenced_type" : "_ZTI12logger_entry",
+   "self_type" : "_ZTI12logger_entry",
+   "size" : 28,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "y",
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "field_name" : "cb",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "field_name" : "cr",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "field_name" : "ystride",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "cstride",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "chroma_step",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "reserved",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIA8_j"
+    }
+   ],
+   "linker_set_key" : "_ZTI13android_ycbcr",
+   "name" : "android_ycbcr",
+   "referenced_type" : "_ZTI13android_ycbcr",
+   "self_type" : "_ZTI13android_ycbcr",
+   "size" : 56,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "version",
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "numFds",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "numInts",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "data",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIA0_i"
+    }
+   ],
+   "linker_set_key" : "_ZTI13native_handle",
+   "name" : "native_handle",
+   "referenced_type" : "_ZTI13native_handle",
+   "self_type" : "_ZTI13native_handle",
+   "size" : 12,
+   "source_file" : "system/core/libcutils/include_outside_system/cutils/native_handle.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "x",
+     "referenced_type" : "_ZTIf"
+    },
+    {
+     "field_name" : "y",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIf"
+    }
+   ],
+   "linker_set_key" : "_ZTI16android_xy_color",
+   "name" : "android_xy_color",
+   "referenced_type" : "_ZTI16android_xy_color",
+   "self_type" : "_ZTI16android_xy_color",
+   "size" : 8,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "top_left",
+     "referenced_type" : "_ZTIPh"
+    },
+    {
+     "field_name" : "component",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTI22android_flex_component"
+    },
+    {
+     "field_name" : "bits_per_component",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "bits_used",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "h_increment",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "v_increment",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "h_subsampling",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "v_subsampling",
+     "field_offset" : 224,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTI18android_flex_plane",
+   "name" : "android_flex_plane",
+   "referenced_type" : "_ZTI18android_flex_plane",
+   "self_type" : "_ZTI18android_flex_plane",
+   "size" : 32,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "format",
+     "referenced_type" : "_ZTI19android_flex_format"
+    },
+    {
+     "field_name" : "num_planes",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "planes",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIP18android_flex_plane"
+    }
+   ],
+   "linker_set_key" : "_ZTI19android_flex_layout",
+   "name" : "android_flex_layout",
+   "referenced_type" : "_ZTI19android_flex_layout",
+   "self_type" : "_ZTI19android_flex_layout",
+   "size" : 12,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "num_points",
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "reserved",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIA8_j"
+    },
+    {
+     "field_name" : "xyzc_points",
+     "field_offset" : 288,
+     "referenced_type" : "_ZTIA_f"
+    }
+   ],
+   "linker_set_key" : "_ZTI20android_depth_points",
+   "name" : "android_depth_points",
+   "referenced_type" : "_ZTI20android_depth_points",
+   "self_type" : "_ZTI20android_depth_points",
+   "size" : 36,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "struct_size",
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "buffer_id",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "priority",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "tag",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "field_name" : "file",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "field_name" : "line",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "message",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTI21__android_log_message",
+   "name" : "__android_log_message",
+   "referenced_type" : "_ZTI21__android_log_message",
+   "self_type" : "_ZTI21__android_log_message",
+   "size" : 28,
+   "source_file" : "system/logging/liblog/include_vndk/android/log.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "maxContentLightLevel",
+     "referenced_type" : "_ZTIf"
+    },
+    {
+     "field_name" : "maxFrameAverageLightLevel",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIf"
+    }
+   ],
+   "linker_set_key" : "_ZTI25android_cta861_3_metadata",
+   "name" : "android_cta861_3_metadata",
+   "referenced_type" : "_ZTI25android_cta861_3_metadata",
+   "self_type" : "_ZTI25android_cta861_3_metadata",
+   "size" : 8,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "displayPrimaryRed",
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "displayPrimaryGreen",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "displayPrimaryBlue",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "whitePoint",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTI16android_xy_color"
+    },
+    {
+     "field_name" : "maxLuminance",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIf"
+    },
+    {
+     "field_name" : "minLuminance",
+     "field_offset" : 288,
+     "referenced_type" : "_ZTIf"
+    }
+   ],
+   "linker_set_key" : "_ZTI26android_smpte2086_metadata",
+   "name" : "android_smpte2086_metadata",
+   "referenced_type" : "_ZTI26android_smpte2086_metadata",
+   "self_type" : "_ZTI26android_smpte2086_metadata",
+   "size" : 40,
+   "source_file" : "system/core/libsystem/include/system/graphics.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "referenced_type" : "_ZTIN7log_msgUt_E"
+    }
+   ],
+   "linker_set_key" : "_ZTI7log_msg",
+   "name" : "log_msg",
+   "referenced_type" : "_ZTI7log_msg",
+   "self_type" : "_ZTI7log_msg",
+   "size" : 5124,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  },
+  {
+   "alignment" : 1,
+   "fields" :
+   [
+    {
+     "field_name" : "tv_sec",
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "field_name" : "tv_nsec",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "linker_set_key" : "_ZTI8log_time",
+   "name" : "log_time",
+   "referenced_type" : "_ZTI8log_time",
+   "self_type" : "_ZTI8log_time",
+   "size" : 8,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_time.h"
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLogTag",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPriority",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTI19android_LogPriority"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mIgnoreBlankLines",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android10LogPrinterE",
+   "name" : "android::LogPrinter",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android10LogPrinterE",
+   "self_type" : "_ZTIN7android10LogPrinterE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android10LogPrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android10LogPrinter9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10LogPrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10LogPrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mStorage",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mCount",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mFlags",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIKj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mItemSize",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIKj"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android10VectorImplE",
+   "name" : "android::VectorImpl",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android10VectorImplE",
+   "self_type" : "_ZTIN7android10VectorImplE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android10VectorImplE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10VectorImplD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android10VectorImplD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl12do_constructEPvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl10do_destroyEPvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl7do_copyEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl8do_splatEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl15do_move_forwardEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl16do_move_backwardEPvPKvj"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mTag",
+     "referenced_type" : "_ZTIy"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android11ScopedTraceE",
+   "name" : "android::ScopedTrace",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android11ScopedTraceE",
+   "self_type" : "_ZTIN7android11ScopedTraceE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/Trace.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCount",
+     "referenced_type" : "_ZTINSt3__16atomicIiEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "name" : "android::LightRefBase<android::NativeHandle>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "self_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android12NativeHandleE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCount",
+     "referenced_type" : "_ZTINSt3__16atomicIiEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE",
+   "name" : "android::LightRefBase<android::VirtualLightRefBase>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE",
+   "self_type" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android19VirtualLightRefBaseE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android12LightRefBaseINS_12NativeHandleEEE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mHandle",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIP13native_handle"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mOwnsHandle",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIb"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android12NativeHandleE",
+   "name" : "android::NativeHandle",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android12NativeHandleE",
+   "self_type" : "_ZTIN7android12NativeHandleE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/NativeHandle.h"
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mPrinter",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIRN7android7PrinterE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android13PrefixPrinterE",
+   "name" : "android::PrefixPrinter",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android13PrefixPrinterE",
+   "self_type" : "_ZTIN7android13PrefixPrinterE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android13PrefixPrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android13PrefixPrinter9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android13PrefixPrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android13PrefixPrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_pointer<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_pointer<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEEE",
+   "name" : "android::trait_pointer<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android13trait_pointerINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "is_virtual" : true,
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14LooperCallbackE",
+   "name" : "android::LooperCallback",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14LooperCallbackE",
+   "self_type" : "_ZTIN7android14LooperCallbackE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 4,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14LooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14LooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14LooperCallbackD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android14LooperCallback11handleEventEiiPv"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -4,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -4,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14LooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android14LooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android14LooperCallbackD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "is_virtual" : true,
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14MessageHandlerE",
+   "name" : "android::MessageHandler",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14MessageHandlerE",
+   "self_type" : "_ZTIN7android14MessageHandlerE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 4,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14MessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14MessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14MessageHandlerD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android14MessageHandler13handleMessageERKNS_7MessageE"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -4,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -4,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14MessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android14MessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android14MessageHandlerD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android14ReferenceMoverE",
+   "name" : "android::ReferenceMover",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14ReferenceMoverE",
+   "self_type" : "_ZTIN7android14ReferenceMoverE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android8String16E"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mData",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIKN7android8String1610StaticDataILj1EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14StaticString16ILj1EEE",
+   "name" : "android::StaticString16<1>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14StaticString16ILj1EEE",
+   "self_type" : "_ZTIN7android14StaticString16ILj1EEE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mTarget",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPN7android7String8E"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android14String8PrinterE",
+   "name" : "android::String8Printer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android14String8PrinterE",
+   "self_type" : "_ZTIN7android14String8PrinterE",
+   "size" : 12,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android14String8PrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android14String8Printer9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14String8PrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android14String8PrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIN7android16ReferenceRenamerE",
+   "name" : "android::ReferenceRenamer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android16ReferenceRenamerE",
+   "self_type" : "_ZTIN7android16ReferenceRenamerE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android16ReferenceRenamerE"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android16ReferenceRenamerclEj"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16SortedVectorImplE",
+   "name" : "android::SortedVectorImpl",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android16SortedVectorImplE",
+   "self_type" : "_ZTIN7android16SortedVectorImplE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/VectorImpl.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android16SortedVectorImplE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android16SortedVectorImplD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android16SortedVectorImplD0Ev"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl12do_constructEPvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl10do_destroyEPvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl7do_copyEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl8do_splatEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl15do_move_forwardEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android10VectorImpl16do_move_backwardEPvPKvj"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZNK7android16SortedVectorImpl10do_compareEPKvS2_"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTINSt3__117integral_constantIbLb0EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16use_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::use_trivial_move<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android16use_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android16use_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTINSt3__117integral_constantIbLb0EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16use_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::use_trivial_move<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android16use_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android16use_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTINSt3__117integral_constantIbLb0EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android16use_trivial_moveINS_6Looper8ResponseEEE",
+   "name" : "android::use_trivial_move<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android16use_trivial_moveINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android16use_trivial_moveINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android14MessageHandlerE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mHandler",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android18WeakMessageHandlerE",
+   "name" : "android::WeakMessageHandler",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android18WeakMessageHandlerE",
+   "self_type" : "_ZTIN7android18WeakMessageHandlerE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 12,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android18WeakMessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android18WeakMessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android18WeakMessageHandlerD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android18WeakMessageHandler13handleMessageERKNS_7MessageE"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -12,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -12,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android18WeakMessageHandlerE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android18WeakMessageHandlerD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android18WeakMessageHandlerD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_copy<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_copy<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_copy<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIbEE",
+   "name" : "android::trait_trivial_copy<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIcEE",
+   "name" : "android::trait_trivial_copy<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIdEE",
+   "name" : "android::trait_trivial_copy<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIfEE",
+   "name" : "android::trait_trivial_copy<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIhEE",
+   "name" : "android::trait_trivial_copy<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIiEE",
+   "name" : "android::trait_trivial_copy<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIjEE",
+   "name" : "android::trait_trivial_copy<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIlEE",
+   "name" : "android::trait_trivial_copy<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyImEE",
+   "name" : "android::trait_trivial_copy<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIsEE",
+   "name" : "android::trait_trivial_copy<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyItEE",
+   "name" : "android::trait_trivial_copy<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIvEE",
+   "name" : "android::trait_trivial_copy<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIxEE",
+   "name" : "android::trait_trivial_copy<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_copyIyEE",
+   "name" : "android::trait_trivial_copy<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_copyIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_copyIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_ctor<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_ctor<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_ctor<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIbEE",
+   "name" : "android::trait_trivial_ctor<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIcEE",
+   "name" : "android::trait_trivial_ctor<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIdEE",
+   "name" : "android::trait_trivial_ctor<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIfEE",
+   "name" : "android::trait_trivial_ctor<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIhEE",
+   "name" : "android::trait_trivial_ctor<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIiEE",
+   "name" : "android::trait_trivial_ctor<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIjEE",
+   "name" : "android::trait_trivial_ctor<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIlEE",
+   "name" : "android::trait_trivial_ctor<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorImEE",
+   "name" : "android::trait_trivial_ctor<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIsEE",
+   "name" : "android::trait_trivial_ctor<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorItEE",
+   "name" : "android::trait_trivial_ctor<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIvEE",
+   "name" : "android::trait_trivial_ctor<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIxEE",
+   "name" : "android::trait_trivial_ctor<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_ctorIyEE",
+   "name" : "android::trait_trivial_ctor<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_ctorIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_ctorIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_dtor<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_dtor<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_dtor<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIbEE",
+   "name" : "android::trait_trivial_dtor<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIcEE",
+   "name" : "android::trait_trivial_dtor<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIdEE",
+   "name" : "android::trait_trivial_dtor<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIfEE",
+   "name" : "android::trait_trivial_dtor<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIhEE",
+   "name" : "android::trait_trivial_dtor<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIiEE",
+   "name" : "android::trait_trivial_dtor<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIjEE",
+   "name" : "android::trait_trivial_dtor<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIlEE",
+   "name" : "android::trait_trivial_dtor<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorImEE",
+   "name" : "android::trait_trivial_dtor<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIsEE",
+   "name" : "android::trait_trivial_dtor<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorItEE",
+   "name" : "android::trait_trivial_dtor<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIvEE",
+   "name" : "android::trait_trivial_dtor<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIxEE",
+   "name" : "android::trait_trivial_dtor<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_dtorIyEE",
+   "name" : "android::trait_trivial_dtor<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_dtorIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_dtorIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::trait_trivial_move<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::trait_trivial_move<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEEE",
+   "name" : "android::trait_trivial_move<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_7String8EEE",
+   "name" : "android::trait_trivial_move<android::String8>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_7String8EEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/String8.h",
+   "template_args" :
+   [
+    "_ZTIN7android7String8E"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveINS_8String16EEE",
+   "name" : "android::trait_trivial_move<android::String16>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveINS_8String16EEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/String16.h",
+   "template_args" :
+   [
+    "_ZTIN7android8String16E"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIbEE",
+   "name" : "android::trait_trivial_move<bool>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIbEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIbEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIb"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIcEE",
+   "name" : "android::trait_trivial_move<char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIcEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIcEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIc"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIdEE",
+   "name" : "android::trait_trivial_move<double>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIdEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIdEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTId"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIfEE",
+   "name" : "android::trait_trivial_move<float>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIfEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIfEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIf"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIhEE",
+   "name" : "android::trait_trivial_move<unsigned char>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIhEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIhEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIh"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIiEE",
+   "name" : "android::trait_trivial_move<int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIiEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIiEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIi"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIjEE",
+   "name" : "android::trait_trivial_move<unsigned int>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIjEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIjEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIj"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIlEE",
+   "name" : "android::trait_trivial_move<long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIlEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIlEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIl"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveImEE",
+   "name" : "android::trait_trivial_move<unsigned long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveImEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveImEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIm"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIsEE",
+   "name" : "android::trait_trivial_move<short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIsEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIsEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIs"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveItEE",
+   "name" : "android::trait_trivial_move<unsigned short>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveItEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveItEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIt"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIvEE",
+   "name" : "android::trait_trivial_move<void>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIvEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIvEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIv"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIxEE",
+   "name" : "android::trait_trivial_move<long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIxEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIxEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIx"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android18trait_trivial_moveIyEE",
+   "name" : "android::trait_trivial_move<unsigned long long>",
+   "referenced_type" : "_ZTIN7android18trait_trivial_moveIyEE",
+   "self_type" : "_ZTIN7android18trait_trivial_moveIyEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIy"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android12LightRefBaseINS_19VirtualLightRefBaseEEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android19VirtualLightRefBaseE",
+   "name" : "android::VirtualLightRefBase",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android19VirtualLightRefBaseE",
+   "self_type" : "_ZTIN7android19VirtualLightRefBaseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/LightRefBase.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android19VirtualLightRefBaseE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android19VirtualLightRefBaseD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android19VirtualLightRefBaseD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android14LooperCallbackE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCallback",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPFiiiPvE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android20SimpleLooperCallbackE",
+   "name" : "android::SimpleLooperCallback",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android20SimpleLooperCallbackE",
+   "self_type" : "_ZTIN7android20SimpleLooperCallbackE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 8,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android20SimpleLooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android20SimpleLooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android20SimpleLooperCallbackD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android20SimpleLooperCallback11handleEventEiiPv"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -8,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -8,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android20SimpleLooperCallbackE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android20SimpleLooperCallbackD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android20SimpleLooperCallbackD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android12NativeHandleE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "name" : "android::sp<android::NativeHandle>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "self_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android12NativeHandleE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android14LooperCallbackE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "name" : "android::sp<android::LooperCallback>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "self_type" : "_ZTIN7android2spINS_14LooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android14LooperCallbackE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android14MessageHandlerE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android20SimpleLooperCallbackE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android20SimpleLooperCallbackE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android6LooperE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android6LooperE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h",
+   "template_args" :
+   [
+    "_ZTIN7android6ThreadE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android14MessageHandlerE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "m_refs",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "name" : "android::wp<android::MessageHandler>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "self_type" : "_ZTIN7android2wpINS_14MessageHandlerEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android14MessageHandlerE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "m_ptr",
+     "referenced_type" : "_ZTIPN7android6ThreadE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "m_refs",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPN7android7RefBase12weakref_typeE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "name" : "android::wp<android::Thread>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "self_type" : "_ZTIN7android2wpINS_6ThreadEEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "template_args" :
+   [
+    "_ZTIN7android6ThreadE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "fd_",
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android4base11borrowed_fdE",
+   "name" : "android::base::borrowed_fd",
+   "referenced_type" : "_ZTIN7android4base11borrowed_fdE",
+   "self_type" : "_ZTIN7android4base11borrowed_fdE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android4base13DefaultCloserE",
+   "name" : "android::base::DefaultCloser",
+   "referenced_type" : "_ZTIN7android4base13DefaultCloserE",
+   "self_type" : "_ZTIN7android4base13DefaultCloserE",
+   "size" : 1,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "fd_",
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "android::base::unique_fd_impl<android::base::DefaultCloser>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h",
+   "template_args" :
+   [
+    "_ZTIN7android4base13DefaultCloserE"
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "referenced_type" : "_ZTIRN7android5MutexE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android5Mutex8AutolockE",
+   "name" : "android::Mutex::Autolock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android5Mutex8AutolockE",
+   "self_type" : "_ZTIN7android5Mutex8AutolockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mMutex",
+     "referenced_type" : "_ZTI15pthread_mutex_t"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android5MutexE",
+   "name" : "android::Mutex",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android5MutexE",
+   "self_type" : "_ZTIN7android5MutexE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Mutex.h"
+  },
+  {
+   "access" : "private",
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "uptime",
+     "referenced_type" : "_ZTIx"
+    },
+    {
+     "field_name" : "handler",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE"
+    },
+    {
+     "field_name" : "message",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIN7android7MessageE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "name" : "android::Looper::MessageEnvelope",
+   "referenced_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "self_type" : "_ZTIN7android6Looper15MessageEnvelopeE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "fd",
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "ident",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "events",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "callback",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIN7android2spINS_14LooperCallbackEEE"
+    },
+    {
+     "field_name" : "data",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIPv"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper7RequestE",
+   "name" : "android::Looper::Request",
+   "referenced_type" : "_ZTIN7android6Looper7RequestE",
+   "self_type" : "_ZTIN7android6Looper7RequestE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "access" : "private",
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "field_name" : "seq",
+     "referenced_type" : "_ZTIy"
+    },
+    {
+     "field_name" : "events",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "field_name" : "request",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIN7android6Looper7RequestE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6Looper8ResponseE",
+   "name" : "android::Looper::Response",
+   "referenced_type" : "_ZTIN7android6Looper8ResponseE",
+   "self_type" : "_ZTIN7android6Looper8ResponseE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 8,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mAllowNonCallbacks",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIKb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mWakeEventFd",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIN7android5MutexE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mMessageEnvelopes",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mSendingMessage",
+     "field_offset" : 320,
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPolling",
+     "field_offset" : 328,
+     "referenced_type" : "_ZTIVb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mEpollFd",
+     "field_offset" : 352,
+     "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mEpollRebuildRequired",
+     "field_offset" : 384,
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mRequests",
+     "field_offset" : 416,
+     "referenced_type" : "_ZTINSt3__113unordered_mapIyN7android6Looper7RequestENS_4hashIyEENS_8equal_toIyEENS_9allocatorINS_4pairIKyS3_EEEEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mSequenceNumberByFd",
+     "field_offset" : 576,
+     "referenced_type" : "_ZTINSt3__113unordered_mapIiyNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiyEEEEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mNextRequestSeq",
+     "field_offset" : 768,
+     "referenced_type" : "_ZTIy"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mResponses",
+     "field_offset" : 832,
+     "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mResponseIndex",
+     "field_offset" : 992,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mNextMessageUptime",
+     "field_offset" : 1024,
+     "referenced_type" : "_ZTIx"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6LooperE",
+   "name" : "android::Looper",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6LooperE",
+   "self_type" : "_ZTIN7android6LooperE",
+   "size" : 136,
+   "source_file" : "system/core/libutils/include/utils/Looper.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6LooperE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6LooperD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6LooperD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "referenced_type" : "_ZTIRN7android6RWLockE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLock9AutoRLockE",
+   "name" : "android::RWLock::AutoRLock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoRLockE",
+   "self_type" : "_ZTIN7android6RWLock9AutoRLockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "referenced_type" : "_ZTIRN7android6RWLockE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLock9AutoWLockE",
+   "name" : "android::RWLock::AutoWLock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6RWLock9AutoWLockE",
+   "self_type" : "_ZTIN7android6RWLock9AutoWLockE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mRWLock",
+     "referenced_type" : "_ZTI16pthread_rwlock_t"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6RWLockE",
+   "name" : "android::RWLock",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6RWLockE",
+   "self_type" : "_ZTIN7android6RWLockE",
+   "size" : 40,
+   "source_file" : "system/core/libutils/include/utils/RWLock.h"
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "is_virtual" : true,
+     "referenced_type" : "_ZTIN7android7RefBaseE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCanCallJava",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIKb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mThread",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLock",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIN7android5MutexE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mThreadExitedCondition",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIN7android9ConditionE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mStatus",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mExitPending",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIVb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mRunning",
+     "field_offset" : 200,
+     "referenced_type" : "_ZTIVb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mHoldSelf",
+     "field_offset" : 224,
+     "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mTid",
+     "field_offset" : 256,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6ThreadE",
+   "name" : "android::Thread",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6ThreadE",
+   "self_type" : "_ZTIN7android6ThreadE",
+   "size" : 44,
+   "source_file" : "system/core/libutils/include/utils/Thread.h",
+   "vtable_components" :
+   [
+    {
+     "component_value" : 36,
+     "kind" : "vbase_offset"
+    },
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6ThreadE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6ThreadD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6ThreadD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android6Thread3runEPKcij"
+    },
+    {
+     "mangled_component_name" : "_ZN7android6Thread11requestExitEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android6Thread10readyToRunEv"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android6Thread10threadLoopEv"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -36,
+     "kind" : "vcall_offset"
+    },
+    {
+     "component_value" : -36,
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6ThreadE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android6ThreadD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZTv0_n12_N7android6ThreadD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::Vector<android::sysprop_change_callback_info>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_28sysprop_change_callback_infoEEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_28sysprop_change_callback_infoEED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_28sysprop_change_callback_infoEED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE12do_constructEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE10do_destroyEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE7do_copyEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE8do_splatEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE15do_move_forwardEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_28sysprop_change_callback_infoEE16do_move_backwardEPvPKvj"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::Vector<android::Looper::MessageEnvelope>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_6Looper15MessageEnvelopeEEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper15MessageEnvelopeEED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper15MessageEnvelopeEED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE12do_constructEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE10do_destroyEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE7do_copyEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE8do_splatEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE15do_move_forwardEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper15MessageEnvelopeEE16do_move_backwardEPvPKvj"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "name" : "android::Vector<android::Looper::Response>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_6Looper8ResponseEEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper8ResponseEED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_6Looper8ResponseEED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE12do_constructEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE10do_destroyEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE7do_copyEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE8do_splatEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE15do_move_forwardEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_6Looper8ResponseEE16do_move_backwardEPvPKvj"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "access" : "private",
+     "referenced_type" : "_ZTIN7android10VectorImplE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android6VectorINS_7String8EEE",
+   "name" : "android::Vector<android::String8>",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "self_type" : "_ZTIN7android6VectorINS_7String8EEE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/Vector.h",
+   "template_args" :
+   [
+    "_ZTIN7android7String8E"
+   ],
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android6VectorINS_7String8EEE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_7String8EED1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android6VectorINS_7String8EED0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE12do_constructEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE10do_destroyEPvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE7do_copyEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE8do_splatEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE15do_move_forwardEPvPKvj"
+    },
+    {
+     "mangled_component_name" : "_ZNK7android6VectorINS_7String8EE16do_move_backwardEPvPKvj"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEEE",
+   "name" : "android::traits<android::sysprop_change_callback_info>",
+   "referenced_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEEE",
+   "self_type" : "_ZTIN7android6traitsINS_28sysprop_change_callback_infoEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android28sysprop_change_callback_infoE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEEE",
+   "name" : "android::traits<android::Looper::MessageEnvelope>",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEEE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper15MessageEnvelopeEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper15MessageEnvelopeE"
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android6traitsINS_6Looper8ResponseEEE",
+   "name" : "android::traits<android::Looper::Response>",
+   "referenced_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEEE",
+   "self_type" : "_ZTIN7android6traitsINS_6Looper8ResponseEEE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/TypeHelpers.h",
+   "template_args" :
+   [
+    "_ZTIN7android6Looper8ResponseE"
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFileName",
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mBasePtr",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mBaseLength",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mDataOffset",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIx"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mDataPtr",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIPv"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mDataLength",
+     "field_offset" : 224,
+     "referenced_type" : "_ZTIj"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7FileMapE",
+   "name" : "android::FileMap",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTIN7android7FileMapE",
+   "size" : 32,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "what",
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7MessageE",
+   "name" : "android::Message",
+   "referenced_type" : "_ZTIN7android7MessageE",
+   "self_type" : "_ZTIN7android7MessageE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Looper.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTIN7android7PrinterE",
+   "name" : "android::Printer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7PrinterE",
+   "self_type" : "_ZTIN7android7PrinterE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android7PrinterE"
+    },
+    {
+     "is_pure" : true,
+     "mangled_component_name" : "_ZN7android7Printer9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7PrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7PrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android7RefBase12weakref_typeE",
+   "name" : "android::RefBase::weakref_type",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "self_type" : "_ZTIN7android7RefBase12weakref_typeE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mRefs",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIKPN7android7RefBase12weakref_implE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7RefBaseE",
+   "name" : "android::RefBase",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7RefBaseE",
+   "self_type" : "_ZTIN7android7RefBaseE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/RefBase.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android7RefBaseE"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7RefBaseD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android7RefBaseD0Ev"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase10onFirstRefEv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase15onLastStrongRefEPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase20onIncStrongAttemptedEjPKv"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7RefBase13onLastWeakRefEPKv"
+    }
+   ]
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mString",
+     "referenced_type" : "_ZTIPKc"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android7String8E",
+   "name" : "android::String8",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android7String8E",
+   "self_type" : "_ZTIN7android7String8E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String8.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "size",
+     "referenced_type" : "_ZTIKj"
+    },
+    {
+     "field_name" : "data",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIA1_Ds"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android8String1610StaticDataILj1EEE",
+   "name" : "android::String16::StaticData<1>",
+   "referenced_type" : "_ZTIN7android8String1610StaticDataILj1EEE",
+   "self_type" : "_ZTIN7android8String1610StaticDataILj1EEE",
+   "size" : 8,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mString",
+     "referenced_type" : "_ZTIPKDs"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android8String16E",
+   "name" : "android::String16",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTIN7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  },
+  {
+   "alignment" : 1,
+   "linker_set_key" : "_ZTIN7android9CallStack12StackDeleterE",
+   "name" : "android::CallStack::StackDeleter",
+   "referenced_type" : "_ZTIN7android9CallStack12StackDeleterE",
+   "self_type" : "_ZTIN7android9CallStack12StackDeleterE",
+   "size" : 1,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFrameLines",
+     "referenced_type" : "_ZTIN7android6VectorINS_7String8EEE"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9CallStackE",
+   "name" : "android::CallStack",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9CallStackE",
+   "self_type" : "_ZTIN7android9CallStackE",
+   "size" : 20,
+   "source_file" : "system/core/libutils/include/utils/CallStack.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mCond",
+     "referenced_type" : "_ZTI14pthread_cond_t"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9ConditionE",
+   "name" : "android::Condition",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9ConditionE",
+   "self_type" : "_ZTIN7android9ConditionE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/Condition.h"
+  },
+  {
+   "alignment" : 4,
+   "base_specifiers" :
+   [
+    {
+     "referenced_type" : "_ZTIN7android7PrinterE"
+    }
+   ],
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFd",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mIndent",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mPrefix",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mFormatString",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIA20_c"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9FdPrinterE",
+   "name" : "android::FdPrinter",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9FdPrinterE",
+   "self_type" : "_ZTIN7android9FdPrinterE",
+   "size" : 36,
+   "source_file" : "system/core/libutils/include/utils/Printer.h",
+   "vtable_components" :
+   [
+    {
+     "kind" : "offset_to_top"
+    },
+    {
+     "kind" : "rtti",
+     "mangled_component_name" : "_ZTIN7android9FdPrinterE"
+    },
+    {
+     "mangled_component_name" : "_ZN7android9FdPrinter9printLineEPKc"
+    },
+    {
+     "mangled_component_name" : "_ZN7android7Printer15printFormatLineEPKcz"
+    },
+    {
+     "kind" : "complete_dtor_pointer",
+     "mangled_component_name" : "_ZN7android9FdPrinterD1Ev"
+    },
+    {
+     "kind" : "deleting_dtor_pointer",
+     "mangled_component_name" : "_ZN7android9FdPrinterD0Ev"
+    }
+   ]
+  },
+  {
+   "alignment" : 8,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mName",
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mClock",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIi"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mStartTime",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIx"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9StopWatchE",
+   "name" : "android::StopWatch",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9StopWatchE",
+   "self_type" : "_ZTIN7android9StopWatchE",
+   "size" : 16,
+   "source_file" : "system/core/libutils/include/utils/StopWatch.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "access" : "private",
+     "field_name" : "mFilename",
+     "referenced_type" : "_ZTIN7android7String8E"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mFileMap",
+     "field_offset" : 32,
+     "referenced_type" : "_ZTIPN7android7FileMapE"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mBuffer",
+     "field_offset" : 64,
+     "referenced_type" : "_ZTIPc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mOwnBuffer",
+     "field_offset" : 96,
+     "referenced_type" : "_ZTIb"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLength",
+     "field_offset" : 128,
+     "referenced_type" : "_ZTIj"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mCurrent",
+     "field_offset" : 160,
+     "referenced_type" : "_ZTIPKc"
+    },
+    {
+     "access" : "private",
+     "field_name" : "mLineNumber",
+     "field_offset" : 192,
+     "referenced_type" : "_ZTIi"
+    }
+   ],
+   "linker_set_key" : "_ZTIN7android9TokenizerE",
+   "name" : "android::Tokenizer",
+   "record_kind" : "class",
+   "referenced_type" : "_ZTIN7android9TokenizerE",
+   "self_type" : "_ZTIN7android9TokenizerE",
+   "size" : 28,
+   "source_file" : "system/core/libutils/include/utils/Tokenizer.h"
+  },
+  {
+   "alignment" : 4,
+   "fields" :
+   [
+    {
+     "field_name" : "buf",
+     "referenced_type" : "_ZTIA5121_h"
+    },
+    {
+     "field_name" : "entry",
+     "referenced_type" : "_ZTI12logger_entry"
+    }
+   ],
+   "is_anonymous" : true,
+   "linker_set_key" : "_ZTIN7log_msgUt_E",
+   "name" : "log_msg::(anonymous)",
+   "record_kind" : "union",
+   "referenced_type" : "_ZTIN7log_msgUt_E",
+   "self_type" : "_ZTIN7log_msgUt_E",
+   "size" : 5124,
+   "source_file" : "system/logging/liblog/include_vndk/log/log_read.h"
+  }
+ ],
+ "rvalue_reference_types" :
+ [
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android2spINS_12NativeHandleEEE",
+   "name" : "android::sp<android::NativeHandle> &&",
+   "referenced_type" : "_ZTIN7android2spINS_12NativeHandleEEE",
+   "self_type" : "_ZTION7android2spINS_12NativeHandleEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android2spINS_14MessageHandlerEEE",
+   "name" : "android::sp<android::MessageHandler> &&",
+   "referenced_type" : "_ZTIN7android2spINS_14MessageHandlerEEE",
+   "self_type" : "_ZTION7android2spINS_14MessageHandlerEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android2spINS_20SimpleLooperCallbackEEE",
+   "name" : "android::sp<android::SimpleLooperCallback> &&",
+   "referenced_type" : "_ZTIN7android2spINS_20SimpleLooperCallbackEEE",
+   "self_type" : "_ZTION7android2spINS_20SimpleLooperCallbackEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android2spINS_6LooperEEE",
+   "name" : "android::sp<android::Looper> &&",
+   "referenced_type" : "_ZTIN7android2spINS_6LooperEEE",
+   "self_type" : "_ZTION7android2spINS_6LooperEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android2spINS_6ThreadEEE",
+   "name" : "android::sp<android::Thread> &&",
+   "referenced_type" : "_ZTIN7android2spINS_6ThreadEEE",
+   "self_type" : "_ZTION7android2spINS_6ThreadEEE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/StrongPointer.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "name" : "android::base::unique_fd_impl<android::base::DefaultCloser> &&",
+   "referenced_type" : "_ZTIN7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "self_type" : "_ZTION7android4base14unique_fd_implINS0_13DefaultCloserEEE",
+   "size" : 4,
+   "source_file" : "system/libbase/include/android-base/unique_fd.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android7FileMapE",
+   "name" : "android::FileMap &&",
+   "referenced_type" : "_ZTIN7android7FileMapE",
+   "self_type" : "_ZTION7android7FileMapE",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/FileMap.h"
+  },
+  {
+   "alignment" : 4,
+   "linker_set_key" : "_ZTION7android8String16E",
+   "name" : "android::String16 &&",
+   "referenced_type" : "_ZTIN7android8String16E",
+   "self_type" : "_ZTION7android8String16E",
+   "size" : 4,
+   "source_file" : "system/core/libutils/include/utils/String16.h"
+  }
+ ]
+}
diff --git a/rootdir/etc/linker.config.json b/rootdir/etc/linker.config.json
index 3a98fdb..47f77b1 100644
--- a/rootdir/etc/linker.config.json
+++ b/rootdir/etc/linker.config.json
@@ -22,17 +22,16 @@
     "libnetd_resolv.so",
     // netd
     "libnetd_updatable.so",
-    // nn
-    "libneuralnetworks.so",
     // statsd
     "libstatspull.so",
     "libstatssocket.so",
-    // tethering LLNDK
-    "libcom.android.tethering.connectivity_native.so",
     // adbd
     "libadb_pairing_auth.so",
     "libadb_pairing_connection.so",
     "libadb_pairing_server.so"
+
+    // LLNDK libraries in APEXes will be added automatically from the build,
+    // using build variable LLNDK_MOVED_TO_APEX_LIBRARIES.
   ],
   "provideLibs": [
     "libaptX_encoder.so",
diff --git a/rootdir/init.rc b/rootdir/init.rc
index f05c0bf..55be31a 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -55,10 +55,11 @@
     # Read more in b/136247322
     write /sys/module/dm_verity/parameters/prefetch_cluster 0
 
-    # Generate ld.config.txt for early executed processes
-    exec -- /system/bin/bootstrap/linkerconfig --target /linkerconfig/bootstrap
+    # Generate empty ld.config.txt for early executed processes which rely on
+    # /system/lib libraries.
+    write /linkerconfig/bootstrap/ld.config.txt \#
+    write /linkerconfig/default/ld.config.txt \#
     chmod 644 /linkerconfig/bootstrap/ld.config.txt
-    copy /linkerconfig/bootstrap/ld.config.txt /linkerconfig/default/ld.config.txt
     chmod 644 /linkerconfig/default/ld.config.txt
 
     # Mount bootstrap linker configuration as current
@@ -936,16 +937,20 @@
     restorecon /data/media
     exec - media_rw media_rw -- /system/bin/chattr +F /data/media
 
-    # A tmpfs directory, which will contain all apps CE DE data directory that
-    # bind mount from the original source.
+    # A tmpfs directory, which will contain all apps and sdk sandbox CE and DE
+    # data directory that bind mount from the original source.
     mount tmpfs tmpfs /data_mirror nodev noexec nosuid mode=0700,uid=0,gid=1000
     restorecon /data_mirror
     mkdir /data_mirror/data_ce 0700 root root
     mkdir /data_mirror/data_de 0700 root root
+    mkdir /data_mirror/misc_ce 0700 root root
+    mkdir /data_mirror/misc_de 0700 root root
 
     # Create CE and DE data directory for default volume
     mkdir /data_mirror/data_ce/null 0700 root root
     mkdir /data_mirror/data_de/null 0700 root root
+    mkdir /data_mirror/misc_ce/null 0700 root root
+    mkdir /data_mirror/misc_de/null 0700 root root
 
     # Bind mount CE and DE data directory to mirror's default volume directory.
     # Note that because the /data mount has the "shared" propagation type, the
@@ -953,6 +958,8 @@
     # propagate to /data_mirror/data_ce/null/0 as well.
     mount none /data/user /data_mirror/data_ce/null bind rec
     mount none /data/user_de /data_mirror/data_de/null bind rec
+    mount none /data/misc_ce /data_mirror/misc_ce/null bind rec
+    mount none /data/misc_de /data_mirror/misc_de/null bind rec
 
     # Create mirror directory for jit profiles
     mkdir /data_mirror/cur_profiles 0700 root root
@@ -1108,6 +1115,7 @@
     # are not aware of using fsync()/sync() to prepare sudden power-cut.
     write /dev/sys/fs/by-name/userdata/cp_interval 200
     write /dev/sys/fs/by-name/userdata/gc_urgent_sleep_time 50
+    write /dev/sys/fs/by-name/userdata/iostat_period_ms 1000
     write /dev/sys/fs/by-name/userdata/iostat_enable 1
 
     # set readahead multiplier for POSIX_FADV_SEQUENTIAL files
diff --git a/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp b/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp
index 7d58162..b696ff9 100644
--- a/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp
+++ b/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp
@@ -91,7 +91,7 @@
 }  // namespace
 
 ScopedAStatus TrustyKeyMintDevice::getHardwareInfo(KeyMintHardwareInfo* info) {
-    info->versionNumber = 2;
+    info->versionNumber = 3;
     info->securityLevel = kSecurityLevel;
     info->keyMintName = "TrustyKeyMintDevice";
     info->keyMintAuthorName = "Google";
diff --git a/trusty/keymaster/keymint/android.hardware.security.keymint-service.trusty.xml b/trusty/keymaster/keymint/android.hardware.security.keymint-service.trusty.xml
index 77dc854..3dc9c88 100644
--- a/trusty/keymaster/keymint/android.hardware.security.keymint-service.trusty.xml
+++ b/trusty/keymaster/keymint/android.hardware.security.keymint-service.trusty.xml
@@ -1,7 +1,7 @@
 <manifest version="1.0" type="device">
     <hal format="aidl">
         <name>android.hardware.security.keymint</name>
-        <version>2</version>
+        <version>3</version>
         <fqname>IKeyMintDevice/default</fqname>
     </hal>
     <hal format="aidl">
diff --git a/trusty/keymaster/keymint/service.cpp b/trusty/keymaster/keymint/service.cpp
index 3447b27..14549d2 100644
--- a/trusty/keymaster/keymint/service.cpp
+++ b/trusty/keymaster/keymint/service.cpp
@@ -41,7 +41,7 @@
 
 int main() {
     auto trustyKeymaster = std::make_shared<keymaster::TrustyKeymaster>();
-    int err = trustyKeymaster->Initialize(keymaster::KmVersion::KEYMINT_2);
+    int err = trustyKeymaster->Initialize(keymaster::KmVersion::KEYMINT_3);
     if (err != 0) {
         LOG(FATAL) << "Could not initialize TrustyKeymaster for KeyMint (" << err << ")";
         return -1;
diff --git a/trusty/keymint/Android.bp b/trusty/keymint/Android.bp
new file mode 100644
index 0000000..c19ebbd
--- /dev/null
+++ b/trusty/keymint/Android.bp
@@ -0,0 +1,41 @@
+//
+// Copyright (C) 2022 The Android Open-Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_binary {
+    name: "android.hardware.security.keymint-service.rust.trusty",
+    relative_install_path: "hw",
+    vendor: true,
+    init_rc: ["android.hardware.security.keymint-service.rust.trusty.rc"],
+    vintf_fragments: ["android.hardware.security.keymint-service.rust.trusty.xml"],
+    srcs: [
+        "src/keymint_hal_main.rs"
+    ],
+    rustlibs: [
+        "libandroid_logger",
+        "libbinder_rs",
+        "libkmr_wire",
+        "libkmr_hal",
+        "libtrusty-rs",
+        "liblibc",
+        "liblog_rust",
+    ],
+    required: [
+        "android.hardware.hardware_keystore.xml",
+    ],
+}
diff --git a/trusty/keymint/android.hardware.hardware_keystore.rust.trusty-keymint.xml b/trusty/keymint/android.hardware.hardware_keystore.rust.trusty-keymint.xml
new file mode 100644
index 0000000..cd656b2
--- /dev/null
+++ b/trusty/keymint/android.hardware.hardware_keystore.rust.trusty-keymint.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2021 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<permissions>
+  <feature name="android.hardware.hardware_keystore" version="300" />
+</permissions>
diff --git a/trusty/keymint/android.hardware.security.keymint-service.rust.trusty.rc b/trusty/keymint/android.hardware.security.keymint-service.rust.trusty.rc
new file mode 100644
index 0000000..e3d94c6
--- /dev/null
+++ b/trusty/keymint/android.hardware.security.keymint-service.rust.trusty.rc
@@ -0,0 +1,7 @@
+service vendor.keymint.rust-trusty /vendor/bin/hw/android.hardware.security.keymint-service.rust.trusty
+    class early_hal
+    user nobody
+    group drmrpc
+    # The keymint service is not allowed to restart.
+    # If it crashes, a device restart is required.
+    oneshot
\ No newline at end of file
diff --git a/trusty/keymint/android.hardware.security.keymint-service.rust.trusty.xml b/trusty/keymint/android.hardware.security.keymint-service.rust.trusty.xml
new file mode 100644
index 0000000..3dc9c88
--- /dev/null
+++ b/trusty/keymint/android.hardware.security.keymint-service.rust.trusty.xml
@@ -0,0 +1,20 @@
+<manifest version="1.0" type="device">
+    <hal format="aidl">
+        <name>android.hardware.security.keymint</name>
+        <version>3</version>
+        <fqname>IKeyMintDevice/default</fqname>
+    </hal>
+    <hal format="aidl">
+        <name>android.hardware.security.secureclock</name>
+        <fqname>ISecureClock/default</fqname>
+    </hal>
+    <hal format="aidl">
+        <name>android.hardware.security.sharedsecret</name>
+        <fqname>ISharedSecret/default</fqname>
+    </hal>
+    <hal format="aidl">
+        <name>android.hardware.security.keymint</name>
+        <version>3</version>
+        <fqname>IRemotelyProvisionedComponent/default</fqname>
+    </hal>
+</manifest>
diff --git a/trusty/keymint/src/keymint_hal_main.rs b/trusty/keymint/src/keymint_hal_main.rs
new file mode 100644
index 0000000..d2d5f27
--- /dev/null
+++ b/trusty/keymint/src/keymint_hal_main.rs
@@ -0,0 +1,155 @@
+//
+// Copyright (C) 2022 The Android Open-Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! This module implements the HAL service for Keymint (Rust) in Trusty.
+use kmr_hal::{keymint, rpc, secureclock, send_hal_info, sharedsecret, SerializedChannel};
+use log::{error, info};
+use std::{
+    ffi::CString,
+    ops::DerefMut,
+    panic,
+    sync::{Arc, Mutex},
+};
+use trusty::DEFAULT_DEVICE;
+
+const TRUSTY_KEYMINT_RUST_SERVICE_NAME: &str = "com.android.trusty.keymint";
+
+static SERVICE_INSTANCE: &str = "default";
+
+static KM_SERVICE_NAME: &str = "android.hardware.security.keymint.IKeyMintDevice";
+static RPC_SERVICE_NAME: &str = "android.hardware.security.keymint.IRemotelyProvisionedComponent";
+static SECURE_CLOCK_SERVICE_NAME: &str = "android.hardware.security.secureclock.ISecureClock";
+static SHARED_SECRET_SERVICE_NAME: &str = "android.hardware.security.sharedsecret.ISharedSecret";
+
+/// Local error type for failures in the HAL service.
+#[derive(Debug, Clone)]
+struct HalServiceError(String);
+
+#[derive(Debug)]
+struct TipcChannel(trusty::TipcChannel);
+
+impl SerializedChannel for TipcChannel {
+    fn execute(&mut self, serialized_req: &[u8]) -> binder::Result<Vec<u8>> {
+        self.0.send(serialized_req).map_err(|e| {
+            binder::Status::new_exception(
+                binder::ExceptionCode::TRANSACTION_FAILED,
+                Some(
+                    &CString::new(format!(
+                        "Failed to send the request via tipc channel because of {:?}",
+                        e
+                    ))
+                    .unwrap(),
+                ),
+            )
+        })?;
+        let mut recv_buf = Vec::new();
+        // TODO(b/253501976): cope with fragmentation of responses
+        self.0.recv(&mut recv_buf).map_err(|e| {
+            binder::Status::new_exception(
+                binder::ExceptionCode::TRANSACTION_FAILED,
+                Some(
+                    &CString::new(format!(
+                        "Failed to receive the response via tipc channel because of {:?}",
+                        e
+                    ))
+                    .unwrap(),
+                ),
+            )
+        })?;
+        Ok(recv_buf)
+    }
+}
+
+fn main() {
+    if let Err(e) = inner_main() {
+        panic!("HAL service failed: {:?}", e);
+    }
+}
+
+fn inner_main() -> Result<(), HalServiceError> {
+    // Initialize Android logging.
+    android_logger::init_once(
+        android_logger::Config::default()
+            .with_tag("keymint-hal-trusty")
+            .with_min_level(log::Level::Info)
+            .with_log_id(android_logger::LogId::System),
+    );
+    // Redirect panic messages to logcat.
+    panic::set_hook(Box::new(|panic_info| {
+        error!("{}", panic_info);
+    }));
+
+    info!("Trusty KM HAL service is starting.");
+
+    info!("Starting thread pool now.");
+    binder::ProcessState::start_thread_pool();
+
+    // Create connection to the TA
+    let connection = trusty::TipcChannel::connect(DEFAULT_DEVICE, TRUSTY_KEYMINT_RUST_SERVICE_NAME)
+        .map_err(|e| {
+            HalServiceError(format!("Failed to connect to Trusty Keymint TA because of {:?}.", e))
+        })?;
+    let tipc_channel = Arc::new(Mutex::new(TipcChannel(connection)));
+
+    // Register the Keymint service
+    let km_service = keymint::Device::new_as_binder(tipc_channel.clone());
+    let km_service_name = format!("{}/{}", KM_SERVICE_NAME, SERVICE_INSTANCE);
+    binder::add_service(&km_service_name, km_service.as_binder()).map_err(|e| {
+        HalServiceError(format!(
+            "Failed to register service {} because of {:?}.",
+            km_service_name, e
+        ))
+    })?;
+
+    // Register the Remotely Provisioned Component service
+    let rpc_service = rpc::Device::new_as_binder(tipc_channel.clone());
+    let rpc_service_name = format!("{}/{}", RPC_SERVICE_NAME, SERVICE_INSTANCE);
+    binder::add_service(&rpc_service_name, rpc_service.as_binder()).map_err(|e| {
+        HalServiceError(format!(
+            "Failed to register service {} because of {:?}.",
+            rpc_service_name, e
+        ))
+    })?;
+
+    // Register the Secure Clock service
+    let sclock_service = secureclock::Device::new_as_binder(tipc_channel.clone());
+    let sclock_service_name = format!("{}/{}", SECURE_CLOCK_SERVICE_NAME, SERVICE_INSTANCE);
+    binder::add_service(&sclock_service_name, sclock_service.as_binder()).map_err(|e| {
+        HalServiceError(format!(
+            "Failed to register service {} because of {:?}.",
+            sclock_service_name, e
+        ))
+    })?;
+
+    // Register the Shared Secret service
+    let ssecret_service = sharedsecret::Device::new_as_binder(tipc_channel.clone());
+    let ssecret_service_name = format!("{}/{}", SHARED_SECRET_SERVICE_NAME, SERVICE_INSTANCE);
+    binder::add_service(&ssecret_service_name, ssecret_service.as_binder()).map_err(|e| {
+        HalServiceError(format!(
+            "Failed to register service {} because of {:?}.",
+            ssecret_service_name, e
+        ))
+    })?;
+
+    // Send the HAL service information to the TA
+    send_hal_info(tipc_channel.lock().unwrap().deref_mut())
+        .map_err(|e| HalServiceError(format!("Failed to populate HAL info: {:?}", e)))?;
+
+    info!("Successfully registered KeyMint HAL services.");
+    info!("Joining thread pool now.");
+    binder::ProcessState::join_thread_pool();
+    info!("KeyMint HAL service is terminating."); // should not reach here
+    Ok(())
+}
diff --git a/trusty/storage/proxy/proxy.c b/trusty/storage/proxy/proxy.c
index b970406..4f77fa2 100644
--- a/trusty/storage/proxy/proxy.c
+++ b/trusty/storage/proxy/proxy.c
@@ -136,6 +136,10 @@
             rc = storage_file_set_size(msg, req, req_len);
             break;
 
+        case STORAGE_FILE_GET_MAX_SIZE:
+            rc = storage_file_get_max_size(msg, req, req_len);
+            break;
+
         case STORAGE_RPMB_SEND:
             rc = rpmb_send(msg, req, req_len);
             break;
diff --git a/trusty/storage/proxy/storage.c b/trusty/storage/proxy/storage.c
index 033dc21..a96ddcb 100644
--- a/trusty/storage/proxy/storage.c
+++ b/trusty/storage/proxy/storage.c
@@ -18,6 +18,7 @@
 #include <fcntl.h>
 #include <inttypes.h>
 #include <libgen.h>
+#include <linux/fs.h>
 #include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
@@ -36,6 +37,9 @@
 
 #define ALTERNATE_DATA_DIR "alternate/"
 
+/* Maximum file size for filesystem backed storage (i.e. not block dev backed storage) */
+#define MAX_FILE_SIZE (0x10000000000)
+
 enum sync_state {
     SS_UNUSED = -1,
     SS_CLEAN =  0,
@@ -549,6 +553,45 @@
     return ipc_respond(msg, NULL, 0);
 }
 
+int storage_file_get_max_size(struct storage_msg* msg, const void* r, size_t req_len) {
+    const struct storage_file_get_max_size_req* req = r;
+    struct storage_file_get_max_size_resp resp = {0};
+    uint64_t max_size = 0;
+
+    if (req_len != sizeof(*req)) {
+        ALOGE("%s: invalid request length (%zd != %zd)\n", __func__, req_len, sizeof(*req));
+        msg->result = STORAGE_ERR_NOT_VALID;
+        goto err_response;
+    }
+
+    struct stat stat;
+    int fd = lookup_fd(req->handle, false);
+    int rc = fstat(fd, &stat);
+    if (rc < 0) {
+        ALOGE("%s: error stat'ing file (fd=%d): %s\n", __func__, fd, strerror(errno));
+        goto err_response;
+    }
+
+    if ((stat.st_mode & S_IFMT) == S_IFBLK) {
+        rc = ioctl(fd, BLKGETSIZE64, &max_size);
+        if (rc < 0) {
+            rc = errno;
+            ALOGE("%s: error calling ioctl on file (fd=%d): %s\n", __func__, fd, strerror(errno));
+            msg->result = translate_errno(rc);
+            goto err_response;
+        }
+    } else {
+        max_size = MAX_FILE_SIZE;
+    }
+
+    resp.max_size = max_size;
+    msg->result = STORAGE_NO_ERROR;
+    return ipc_respond(msg, &resp, sizeof(resp));
+
+err_response:
+    return ipc_respond(msg, NULL, 0);
+}
+
 int storage_init(const char *dirname)
 {
     /* If there is an active DSU image, use the alternate fs mode. */
diff --git a/trusty/storage/proxy/storage.h b/trusty/storage/proxy/storage.h
index 5a670d4..77bfa13 100644
--- a/trusty/storage/proxy/storage.h
+++ b/trusty/storage/proxy/storage.h
@@ -39,6 +39,8 @@
 int storage_file_set_size(struct storage_msg *msg,
                           const void *req, size_t req_len);
 
+int storage_file_get_max_size(struct storage_msg* msg, const void* req, size_t req_len);
+
 int storage_init(const char *dirname);
 
 int storage_sync_checkpoint(void);
diff --git a/trusty/test/binder/aidl/ByteEnum.aidl b/trusty/test/binder/aidl/com/android/trusty/binder/test/ByteEnum.aidl
similarity index 94%
rename from trusty/test/binder/aidl/ByteEnum.aidl
rename to trusty/test/binder/aidl/com/android/trusty/binder/test/ByteEnum.aidl
index d3a13ac..9c712c0 100644
--- a/trusty/test/binder/aidl/ByteEnum.aidl
+++ b/trusty/test/binder/aidl/com/android/trusty/binder/test/ByteEnum.aidl
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+package com.android.trusty.binder.test;
+
 /*
  * Hello, world!
  */
diff --git a/trusty/test/binder/aidl/ITestService.aidl b/trusty/test/binder/aidl/com/android/trusty/binder/test/ITestService.aidl
similarity index 93%
rename from trusty/test/binder/aidl/ITestService.aidl
rename to trusty/test/binder/aidl/com/android/trusty/binder/test/ITestService.aidl
index c6a99c8..cfbb246 100644
--- a/trusty/test/binder/aidl/ITestService.aidl
+++ b/trusty/test/binder/aidl/com/android/trusty/binder/test/ITestService.aidl
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 
+package com.android.trusty.binder.test;
 
-import ByteEnum;
-import IntEnum;
-import LongEnum;
+import com.android.trusty.binder.test.ByteEnum;
+import com.android.trusty.binder.test.IntEnum;
+import com.android.trusty.binder.test.LongEnum;
 
 interface ITestService {
     const @utf8InCpp String PORT = "com.android.trusty.binder.test.service";
diff --git a/trusty/test/binder/aidl/IntEnum.aidl b/trusty/test/binder/aidl/com/android/trusty/binder/test/IntEnum.aidl
similarity index 94%
rename from trusty/test/binder/aidl/IntEnum.aidl
rename to trusty/test/binder/aidl/com/android/trusty/binder/test/IntEnum.aidl
index 120e44f..4055b25 100644
--- a/trusty/test/binder/aidl/IntEnum.aidl
+++ b/trusty/test/binder/aidl/com/android/trusty/binder/test/IntEnum.aidl
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+package com.android.trusty.binder.test;
+
 @JavaDerive(toString=true)
 @Backing(type="int")
 enum IntEnum {
diff --git a/trusty/test/binder/aidl/LongEnum.aidl b/trusty/test/binder/aidl/com/android/trusty/binder/test/LongEnum.aidl
similarity index 94%
rename from trusty/test/binder/aidl/LongEnum.aidl
rename to trusty/test/binder/aidl/com/android/trusty/binder/test/LongEnum.aidl
index 0e9e933..20c64af 100644
--- a/trusty/test/binder/aidl/LongEnum.aidl
+++ b/trusty/test/binder/aidl/com/android/trusty/binder/test/LongEnum.aidl
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+package com.android.trusty.binder.test;
+
 @Backing(type="long")
 enum LongEnum {
     FOO = 100000000000,
diff --git a/trusty/test/binder/aidl/rules.mk b/trusty/test/binder/aidl/rules.mk
index 6154abb..546a370 100644
--- a/trusty/test/binder/aidl/rules.mk
+++ b/trusty/test/binder/aidl/rules.mk
@@ -17,10 +17,12 @@
 
 MODULE := $(LOCAL_DIR)
 
+MODULE_AIDL_PACKAGE := com/android/trusty/binder/test
+
 MODULE_AIDLS := \
-	$(LOCAL_DIR)/ByteEnum.aidl \
-	$(LOCAL_DIR)/IntEnum.aidl \
-	$(LOCAL_DIR)/ITestService.aidl \
-	$(LOCAL_DIR)/LongEnum.aidl \
+	$(LOCAL_DIR)/$(MODULE_AIDL_PACKAGE)/ByteEnum.aidl \
+	$(LOCAL_DIR)/$(MODULE_AIDL_PACKAGE)/IntEnum.aidl \
+	$(LOCAL_DIR)/$(MODULE_AIDL_PACKAGE)/ITestService.aidl \
+	$(LOCAL_DIR)/$(MODULE_AIDL_PACKAGE)/LongEnum.aidl \
 
 include make/aidl.mk