# Copyright (C) 2016 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 file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT

/system/bin/ATFWD-daemon
/system/bin/athdiag
/system/bin/cnd
/system/bin/cnss-daemon
/system/bin/cnss_diag
/system/bin/diag_klog
/system/bin/diag_mdlog
/system/bin/diag_qshrink4_daemon
/system/bin/halutil
/system/bin/imsdatadaemon
/system/bin/imsqmidaemon
/system/bin/ims_rtp_daemon
/system/bin/irsc_util
/system/bin/location-mq
/system/bin/loc_launcher
/system/bin/lowi-server
/system/bin/msm_irqbalance
/system/bin/netmgrd
/system/bin/nl_listener
/system/bin/perfd
/system/bin/pktlogconf
/system/bin/PktRspTest
/system/bin/pm-proxy
/system/bin/pm-service
/system/bin/port-bridge
/system/bin/qmakernote-xtract
/system/bin/qmi-framework-tests/check_system_health
/system/bin/qmi-framework-tests/qmi_ping_clnt_test_0000
/system/bin/qmi-framework-tests/qmi_ping_clnt_test_0001
/system/bin/qmi-framework-tests/qmi_ping_clnt_test_1000
/system/bin/qmi-framework-tests/qmi_ping_clnt_test_1001
/system/bin/qmi-framework-tests/qmi_ping_clnt_test_2000
/system/bin/qmi-framework-tests/qmi_ping_svc
/system/bin/qmi-framework-tests/qmi_ping_test
/system/bin/qmi-framework-tests/qmi_test_mt_client_init_instance
/system/bin/qmi-framework-tests/qmi_test_service_clnt_test_0000
/system/bin/qmi-framework-tests/qmi_test_service_clnt_test_0001
/system/bin/qmi-framework-tests/qmi_test_service_clnt_test_1000
/system/bin/qmi-framework-tests/qmi_test_service_clnt_test_1001
/system/bin/qmi-framework-tests/qmi_test_service_clnt_test_2000
/system/bin/qmi-framework-tests/qmi_test_service_test
/system/bin/qmi_simple_ril_test
/system/bin/qmuxd
/system/bin/radish
/system/bin/rmt_storage
/system/bin/subsystem_ramdump
/system/bin/test_diag
/system/bin/thermal-engine
/system/bin/time_daemon
/system/etc/acdbdata/MTP/MTP_Bluetooth_cal.acdb
/system/etc/acdbdata/MTP/MTP_General_cal.acdb
/system/etc/acdbdata/MTP/MTP_Global_cal.acdb
/system/etc/acdbdata/MTP/MTP_Handset_cal.acdb
/system/etc/acdbdata/MTP/MTP_Hdmi_cal.acdb
/system/etc/acdbdata/MTP/MTP_Headset_cal.acdb
/system/etc/acdbdata/MTP/MTP_Speaker_cal.acdb
/system/etc/cne/profile.txt
/system/etc/data/dsi_config.xml
/system/etc/data/netmgr_config.xml
/system/etc/data/qmi_config.xml
/system/etc/flp.conf
/system/etc/izat.conf
/system/etc/lowi.conf
/system/etc/permissions/cneapiclient.xml
/system/etc/permissions/embms.xml
/system/etc/permissions/qcrilhook.xml
/system/etc/permissions/qti_permissions.xml
/system/etc/permissions/rcsservice.xml
/system/etc/qcril.db
/system/etc/qmi_fw.conf
/system/etc/sap.conf
/system/etc/thermal-engine-8992.conf
/system/framework/cneapiclient.jar
/system/framework/embmslibrary.jar
/system/framework/qcrilhook.jar
/system/framework/rcsimssettings.jar
/system/framework/rcsservice.jar
/system/lib64/hw/gps.msm8992.so
/system/lib64/libgps.utils.so
/system/lib64/libiperf.so
/system/lib/hw/gps.msm8992.so
/system/lib/libgps.utils.so
/system/lib/libiperf.so
/system/xbin/iperf3
/IMAGES/vendor.img
