# 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/bin/ATFWD-daemon
/system/bin/bridgemgrd
/system/bin/btnvtool
/system/bin/diag_klog
/system/bin/diag_mdlog
/system/bin/ds_fmc_appd
/system/bin/efsks
/system/bin/hci_qcomm_init
/system/bin/ks
/system/bin/mm-qcamera-daemon
/system/bin/mpdecision
/system/bin/netmgrd
/system/bin/nl_listener
/system/bin/port-bridge
/system/bin/qcks
/system/bin/qmuxd
/system/bin/qseecomd
/system/bin/radish
/system/bin/rmt_storage
/system/bin/sensors.qcom
/system/bin/thermald
/system/bin/usbhub
/system/bin/usbhub_init
/system/bin/v4l2-qcamera-app
/system/etc/DxHDCP.cfg
/system/etc/firmware/tzapps.b00
/system/etc/firmware/tzapps.b01
/system/etc/firmware/tzapps.b02
/system/etc/firmware/tzapps.b03
/system/etc/firmware/tzapps.mdt
/system/etc/firmware/vidc.b00
/system/etc/firmware/vidc.b01
/system/etc/firmware/vidc.b02
/system/etc/firmware/vidc.b03
/system/etc/firmware/vidc.mdt
/system/etc/firmware/vidc_1080p.fw
/system/etc/firmware/wcd9310/wcd9310_anc.bin
/system/etc/firmware/wcd9310/wcd9310_mbhc.bin
/system/lib/egl/eglsubAndroid.so
/system/lib/egl/libEGL_adreno200.so
/system/lib/egl/libGLESv1_CM_adreno200.so
/system/lib/egl/libGLESv2_adreno200.so
/system/lib/egl/libq3dtools_adreno200.so
/system/lib/hw/gps.msm8960.so
/system/lib/hw/sensors.msm8960.so
/system/lib/libacdbdata.so
/system/lib/libacdbloader.so
/system/lib/libAKM.so
/system/lib/libaudcal.so
/system/lib/libaudioalsa.so
/system/lib/libC2D2.so
/system/lib/libc2d2_a3xx.so
/system/lib/libcamera_fast_af.so
/system/lib/libCB.so
/system/lib/libchromatix_imx111_default_video.so
/system/lib/libchromatix_imx111_preview.so
/system/lib/libchromatix_imx111_zsl.so
/system/lib/libchromatix_imx119_default_video.so
/system/lib/libchromatix_imx119_preview.so
/system/lib/libchromatix_mt9e013_default_video.so
/system/lib/libchromatix_mt9e013_preview.so
/system/lib/libchromatix_mt9e013_video_hfr.so
/system/lib/libchromatix_ov5647_default_video.so
/system/lib/libchromatix_ov5647_preview.so
/system/lib/libchromatix_ov5647_video_hfr.so
/system/lib/libchromatix_ov8825_default_video.so
/system/lib/libchromatix_ov8825_preview.so
/system/lib/libchromatix_ov9726_default_video.so
/system/lib/libchromatix_ov9726_preview.so
/system/lib/libchromatix_s5k4e1_default_video.so
/system/lib/libchromatix_s5k4e1_preview.so
/system/lib/libchromatix_vx6953_default_video.so
/system/lib/libchromatix_vx6953_preview.so
/system/lib/libCommandSvc.so
/system/lib/libconfigdb.so
/system/lib/libcsd-client.so
/system/lib/libdiag.so
/system/lib/libdrmdiag.so
/system/lib/libdrmfs.so
/system/lib/libdrmtime.so
/system/lib/libdsi_netctrl.so
/system/lib/libdsprofile.so
/system/lib/libdss.so
/system/lib/libdsucsd.so
/system/lib/libdsutils.so
/system/lib/libDxHdcp.so
/system/lib/libgemini.so
/system/lib/libgeofence.so
/system/lib/libgps.utils.so
/system/lib/libgsl.so
/system/lib/libI420colorconvert.so
/system/lib/libidl.so
/system/lib/libimage-jpeg-dec-omx-comp.so
/system/lib/libimage-jpeg-enc-omx-comp.so
/system/lib/libimage-omx-common.so
/system/lib/libllvm-a3xx.so
/system/lib/libloc_adapter.so
/system/lib/libloc_api_v02.so
/system/lib/libloc_eng.so
/system/lib/libmercury.so
/system/lib/libmm-color-convertor.so
/system/lib/libmmcamera_faceproc.so
/system/lib/libmmcamera_frameproc.so
/system/lib/libmmcamera_hdr_lib.so
/system/lib/libmmcamera_image_stab.so
/system/lib/libmmcamera_statsproc31.so
/system/lib/libmmcamera_wavelet_lib.so
/system/lib/libmmipl.so
/system/lib/libmmjpeg.so
/system/lib/libmmjps.so
/system/lib/libmmmpo.so
/system/lib/libmmmpod.so
/system/lib/libmmstillomx.so
/system/lib/libmorpho_noise_reduction.so
/system/lib/libnetmgr.so
/system/lib/liboemcamera.so
/system/lib/liboemcrypto.so
/system/lib/libqcci_legacy.so
/system/lib/libqdi.so
/system/lib/libqdp.so
/system/lib/libqmi.so
/system/lib/libqmiservices.so
/system/lib/libqmi_cci.so
/system/lib/libqmi_client_qmux.so
/system/lib/libqmi_common_so.so
/system/lib/libqmi_csi.so
/system/lib/libqmi_csvt_srvc.so
/system/lib/libqmi_encdec.so
/system/lib/libQSEEComAPI.so
/system/lib/libril-qc-qmi-1.so
/system/lib/libril-qcril-hook-oem.so
/system/lib/libRSDriver_adreno.so
/system/lib/librs_adreno.so
/system/lib/librs_adreno_sha1.so
/system/lib/libsc-a3xx.so
/system/lib/libsensor1.so
/system/lib/libsensor_reg.so
/system/lib/libsensor_user_cal.so
/system/lib/libstagefright_hdcp.so
/system/lib/libxml.so
/system/vendor/firmware/a300_pfp.fw
/system/vendor/firmware/a300_pm4.fw
/system/vendor/firmware/bcm2079x_firmware.ncd
/system/vendor/firmware/bcm2079x_pre_firmware.ncd
/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/lib/libdrmdecrypt.so
/system/vendor/lib/oxili_rs_runtime.bc
