# 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/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
/system/bin/time_daemon
/system/bin/usbhub
/system/bin/usbhub_init
/system/etc/Bluetooth_cal.acdb
/system/etc/DxHDCP.cfg
/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/General_cal.acdb
/system/etc/Global_cal.acdb
/system/etc/Handset_cal.acdb
/system/etc/Hdmi_cal.acdb
/system/etc/Headset_cal.acdb
/system/etc/Speaker_cal.acdb
/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/libgeofence.so
/system/lib/libgps.utils.so
/system/lib/libI420colorconvert.so
/system/lib/libloc_adapter.so
/system/lib/libloc_api_v02.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/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/bcm2079x-b5_firmware.ncd
/system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd
/system/vendor/firmware/bcm4335a0.hcd
/system/vendor/firmware/bcm4335c0.hcd
/system/vendor/firmware/bu24205_LGIT_VER_2_CAL.bin
/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/discretix/dxhdcp2.b00
/system/vendor/firmware/discretix/dxhdcp2.b01
/system/vendor/firmware/discretix/dxhdcp2.b02
/system/vendor/firmware/discretix/dxhdcp2.b03
/system/vendor/firmware/discretix/dxhdcp2.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/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/libc2d2_a3xx.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/libDxHdcp.so
/system/vendor/lib/libFuzzmmstillomxenc.so
/system/vendor/lib/libgsl.so
/system/vendor/lib/libidl.so
/system/vendor/lib/libjpegdhw.so
/system/vendor/lib/libjpegehw.so
/system/vendor/lib/libllvm-a3xx.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/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
