# Copyright (C) 2011 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/app/qcrilmsgtunnel/qcrilmsgtunnel.apk
/system/app/shutdownlistener.apk
/system/app/TimeService.apk
/system/bin/bridgemgrd
/system/bin/diag_klog
/system/bin/diag_mdlog
/system/bin/ds_fmc_appd
/system/bin/irsc_util
/system/bin/mm-qcamera-daemon
/system/bin/mpdecision
/system/bin/netmgrd
/system/bin/nl_listener
/system/bin/port-bridge
/system/bin/qmuxd
/system/bin/qseecomd
/system/bin/radish
/system/bin/rmt_storage
/system/bin/sensors.qcom
/system/bin/subsystem_ramdump
/system/bin/thermal-engine-hh
/system/bin/time_daemon
/system/bin/usbhub
/system/bin/usbhub_init
/system/etc/acdbdata/MTP/MTP_Bluetooth_cal.acdb
/system/etc/firmware/cpp_firmware_v1_1_1.fw
/system/etc/firmware/cpp_firmware_v1_1_6.fw
/system/etc/firmware/cpp_firmware_v1_2_0.fw
/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/permissions/qcrilhook.xml
/system/etc/qcril.db
/system/etc/sensor_def_hh.conf
/system/etc/acdbdata/MTP/MTP_Speaker_cal.acdb
/system/framework/qcrilhook.jar
/system/lib/hw/flp.msm8974.so
/system/lib/hw/gps.msm8974.so
/system/lib/libadsprpc.so
/system/lib/libchromatix_imx179_common.so
/system/lib/libchromatix_imx179_default_video.so
/system/lib/libchromatix_imx179_preview.so
/system/lib/libchromatix_imx179_snapshot.so
/system/lib/libchromatix_mt9m114b_common.so
/system/lib/libchromatix_mt9m114b_default_video.so
/system/lib/libchromatix_mt9m114b_preview.so
/system/lib/libchromatix_mt9m114b_snapshot.so
/system/lib/libdrmdiag.so
/system/lib/libdrmfs.so
/system/lib/libdrmtime.so
/system/lib/libgps.utils.so
/system/lib/libI420colorconvert.so
/system/lib/libloc_core.so
/system/lib/libloc_eng.so
/system/lib/libmm-abl.so
/system/lib/libmm-color-convertor.so
/system/lib/libmmcamera_hdr_lib.so
/system/lib/libmmcamera_image_stab.so
/system/lib/libmmcamera_imx179.so
/system/lib/libmmcamera_mt9m114b.so
/system/lib/libmmcamera_wavelet_lib.so
/system/lib/libmmQSM.so
/system/lib/liboemcrypto.so
/system/lib/libQSEEComAPI.so
/system/lib/libril-qc-qmi-1.so
/system/lib/libstagefright_hdcp.so
/system/lib/libxml.so
/system/vendor/bin/vss_init
/system/vendor/firmware/a330_pfp.fw
/system/vendor/firmware/a330_pm4.fw
/system/vendor/firmware/adsp.b00
/system/vendor/firmware/adsp.b01
/system/vendor/firmware/adsp.b02
/system/vendor/firmware/adsp.b03
/system/vendor/firmware/adsp.b04
/system/vendor/firmware/adsp.b05
/system/vendor/firmware/adsp.b06
/system/vendor/firmware/adsp.b07
/system/vendor/firmware/adsp.b08
/system/vendor/firmware/adsp.b09
/system/vendor/firmware/adsp.b10
/system/vendor/firmware/adsp.b11
/system/vendor/firmware/adsp.b12
/system/vendor/firmware/adsp.mdt
/system/vendor/firmware/bcm2079x-b5_firmware.ncd
/system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd
/system/vendor/firmware/bcm4335c0.hcd
/system/vendor/firmware/bu24205_LGIT_VER_2_DATA1.bin
/system/vendor/firmware/bu24205_LGIT_VER_2_DATA2.bin
/system/vendor/firmware/bu24205_LGIT_VER_2_DATA3.bin
/system/vendor/firmware/bu24205_LGIT_VER_3_CAL.bin
/system/vendor/firmware/bu24205_LGIT_VER_3_DATA1.bin
/system/vendor/firmware/bu24205_LGIT_VER_3_DATA2.bin
/system/vendor/firmware/bu24205_LGIT_VER_3_DATA3.bin
/system/vendor/firmware/cmnlib.b00
/system/vendor/firmware/cmnlib.b01
/system/vendor/firmware/cmnlib.b02
/system/vendor/firmware/cmnlib.b03
/system/vendor/firmware/cmnlib.mdt
/system/vendor/firmware/keymaster/keymaster.b00
/system/vendor/firmware/keymaster/keymaster.b01
/system/vendor/firmware/keymaster/keymaster.b02
/system/vendor/firmware/keymaster/keymaster.b03
/system/vendor/firmware/keymaster/keymaster.mdt
/system/vendor/firmware/venus.b00
/system/vendor/firmware/venus.b01
/system/vendor/firmware/venus.b02
/system/vendor/firmware/venus.b03
/system/vendor/firmware/venus.b04
/system/vendor/firmware/venus.mdt
/system/vendor/lib/egl/eglsubAndroid.so
/system/vendor/lib/egl/libEGL_adreno.so
/system/vendor/lib/egl/libGLESv1_CM_adreno.so
/system/vendor/lib/egl/libGLESv2_adreno.so
/system/vendor/lib/egl/libplayback_adreno.so
/system/vendor/lib/egl/libq3dtools_adreno.so
/system/vendor/lib/hw/sensors.msm8974.so
/system/vendor/lib/libacdbloader.so
/system/vendor/lib/libacdbrtac.so
/system/vendor/lib/libadiertac.so
/system/vendor/lib/libadreno_utils.so
/system/vendor/lib/libAKM8963.so
/system/vendor/lib/libaudcal.so
/system/vendor/lib/libC2D2.so
/system/vendor/lib/libc2d30-a3xx.so
/system/vendor/lib/libc2d30.so
/system/vendor/lib/libCB.so
/system/vendor/lib/libCommandSvc.so
/system/vendor/lib/libconfigdb.so
/system/vendor/lib/libdiag.so
/system/vendor/lib/libdrmdecrypt.so
/system/vendor/lib/libdsi_netctrl.so
/system/vendor/lib/libdsutils.so
/system/vendor/lib/libFuzzmmstillomxenc.so
/system/vendor/lib/libgeofence.so
/system/vendor/lib/libgsl.so
/system/vendor/lib/libidl.so
/system/vendor/lib/libizat_core.so
/system/vendor/lib/libjpegdhw.so
/system/vendor/lib/libjpegehw.so
/system/vendor/lib/libllvm-qcom.so
/system/vendor/lib/libbccQTI.so
/system/vendor/lib/libloc_api_v02.so
/system/vendor/lib/libloc_ds_api.so
/system/vendor/lib/libmmcamera2_c2d_module.so
/system/vendor/lib/libmmcamera2_cpp_module.so
/system/vendor/lib/libmmcamera2_iface_modules.so
/system/vendor/lib/libmmcamera2_imglib_modules.so
/system/vendor/lib/libmmcamera2_isp_modules.so
/system/vendor/lib/libmmcamera2_pproc_modules.so
/system/vendor/lib/libmmcamera2_sensor_modules.so
/system/vendor/lib/libmmcamera2_stats_algorithm.so
/system/vendor/lib/libmmcamera2_stats_modules.so
/system/vendor/lib/libmmcamera2_vpe_module.so
/system/vendor/lib/libmmcamera2_wnr_module.so
/system/vendor/lib/libmmcamera_faceproc.so
/system/vendor/lib/libmmcamera_imglib.so
/system/vendor/lib/libmmcamera_imx179_eeprom.so
/system/vendor/lib/libmmipl.so
/system/vendor/lib/libmmjpeg.so
/system/vendor/lib/libmmqjpeg_codec.so
/system/vendor/lib/libnetmgr.so
/system/vendor/lib/liboemcamera.so
/system/vendor/lib/libqcci_legacy.so
/system/vendor/lib/libqdi.so
/system/vendor/lib/libqdp.so
/system/vendor/lib/libqmi.so
/system/vendor/lib/libqmiservices.so
/system/vendor/lib/libqmi_cci.so
/system/vendor/lib/libqmi_client_qmux.so
/system/vendor/lib/libqmi_common_so.so
/system/vendor/lib/libqmi_csi.so
/system/vendor/lib/libqmi_encdec.so
/system/vendor/lib/libqomx_jpegenc.so
/system/vendor/lib/libril-qcril-hook-oem.so
/system/vendor/lib/libRSDriver_adreno.so
/system/vendor/lib/librs_adreno.so
/system/vendor/lib/librs_adreno_sha1.so
/system/vendor/lib/libsc-a3xx.so
/system/vendor/lib/libsensor1.so
/system/vendor/lib/libsensor_reg.so
/system/vendor/lib/libsensor_user_cal.so
/system/vendor/lib/libTimeService.so
/system/vendor/lib/libtime_genoff.so
/system/vendor/lib/libvss_common_core.so
/system/vendor/lib/libvss_common_idl.so
/system/vendor/lib/libvss_common_iface.so
/system/vendor/lib/libvss_nv_core.so
/system/vendor/lib/libvss_nv_idl.so
/system/vendor/lib/libvss_nv_iface.so
