From bfdb8a7363082dac51412f935ed2e4fd3f1c0149 Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Sat, 29 Mar 2025 12:51:31 +0000 Subject: [PATCH] dipper: Regen vendor after enabling ELF checks Change-Id: Idf7e5d62b99e0e0fa7c2f7a4b6d1b020de09d513 --- Android.bp | 3308 +++++++++++++++++ dipper-vendor.mk | 239 +- .../lib/libarcsoft_dualcam_refocus_front.so | Bin 6247060 -> 6247060 bytes .../lib/libarcsoft_dualcam_refocus_rear_t.so | Bin 6652564 -> 6652564 bytes .../lib/libarcsoft_dualcam_refocus_rear_w.so | Bin 6652564 -> 6652564 bytes proprietary/vendor/lib/libcsd-client.so | Bin 0 -> 77072 bytes .../vendor/lib/libmmcamera_faceproc.so | Bin 1246516 -> 1246516 bytes proprietary/vendor/lib/libnanopb.so | Bin 33144 -> 0 bytes .../vendor/lib64/hw/fingerprint.fpc.sdm845.so | Bin 118000 -> 149825 bytes .../lib64/hw/fingerprint.goodix.sdm845.so | Bin 37872 -> 76825 bytes proprietary/vendor/lib64/hw/flp.brcm.so | Bin 153408 -> 225649 bytes proprietary/vendor/lib64/hw/gps.brcm.so | Bin 226424 -> 301729 bytes ...dor.qti.hardware.bluetooth_sar@1.0-impl.so | Bin 0 -> 41896 bytes ...dor.qti.hardware.btconfigstore@1.0-impl.so | Bin 0 -> 28920 bytes .../vendor/lib64/libkeymasterdeviceutils.so | Bin 19544 -> 0 bytes .../vendor/lib64/libkeymasterprovision.so | Bin 32272 -> 0 bytes proprietary/vendor/lib64/libkeymasterutils.so | Bin 42696 -> 0 bytes .../vendor.qti.hardware.bluetooth_sar@1.0.so | Bin 0 -> 79680 bytes 18 files changed, 3428 insertions(+), 119 deletions(-) create mode 100644 proprietary/vendor/lib/libcsd-client.so delete mode 100644 proprietary/vendor/lib/libnanopb.so create mode 100644 proprietary/vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so create mode 100644 proprietary/vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so delete mode 100644 proprietary/vendor/lib64/libkeymasterdeviceutils.so delete mode 100644 proprietary/vendor/lib64/libkeymasterprovision.so delete mode 100644 proprietary/vendor/lib64/libkeymasterutils.so create mode 100644 proprietary/vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so diff --git a/Android.bp b/Android.bp index c9090ac..6f51559 100644 --- a/Android.bp +++ b/Android.bp @@ -4,6 +4,3314 @@ soong_namespace { imports: [ + "hardware/qcom-caf/common/libqti-perfd-client", + "hardware/qcom-caf/sdm845", + "hardware/xiaomi", + "vendor/qcom/opensource/display", "vendor/xiaomi/sdm845-common", ], } + +cc_prebuilt_library_shared { + name: "libremosaic_daemon", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libremosaic_daemon.so", + ], + shared_libs: [ + "liblog", + "libutils", + "libcutils", + "libion", + "libbinder", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libremosaic_daemon.so", + ], + shared_libs: [ + "liblog", + "libutils", + "libcutils", + "libion", + "libbinder", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "both", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.sensor.imx363", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/com.qti.sensor.imx363.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.sensor.ov7251", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/com.qti.sensor.ov7251.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.sensor.s5k3m3", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/com.qti.sensor.s5k3m3.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.sensor.s5k3t1", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/com.qti.sensor.s5k3t1.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.capturebokeh", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.capturebokeh.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libcutils", + "libarcsoft_dualcam_refocus", + "libarcsoft_portrait_lighting", + "libarcsoft_portrait_lighting_c", + "libarcsoft_beautyshot", + "libmpbase", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.capturefusion", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.capturefusion.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libcutils", + "libarcsoft_dualcam_image_optical_zoom", + "libmpbase", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.hdr", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.hdr.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libmpbase", + "libarcsoft_low_light_hdr", + "libarcsoft_high_dynamic_range", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.hdrchecker", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.hdrchecker.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libmpbase", + "libarcsoft_low_light_hdr", + "libarcsoft_high_dynamic_range", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.realtimebokeh", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.realtimebokeh.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libcutils", + "libarcsoft_dualcam_refocus", + "libmpbase", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.skinbeautifier", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.skinbeautifier.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libsync", + "libarcsoft_beautyshot", + "libutils", + "libcutils", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.smoothtransition", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.smoothtransition.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libcutils", + "libsync", + "libarcsoft_dualcam_video_optical_zoom", + "libmpbase", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.arcsoft.node.superlowlight", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.arcsoft.node.superlowlight.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libmpbase", + "libarcsoft_supernight", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.mi.node.aiadd", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.mi.node.aiadd.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libc++", + "libcamera_dirty", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.mi.node.aiasd", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.mi.node.aiasd.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libSNPE", + "libc++_shared", + "libsymphony-cpu", + "libsymphonypower", + "libcamera_scene", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.eisv2", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.eisv2.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.eisv3", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.eisv3.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.hvx.addconstant", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.hvx.addconstant.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.hvx.binning", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.hvx.binning.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.dummyrtb", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.dummyrtb.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.dummysat", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.dummysat.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.eisv2", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.eisv2.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libcdsprpc", + "libssc", + "libprotobuf-cpp-full-vendorcompat", + "libhardware", + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libsync", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.eisv3", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.eisv3.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libcdsprpc", + "libssc", + "libprotobuf-cpp-full-vendorcompat", + "libhardware", + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libsync", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.gpu", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.gpu.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libcutils", + "liblog", + "libsync", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.memcpy", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.memcpy.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.photosolid", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.photosolid.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libxml2", + "lib_denoiser3", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.remosaic", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.remosaic.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libremosaic_daemon", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.sr", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.sr.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libcutils", + "libutils", + "libHalSuperSensorServer", + "libSuperSensor", + "libSuperSensorCPU", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.swregistration", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.swregistration.so", + ], + shared_libs: [ + "libcamera_metadata", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.watermark", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.watermark.so", + ], + shared_libs: [ + "libpiex_shim", + "libcutils", + "libutils", + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libjpeg", + "libpng", + "libz", + "libpiex", + "libexpat", + "libdng_sdk", + "libEGL", + "libGLESv2", + "libnativewindow", + "libft2vendor", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.node.xiaomigenderage", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.node.xiaomigenderage.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libxml2", + "libFaceGrade", + "libXMFD_AgeGender", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.aec", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.aec.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.aecwrapper", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.aecwrapper.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libprotobuf-cpp-full-vendorcompat", + "libsensorslog", + "libssc", + "libsnsdiaglog", + "libvidhance", + "libutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.af", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.af.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.afd", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.afd.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.asd", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.asd.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.awb", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.awb.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.awbwrapper", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.awbwrapper.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.pdlib", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.pdlib.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.pdlibsony", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.pdlibsony.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.stats.pdlibwrapper", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.qti.stats.pdlibwrapper.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.vidhance.node.eis", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.vidhance.node.eis.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "libvidhance", + "libutils", + "libcutils", + "libui", + "libprotobuf-cpp-full-vendorcompat", + "libsensorslog", + "libssc", + "libsnsdiaglog", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.xiaomi.node.mibokeh", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/camera/components/com.xiaomi.node.mibokeh.so", + ], + shared_libs: [ + "libcamera_metadata", + "libcom.qti.chinodeutils", + "liblog", + "libutils", + "libcutils", + "libmibokeh_845", + "libarcsoft_portrait_lighting", + "libarcsoft_portrait_lighting_c", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "camera/components", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "camera.qcom", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/hw/camera.qcom.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libcdsprpc", + "libssc", + "libprotobuf-cpp-full-vendorcompat", + "libhardware", + "libqdMetaData", + "libcamera_metadata", + "libcamxfdengine", + "libcamxstatscore", + "libsync", + "libz", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "com.qti.chi.override", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/hw/com.qti.chi.override.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libcamera_metadata", + "libhardware", + "libutils", + "libgrallocutils", + "libprotobuf-cpp-full-vendorcompat", + "libsensorslog", + "libssc", + "libsnsdiaglog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libFaceGrade", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libFaceGrade.so", + ], + shared_libs: [ + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libHalSuperSensorServer", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libHalSuperSensorServer.so", + ], + shared_libs: [ + "libSuperSensor", + "libSuperSensorCPU", + "liblog", + "libm", + "libdl", + "libc", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libSNPE", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libSNPE.so", + ], + shared_libs: [ + "libsymphony-cpu", + "libsymphonypower", + "libdl", + "liblog", + "libc++_shared", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + check_elf_files: false, + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libSuperSensor", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libSuperSensor.so", + ], + shared_libs: [ + "liblog", + "libm", + "libc", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libSuperSensorCPU", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libSuperSensorCPU.so", + ], + shared_libs: [ + "liblog", + "libm", + "libdl", + "libc", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libXMFD_AgeGender", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libXMFD_AgeGender.so", + ], + shared_libs: [ + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "lib_denoiser3", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/lib_denoiser3.so", + ], + shared_libs: [ + "libdl", + "liblog", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libacdbloader", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libacdbloader.so", + ], + shared_libs: [ + "libcutils", + "libutils", + "liblog", + "libaudcal", + "libtinyalsa", + "libacdbrtac", + "libadiertac", + "libacdb-fts", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_beautyshot", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_beautyshot.so", + ], + shared_libs: [ + "libmpbase", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_dualcam_image_optical_zoom", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_dualcam_image_optical_zoom.so", + ], + shared_libs: [ + "libmpbase", + "libOpenCL", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_dualcam_refocus", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_dualcam_refocus.so", + ], + shared_libs: [ + "libarcsoft_dualcam_refocus_rear_t", + "libarcsoft_dualcam_refocus_rear_w", + "libarcsoft_dualcam_refocus_front", + "libmpbase", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_dualcam_refocus_front", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_dualcam_refocus_front.so", + ], + shared_libs: [ + "libmpbase", + "libcdsprpc", + "libOpenCL", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_dualcam_refocus_rear_t", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_dualcam_refocus_rear_t.so", + ], + shared_libs: [ + "libmpbase", + "libcdsprpc", + "libOpenCL", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_dualcam_refocus_rear_w", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_dualcam_refocus_rear_w.so", + ], + shared_libs: [ + "libmpbase", + "libcdsprpc", + "libOpenCL", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_dualcam_video_optical_zoom", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_dualcam_video_optical_zoom.so", + ], + shared_libs: [ + "libmpbase", + "libOpenCL", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_high_dynamic_range", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_high_dynamic_range.so", + ], + shared_libs: [ + "libmpbase", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_low_light_hdr", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_low_light_hdr.so", + ], + shared_libs: [ + "libmpbase", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_portrait_lighting", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_portrait_lighting.so", + ], + shared_libs: [ + "libmpbase", + "libarcsoft_portrait_lighting_c", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_portrait_lighting_c", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_portrait_lighting_c.so", + ], + shared_libs: [ + "libOpenCL", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libarcsoft_supernight", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libarcsoft_supernight.so", + ], + shared_libs: [ + "libmpbase", + "liblog", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libc++_shared", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libc++_shared.so", + ], + shared_libs: [ + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcamera_dirty", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcamera_dirty.so", + ], + shared_libs: [ + "liblog", + "libm", + "libc", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcamera_scene", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcamera_scene.so", + ], + shared_libs: [ + "libSNPE", + "libsymphony-cpu", + "libsymphonypower", + "libc++_shared", + "liblog", + "libm", + "libc", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcamxfdalgov7", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcamxfdalgov7.so", + ], + shared_libs: [ + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcamxfdengine", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcamxfdengine.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libcamxfdalgov7", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcamxstatscore", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcamxstatscore.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcamxtintlessalgo", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcamxtintlessalgo.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libsync", + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcom.qti.chinodeutils", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcom.qti.chinodeutils.so", + ], + shared_libs: [ + "libcamera_metadata", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libcsd-client", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libcsd-client.so", + ], + shared_libs: [ + "libutils", + "libqmi_cci", + "libqmi_common_so", + "libacdbloader", + "libcutils", + "libmdmdetect", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libft2vendor", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libft2vendor.so", + ], + shared_libs: [ + "libpng", + "libz", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libmibokeh_845", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libmibokeh_845.so", + ], + shared_libs: [ + "libOpenCL", + "liblog", + "libz", + "libc", + "libdl", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libmmcamera_faceproc", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libmmcamera_faceproc.so", + ], + shared_libs: [ + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libmmcamera_faceproc2", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libmmcamera_faceproc2.so", + ], + shared_libs: [ + "libc++", + "libdl", + "libc", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libmpbase", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libmpbase.so", + ], + shared_libs: [ + "libc", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libpn553_fw", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib/libpn553_fw.so", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libscveFaceLandmarks", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libscveFaceLandmarks.so", + ], + shared_libs: [ + "liblog", + "libfastcvopt", + "libscveCommon", + "libmmcamera_faceproc", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libscveFaceRecognition", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libscveFaceRecognition.so", + ], + shared_libs: [ + "libmmcamera_faceproc2", + "liblog", + "libfastcvopt", + "libscveCommon", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libswregistrationalgo", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libswregistrationalgo.so", + ], + shared_libs: [ + "libc++", + "libcutils", + "liblog", + "libcdsprpc", + "libssc", + "libprotobuf-cpp-full-vendorcompat", + "libz", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libsymphony-cpu", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libsymphony-cpu.so", + ], + shared_libs: [ + "liblog", + "libsymphonypower", + "libc++_shared", + "libm", + "libdl", + "libc", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libsymphonypower", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libsymphonypower.so", + ], + shared_libs: [ + "libm", + "liblog", + "libdl", + "libc", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libtonemapalgo", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libtonemapalgo.so", + ], + shared_libs: [ + "libc", + "libc++", + "libcutils", + "libdl", + "liblog", + "libcdsprpc", + "libssc", + "libprotobuf-cpp-full-vendorcompat", + "libm", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libvidhance", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/libvidhance.so", + ], + shared_libs: [ + "libdl", + "libm", + "libGLESv3", + "libEGL", + "libGLESv2", + "liblog", + "libc", + ], + }, + }, + compile_multilib: "32", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "android.hardware.gnss@2.0-impl-xiaomi", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/android.hardware.gnss@2.0-impl-xiaomi.so", + ], + shared_libs: [ + "liblog", + "libhidlbase", + "libhidltransport", + "libutils", + "android.hardware.gnss@1.0", + "android.hardware.gnss@1.1", + "android.hardware.gnss@2.0", + "android.hardware.gnss.measurement_corrections@1.0", + "android.hardware.gnss.visibility_control@1.0", + "libhardware", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "android.hardware.bluetooth@1.0-impl-qti", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so", + ], + shared_libs: [ + "libbase", + "libcutils", + "libhidlbase", + "libhidltransport", + "liblog", + "libutils", + "libdiag", + "libqmiservices", + "libqmi_cci", + "libbtnv", + "android.hardware.bluetooth@1.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "android.hardware.keymaster@3.0-impl-qti", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so", + ], + shared_libs: [ + "liblog", + "libcrypto", + "libhidlbase", + "libhidltransport", + "libhwbinder", + "libutils", + "libcutils", + "libkeymasterdeviceutils", + "android.hardware.keymaster@3.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "android.hardware.secure_element@1.0-impl", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/android.hardware.secure_element@1.0-impl.so", + ], + shared_libs: [ + "libhidlbase", + "libhidltransport", + "libutils", + "liblog", + "libhardware", + "libbase", + "libcutils", + "libhwbinder", + "libcrypto", + "vendor.xiaomi.hardware.mtdservice@1.0", + "android.hardware.secure_element@1.0", + "libGPTEE_vendor", + "vendor.qti.esepowermanager@1.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "fingerprint.fpc.sdm845", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/fingerprint.fpc.sdm845.so", + ], + shared_libs: [ + "liblog", + "libutils", + "libhidlbase", + "libhidltransport", + "com.fingerprints.extension@1.0", + "libQSEEComAPI", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "fingerprint.goodix.sdm845", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/fingerprint.goodix.sdm845.so", + ], + shared_libs: [ + "libgf_hal", + "liblog", + "libhardware", + "libutils", + "libhidlbase", + "libhidltransport", + "vendor.goodix.hardware.fingerprintextension@1.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "flp.brcm", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/flp.brcm.so", + ], + shared_libs: [ + "liblog", + "libcutils", + "libutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "gps.brcm", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/gps.brcm.so", + ], + shared_libs: [ + "liblog", + "libcutils", + "libutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "vendor.qti.hardware.bluetooth_sar@1.0-impl", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so", + ], + shared_libs: [ + "libhidlbase", + "libhidltransport", + "libutils", + "liblog", + "libhwbinder", + "libbase", + "libcutils", + "libhardware", + "vendor.qti.hardware.bluetooth_sar@1.0", + "android.hardware.bluetooth@1.0", + "android.hardware.bluetooth@1.0-impl-qti", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "vendor.qti.hardware.btconfigstore@1.0-impl", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so", + ], + shared_libs: [ + "libbase", + "libcutils", + "libhidlbase", + "libhidltransport", + "liblog", + "libhwbinder", + "libutils", + "vendor.qti.hardware.btconfigstore@1.0", + "android.hardware.bluetooth@1.0-impl-qti", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + relative_install_path: "hw", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libbtnv", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libbtnv.so", + ], + shared_libs: [ + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libdiagjni", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libdiagjni.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libgf_ca", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libgf_ca.so", + ], + shared_libs: [ + "libQSEEComAPI", + "liblog", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libgf_hal", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libgf_hal.so", + ], + shared_libs: [ + "libcutils", + "libgf_ca", + "libqti-perfd-client", + "liblog", + "libbinder", + "libutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libgps.utils", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libgps.utils.so", + ], + shared_libs: [ + "libutils", + "libcutils", + "liblog", + "libprocessgroup", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "libremosaiclib", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libremosaiclib.so", + ], + shared_libs: [ + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "sensors.ssc", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/sensors.ssc.so", + ], + shared_libs: [ + "libssc", + "liblog", + "libcutils", + "libsensorslog", + "libprotobuf-cpp-full-vendorcompat", + "libutils", + "libsnsdiaglog", + "libhardware", + "libsns_low_lat_stream_stub", + "libsns_fastRPC_util", + "libsdsprpc", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "vendor.qti.hardware.bluetooth_sar@1.0", + owner: "xiaomi", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so", + ], + shared_libs: [ + "libhidlbase", + "libhidltransport", + "libhwbinder", + "liblog", + "libutils", + "libcutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + +prebuilt_rfsa { + name: "dirac_resource", + filename: "dirac_resource.dar", + owner: "xiaomi", + src: "proprietary/vendor/lib/rfsa/adsp/dirac_resource.dar", + relative_install_path: "adsp", + soc_specific: true, +} + +prebuilt_rfsa { + name: "libSuperSensor_skel", + filename: "libSuperSensor_skel.so", + owner: "xiaomi", + src: "proprietary/vendor/lib/rfsa/adsp/libSuperSensor_skel.so", + relative_install_path: "adsp", + soc_specific: true, +} + +prebuilt_rfsa { + name: "libarcsoft_dualcam_refocus_skel", + filename: "libarcsoft_dualcam_refocus_skel.so", + owner: "xiaomi", + src: "proprietary/vendor/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel.so", + relative_install_path: "adsp", + soc_specific: true, +} + +prebuilt_rfsa { + name: "misound_res", + filename: "misound_res.bin", + owner: "xiaomi", + src: "proprietary/vendor/lib/rfsa/adsp/misound_res.bin", + relative_install_path: "adsp", + soc_specific: true, +} + +cc_prebuilt_binary { + name: "glgps", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/glgps", + ], + shared_libs: [ + "liblog", + "libutils", + "libhardware_legacy", + "libcutils", + "libxml2", + "libssl", + "libcrypto", + "android.frameworks.sensorservice@1.0", + "libhidlbase", + "libandroid_net", + "libz", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + soc_specific: true, +} + +sh_binary { + name: "gps.cer", + owner: "xiaomi", + src: "proprietary/vendor/bin/gps.cer", + filename: "gps.cer", + soc_specific: true, +} + +cc_prebuilt_binary { + name: "android.hardware.bluetooth@1.0-service-qti", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti", + ], + shared_libs: [ + "liblog", + "libcutils", + "libutils", + "libhwbinder", + "libhidlbase", + "libhidltransport", + "android.hardware.bluetooth@1.0", + "vendor.qti.hardware.bluetooth_sar@1.0", + "vendor.qti.hardware.btconfigstore@1.0", + "libqti_vndfwk_detect", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + relative_install_path: "hw", + soc_specific: true, +} + +cc_prebuilt_binary { + name: "android.hardware.keymaster@3.0-service-qti", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/hw/android.hardware.keymaster@3.0-service-qti", + ], + shared_libs: [ + "liblog", + "libcutils", + "libbase", + "libutils", + "libhardware_legacy", + "libhardware", + "libhwbinder", + "libhidlbase", + "libhidltransport", + "android.hardware.keymaster@3.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + relative_install_path: "hw", + soc_specific: true, +} + +cc_prebuilt_binary { + name: "vendor.qti.secure_element@1.0-service", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/hw/vendor.qti.secure_element@1.0-service", + ], + shared_libs: [ + "liblog", + "libcutils", + "libbase", + "libutils", + "libhardware", + "libhidlbase", + "libhidltransport", + "android.hardware.secure_element@1.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + relative_install_path: "hw", + soc_specific: true, +} + +cc_prebuilt_binary { + name: "ignss_2_0", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/ignss_2_0", + ], + shared_libs: [ + "liblog", + "libutils", + "libhardware", + "android.hardware.gnss@1.0", + "libhidlbase", + "libhidltransport", + "libhwbinder", + "android.hardware.gnss@2.0-impl-xiaomi", + "android.hardware.gnss@1.1", + "android.hardware.gnss@2.0", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + soc_specific: true, +} + +cc_prebuilt_binary { + name: "lhd", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/lhd", + ], + shared_libs: [ + "liblog", + "libutils", + "libz", + "libhardware_legacy", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + soc_specific: true, +} + +cc_prebuilt_binary { + name: "remosaic_daemon", + owner: "xiaomi", + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/bin/remosaic_daemon", + ], + shared_libs: [ + "liblog", + "libutils", + "libbinder", + "libremosaic_daemon", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + strip: { + none: true, + }, + prefer: true, + soc_specific: true, +} diff --git a/dipper-vendor.mk b/dipper-vendor.mk index 30c36b7..5c64e95 100644 --- a/dipper-vendor.mk +++ b/dipper-vendor.mk @@ -6,14 +6,6 @@ PRODUCT_SOONG_NAMESPACES += \ vendor/xiaomi/dipper PRODUCT_COPY_FILES += \ - vendor/xiaomi/dipper/proprietary/vendor/bin/glgps:$(TARGET_COPY_OUT_VENDOR)/bin/glgps \ - vendor/xiaomi/dipper/proprietary/vendor/bin/gps.cer:$(TARGET_COPY_OUT_VENDOR)/bin/gps.cer \ - vendor/xiaomi/dipper/proprietary/vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti:$(TARGET_COPY_OUT_VENDOR)/bin/hw/android.hardware.bluetooth@1.0-service-qti \ - vendor/xiaomi/dipper/proprietary/vendor/bin/hw/android.hardware.keymaster@3.0-service-qti:$(TARGET_COPY_OUT_VENDOR)/bin/hw/android.hardware.keymaster@3.0-service-qti \ - vendor/xiaomi/dipper/proprietary/vendor/bin/hw/vendor.qti.secure_element@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.secure_element@1.0-service \ - vendor/xiaomi/dipper/proprietary/vendor/bin/ignss_2_0:$(TARGET_COPY_OUT_VENDOR)/bin/ignss_2_0 \ - vendor/xiaomi/dipper/proprietary/vendor/bin/lhd:$(TARGET_COPY_OUT_VENDOR)/bin/lhd \ - vendor/xiaomi/dipper/proprietary/vendor/bin/remosaic_daemon:$(TARGET_COPY_OUT_VENDOR)/bin/remosaic_daemon \ vendor/xiaomi/dipper/proprietary/vendor/etc/SensorHub.patch:$(TARGET_COPY_OUT_VENDOR)/etc/SensorHub.patch \ vendor/xiaomi/dipper/proprietary/vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb \ vendor/xiaomi/dipper/proprietary/vendor/etc/acdbdata/Forte/Forte_Codec_cal.acdb:$(TARGET_COPY_OUT_VENDOR)/etc/acdbdata/Forte/Forte_Codec_cal.acdb \ @@ -114,10 +106,6 @@ PRODUCT_COPY_FILES += \ vendor/xiaomi/dipper/proprietary/vendor/firmware/libpn553_rec.so:$(TARGET_COPY_OUT_VENDOR)/firmware/libpn553_rec.so \ vendor/xiaomi/dipper/proprietary/vendor/firmware/tas2557_uCDSP_aac.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557_uCDSP_aac.bin \ vendor/xiaomi/dipper/proprietary/vendor/firmware/tas2557_uCDSP_goer.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/tas2557_uCDSP_goer.bin \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensor.imx363.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensor.imx363.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensor.ov7251.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensor.ov7251.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensor.s5k3m3.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensor.s5k3m3.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensor.s5k3t1.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensor.s5k3t1.so \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensormodule.imx333.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensormodule.imx333.bin \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensormodule.imx363.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensormodule.imx363.bin \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.sensormodule.liteon_imx333.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.sensormodule.liteon_imx333.bin \ @@ -135,44 +123,6 @@ PRODUCT_COPY_FILES += \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.tuned.semco_s5k3m3.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.tuned.semco_s5k3m3.bin \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.tuned.sunny_ov7251.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.tuned.sunny_ov7251.bin \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/com.qti.tuned.sunny_s5k3t1.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/com.qti.tuned.sunny_s5k3t1.bin \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.capturebokeh.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.capturebokeh.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.capturefusion.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.capturefusion.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.hdr.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.hdr.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.hdrchecker.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.hdrchecker.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.realtimebokeh.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.realtimebokeh.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.skinbeautifier.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.skinbeautifier.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.smoothtransition.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.smoothtransition.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.arcsoft.node.superlowlight.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.arcsoft.node.superlowlight.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.mi.node.aiadd.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.mi.node.aiadd.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.mi.node.aiasd.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.mi.node.aiasd.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.eisv2.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.eisv2.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.eisv3.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.eisv3.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.hvx.addconstant.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.hvx.addconstant.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.hvx.binning.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.hvx.binning.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.dummyrtb.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.dummyrtb.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.dummysat.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.dummysat.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.eisv2.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.eisv2.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.eisv3.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.eisv3.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.gpu.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.gpu.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.memcpy.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.memcpy.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.photosolid.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.photosolid.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.remosaic.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.remosaic.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.sr.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.sr.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.swregistration.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.swregistration.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.watermark.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.watermark.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.node.xiaomigenderage.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.node.xiaomigenderage.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.aec.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.aec.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.aecwrapper.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.aecwrapper.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.af.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.af.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.afd.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.afd.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.asd.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.asd.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.awb.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.awb.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.awbwrapper.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.awbwrapper.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.pdlib.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.pdlib.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.pdlibsony.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.pdlibsony.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.qti.stats.pdlibwrapper.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.qti.stats.pdlibwrapper.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.vidhance.node.eis.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.vidhance.node.eis.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/com.xiaomi.node.mibokeh.so:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/com.xiaomi.node.mibokeh.so \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/etc/GpuKernelRepo.pb:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/etc/GpuKernelRepo.pb \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/etc/model_back.dlc:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/etc/model_back.dlc \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/components/etc/model_front.dlc:$(TARGET_COPY_OUT_VENDOR)/lib/camera/components/etc/model_front.dlc \ @@ -183,72 +133,123 @@ PRODUCT_COPY_FILES += \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/fdconfigpreviewlite.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/fdconfigpreviewlite.bin \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/fdconfigvideo.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/fdconfigvideo.bin \ vendor/xiaomi/dipper/proprietary/vendor/lib/camera/fdconfigvideolite.bin:$(TARGET_COPY_OUT_VENDOR)/lib/camera/fdconfigvideolite.bin \ - vendor/xiaomi/dipper/proprietary/vendor/lib/hw/camera.qcom.so:$(TARGET_COPY_OUT_VENDOR)/lib/hw/camera.qcom.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/hw/com.qti.chi.override.so:$(TARGET_COPY_OUT_VENDOR)/lib/hw/com.qti.chi.override.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libFaceGrade.so:$(TARGET_COPY_OUT_VENDOR)/lib/libFaceGrade.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libHalSuperSensorServer.so:$(TARGET_COPY_OUT_VENDOR)/lib/libHalSuperSensorServer.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libSNPE.so:$(TARGET_COPY_OUT_VENDOR)/lib/libSNPE.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libSuperSensor.so:$(TARGET_COPY_OUT_VENDOR)/lib/libSuperSensor.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libSuperSensorCPU.so:$(TARGET_COPY_OUT_VENDOR)/lib/libSuperSensorCPU.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libXMFD_AgeGender.so:$(TARGET_COPY_OUT_VENDOR)/lib/libXMFD_AgeGender.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/lib_denoiser3.so:$(TARGET_COPY_OUT_VENDOR)/lib/lib_denoiser3.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libacdbloader.so:$(TARGET_COPY_OUT_VENDOR)/lib/libacdbloader.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_beautyshot.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_beautyshot.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_dualcam_image_optical_zoom.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_dualcam_image_optical_zoom.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_dualcam_refocus.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_dualcam_refocus.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_dualcam_refocus_front.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_dualcam_refocus_front.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_dualcam_refocus_rear_t.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_dualcam_refocus_rear_t.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_dualcam_refocus_rear_w.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_dualcam_refocus_rear_w.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_dualcam_video_optical_zoom.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_dualcam_video_optical_zoom.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_high_dynamic_range.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_high_dynamic_range.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_low_light_hdr.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_low_light_hdr.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_portrait_lighting.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_portrait_lighting.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_portrait_lighting_c.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_portrait_lighting_c.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libarcsoft_supernight.so:$(TARGET_COPY_OUT_VENDOR)/lib/libarcsoft_supernight.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libc++_shared.so:$(TARGET_COPY_OUT_VENDOR)/lib/libc++_shared.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcamera_dirty.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcamera_dirty.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcamera_scene.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcamera_scene.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcamxfdalgov7.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcamxfdalgov7.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcamxfdengine.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcamxfdengine.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcamxstatscore.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcamxstatscore.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcamxtintlessalgo.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcamxtintlessalgo.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libcom.qti.chinodeutils.so:$(TARGET_COPY_OUT_VENDOR)/lib/libcom.qti.chinodeutils.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libft2vendor.so:$(TARGET_COPY_OUT_VENDOR)/lib/libft2vendor.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libmibokeh_845.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmibokeh_845.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libmmcamera_faceproc.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmmcamera_faceproc.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libmmcamera_faceproc2.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmmcamera_faceproc2.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libmpbase.so:$(TARGET_COPY_OUT_VENDOR)/lib/libmpbase.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libnanopb.so:$(TARGET_COPY_OUT_VENDOR)/lib/libnanopb.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libpn553_fw.so:$(TARGET_COPY_OUT_VENDOR)/lib/libpn553_fw.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libremosaic_daemon.so:$(TARGET_COPY_OUT_VENDOR)/lib/libremosaic_daemon.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libscveFaceLandmarks.so:$(TARGET_COPY_OUT_VENDOR)/lib/libscveFaceLandmarks.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libscveFaceRecognition.so:$(TARGET_COPY_OUT_VENDOR)/lib/libscveFaceRecognition.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libswregistrationalgo.so:$(TARGET_COPY_OUT_VENDOR)/lib/libswregistrationalgo.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libsymphony-cpu.so:$(TARGET_COPY_OUT_VENDOR)/lib/libsymphony-cpu.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libsymphonypower.so:$(TARGET_COPY_OUT_VENDOR)/lib/libsymphonypower.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libtonemapalgo.so:$(TARGET_COPY_OUT_VENDOR)/lib/libtonemapalgo.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/libvidhance.so:$(TARGET_COPY_OUT_VENDOR)/lib/libvidhance.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/mibokeh_845_opencl.bin:$(TARGET_COPY_OUT_VENDOR)/lib/mibokeh_845_opencl.bin \ - vendor/xiaomi/dipper/proprietary/vendor/lib/rfsa/adsp/dirac_resource.dar:$(TARGET_COPY_OUT_VENDOR)/lib/rfsa/adsp/dirac_resource.dar \ - vendor/xiaomi/dipper/proprietary/vendor/lib/rfsa/adsp/libSuperSensor_skel.so:$(TARGET_COPY_OUT_VENDOR)/lib/rfsa/adsp/libSuperSensor_skel.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel.so:$(TARGET_COPY_OUT_VENDOR)/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib/rfsa/adsp/misound_res.bin:$(TARGET_COPY_OUT_VENDOR)/lib/rfsa/adsp/misound_res.bin \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/android.hardware.gnss@2.0-impl-xiaomi.so:$(TARGET_COPY_OUT_VENDOR)/lib64/android.hardware.gnss@2.0-impl-xiaomi.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/android.hardware.secure_element@1.0-impl.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/android.hardware.secure_element@1.0-impl.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/fingerprint.fpc.sdm845.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/fingerprint.fpc.sdm845.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/fingerprint.goodix.sdm845.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/fingerprint.goodix.sdm845.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/flp.brcm.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/flp.brcm.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/hw/gps.brcm.so:$(TARGET_COPY_OUT_VENDOR)/lib64/hw/gps.brcm.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libbtnv.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libbtnv.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libdiagjni.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdiagjni.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libgf_ca.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libgf_ca.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libgf_hal.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libgf_hal.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libgps.utils.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libgps.utils.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libkeymasterdeviceutils.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libkeymasterdeviceutils.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libkeymasterprovision.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libkeymasterprovision.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libkeymasterutils.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libkeymasterutils.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libremosaic_daemon.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libremosaic_daemon.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/libremosaiclib.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libremosaiclib.so \ - vendor/xiaomi/dipper/proprietary/vendor/lib64/sensors.ssc.so:$(TARGET_COPY_OUT_VENDOR)/lib64/sensors.ssc.so + vendor/xiaomi/dipper/proprietary/vendor/lib/mibokeh_845_opencl.bin:$(TARGET_COPY_OUT_VENDOR)/lib/mibokeh_845_opencl.bin + +PRODUCT_PACKAGES += \ + libremosaic_daemon \ + com.qti.sensor.imx363 \ + com.qti.sensor.ov7251 \ + com.qti.sensor.s5k3m3 \ + com.qti.sensor.s5k3t1 \ + com.arcsoft.node.capturebokeh \ + com.arcsoft.node.capturefusion \ + com.arcsoft.node.hdr \ + com.arcsoft.node.hdrchecker \ + com.arcsoft.node.realtimebokeh \ + com.arcsoft.node.skinbeautifier \ + com.arcsoft.node.smoothtransition \ + com.arcsoft.node.superlowlight \ + com.mi.node.aiadd \ + com.mi.node.aiasd \ + com.qti.eisv2 \ + com.qti.eisv3 \ + com.qti.hvx.addconstant \ + com.qti.hvx.binning \ + com.qti.node.dummyrtb \ + com.qti.node.dummysat \ + com.qti.node.eisv2 \ + com.qti.node.eisv3 \ + com.qti.node.gpu \ + com.qti.node.memcpy \ + com.qti.node.photosolid \ + com.qti.node.remosaic \ + com.qti.node.sr \ + com.qti.node.swregistration \ + com.qti.node.watermark \ + com.qti.node.xiaomigenderage \ + com.qti.stats.aec \ + com.qti.stats.aecwrapper \ + com.qti.stats.af \ + com.qti.stats.afd \ + com.qti.stats.asd \ + com.qti.stats.awb \ + com.qti.stats.awbwrapper \ + com.qti.stats.pdlib \ + com.qti.stats.pdlibsony \ + com.qti.stats.pdlibwrapper \ + com.vidhance.node.eis \ + com.xiaomi.node.mibokeh \ + camera.qcom \ + com.qti.chi.override \ + libFaceGrade \ + libHalSuperSensorServer \ + libSNPE \ + libSuperSensor \ + libSuperSensorCPU \ + libXMFD_AgeGender \ + lib_denoiser3 \ + libacdbloader \ + libarcsoft_beautyshot \ + libarcsoft_dualcam_image_optical_zoom \ + libarcsoft_dualcam_refocus \ + libarcsoft_dualcam_refocus_front \ + libarcsoft_dualcam_refocus_rear_t \ + libarcsoft_dualcam_refocus_rear_w \ + libarcsoft_dualcam_video_optical_zoom \ + libarcsoft_high_dynamic_range \ + libarcsoft_low_light_hdr \ + libarcsoft_portrait_lighting \ + libarcsoft_portrait_lighting_c \ + libarcsoft_supernight \ + libc++_shared \ + libcamera_dirty \ + libcamera_scene \ + libcamxfdalgov7 \ + libcamxfdengine \ + libcamxstatscore \ + libcamxtintlessalgo \ + libcom.qti.chinodeutils \ + libcsd-client \ + libft2vendor \ + libmibokeh_845 \ + libmmcamera_faceproc \ + libmmcamera_faceproc2 \ + libmpbase \ + libpn553_fw \ + libscveFaceLandmarks \ + libscveFaceRecognition \ + libswregistrationalgo \ + libsymphony-cpu \ + libsymphonypower \ + libtonemapalgo \ + libvidhance \ + android.hardware.gnss@2.0-impl-xiaomi \ + android.hardware.bluetooth@1.0-impl-qti \ + android.hardware.keymaster@3.0-impl-qti \ + android.hardware.secure_element@1.0-impl \ + fingerprint.fpc.sdm845 \ + fingerprint.goodix.sdm845 \ + flp.brcm \ + gps.brcm \ + vendor.qti.hardware.bluetooth_sar@1.0-impl \ + vendor.qti.hardware.btconfigstore@1.0-impl \ + libbtnv \ + libdiagjni \ + libgf_ca \ + libgf_hal \ + libgps.utils \ + libremosaiclib \ + sensors.ssc \ + vendor.qti.hardware.bluetooth_sar@1.0 \ + dirac_resource \ + libSuperSensor_skel \ + libarcsoft_dualcam_refocus_skel \ + misound_res \ + glgps \ + gps.cer \ + android.hardware.bluetooth@1.0-service-qti \ + android.hardware.keymaster@3.0-service-qti \ + vendor.qti.secure_element@1.0-service \ + ignss_2_0 \ + lhd \ + remosaic_daemon diff --git a/proprietary/vendor/lib/libarcsoft_dualcam_refocus_front.so b/proprietary/vendor/lib/libarcsoft_dualcam_refocus_front.so index d9ea0d973a70a9b1907c113181ce0b6c3d381514..87a59b6b86bc8d5ece8a45111f26ff6c50deb0ac 100644 GIT binary patch delta 401 zcmWm8$1;Oq06#(aXbFSlZ+PvhfU_&WvO3oc%3)|HcaxqYx|6 zM~FT{6eCV4WdzEpppq)8siBrS>S>^nCYouXl{VVxpp!1T>7kcC`Wax5A%+=YlrhFh zFu^2K{J$odCdCZ1%#miE1r}LinH5%9W1S2eY_i2RJM6N@J_j6f#4#siIpvIVa$Io9 b71!KwOP)LKdEk*Jo_XPwx1SKbeX?_C$0693>|TlExB

_~-UK&YkmrbD!VQ96y;L7Rl2` z7<`36gnXhD5TlSHiYcL#GRmo-k}9f+Q$sCv)YCvCO*GR&D{ZvXK_^{w(?fz@`sinX zL5BGM9A<=3#u#UUNv4=)hFRvAXMshQSZ0M))>vnQO_FSpBF#2C?6OCOeGWL}h>&AW hIOU9UF1X~1EZ5v{%N_ST@W>O-yzt7~Zy3C%vwz#9e|Z1^ delta 426 zcmWm8MNR_&06!ixk`Ju*)84_Br5?BO;DD i;gmDZx!{s3GF)@REqC1Wz#~sQ^TI1{zft&}%KQQ4On-j> diff --git a/proprietary/vendor/lib/libarcsoft_dualcam_refocus_rear_w.so b/proprietary/vendor/lib/libarcsoft_dualcam_refocus_rear_w.so index 16044191accaa3e686ca81654ff34d88489d8883..089e14c91b0b3895431560c45c40fa0535a0d5aa 100644 GIT binary patch delta 426 zcmWm8)lEYI06@J@cJ8sZ||8uzH@CQ delta 426 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

D&heOB2H&G07KiAVc~CT=-^@H>|KCvHn8%Vu+fr zGGO0_8E|r#LAu677PX*;R!;RIVN~2;y|T3+(a<7^KDJB;-fKuvyg%CBxGg7Fww+6uC~8Yrc5F0HbxjCr^Ezv zRjw_?8%nTZlUs#^=t=qFvf|*5t2kCB z%eS`(TuHu_psb}JCg`W(wzdR(=<^oOpAYSrq`%)>R#-fbw)iwiL9~RP$+I#u!N$Pp znR6KEa4<13;r$xYZN9h_Kf@rcN7=aZ%$#NjTbu$p-c$=zX?{MeC$!d}gXEWE6S4nK$KnzgqM9K^(OOobJ%vhk(B?vH!Bu(2}z&i_IQj)ODxG^h0{Dh8EzBW;)U226w}TOW2Jo$w=0T4wL()!k5%0_WGVi8Ha~VT zHZNsdm^(v^lqw4l>qTi%VI4#S`PgY=i&KpMg(=x*LWaT-%%ZZuqOz9fmzD4Z2ok{N zGZnm__#!^(%daLV4Fwpu)!hIpEi4Du3eD;hIg~Cm&k+2CP`FwnZT(wsX`vpd>m;Na zKbeOjT5%LtrdiAxXIR|g0E>j;{Yq*nW>(qJ(n-rAv7>cDfl3Esz(ckb7&K`Sa?Yrl z9@{#9h+s>|8Gdmw2N)zjIheQD$(R4)Lip)}{NQt}c*YA`kZ*A~p;tLmVK}8H6cLJH zo6s3DR$8r$03m6h^ti^2L1f|%f(3STYFSw`;sSw&bkw33C~CH;@aEF`Ars#8=5 zw|>`sdKqj0FfM`$NUXq!0H_SFZ6jaX z$6(ZLp9KXnDqzK5l_&WbNLvDumK^sv1{)PRjDJDVod6X}!30MgQ8W~Ye0XvPvFH%J zP+bCiQ3Z)g=rf8#H5jF;?t@H#p;R9dRon*7H?eTvrG@`Z&c4*g+1sdq?{I^T5@^7R zpyht%B=Z#cqU@wpo;rH^B%C|p$N+pxSTS+&#fhU~-#-`5@#)FH`8+|1rzA2Q&$Ax< zB(^8+c4;+9IIZod>BS;gq^37+=!R+fFdTv7Zl#$SSzp}mD`EXuEE~l7vrf1Rn#{W3 zhUfs6fRur_ace}1gm(&R?V?M?{jW}JFzd~F;s%+8^}=ss^h13^P%awx2M40mFvMMp z-;o%K?-6V`i#J`5n_XSm4Y=FY2~P%6N3k(Tr5j}Nxb0;_{1{vZi(zA#18*zK#Csg> ze#IbdD&FJSbi60v7FZYLxC!5x>{iq~33qtABHvu}VhYPfA7-#Zq|Rgu@t(yN;XNB8 zj6s<@kP4@7yl-K5BIZ`M4DH^=?!xyRb~oOCV)wA_sB0DL$gpGKi>1$ z19<1Mhw#p0>+#NKkKjF@ZNPg0dldL6V4HxMLiQM1xt%=@EG%SCV$4PCDd1`mdj|2v z>{;Nng#8(*rR;h1{0{aa%9gR0@a<$TBTqSd1#_{O?ZSHr+rtvk?LW4~cMA7FH=*@t+qVIL!B1v`dP z_p*N=&wZ>Gt=!K(!}nVDIcDbp_D_62$i76LhuGJ6uVW{XXFWTG_=nlI=y@gk0Ti== z)#JU9ok8lOtO+@**jc z6oz*XrpLP{>Wu@vhU49fMdIBXcUj|DAJBIk@J%8%)!=;}`xJ9~KRb@^wd@PLAHYrWIE?lyP}M`M z4!;Goj(vle^~{a;!|Xe}E7^~DZ(t30Z)A;lKgyc%u3{~CZ(`^0-pqc+`!V(l-dos3 zydP(m@O}boAP)5ZJKkHF7w@N-MiU1dT?4v$22_>+OkIcfv%q%(@Rg7EpMjMGU`+?g zf1VjM3Ba8R-!HNVd=Cf3bpV~+fEw(W^NygTTM#o9^AimkT7cCs9rI%Z#=gh9g8hp{ znIB=N!Q;0=PDGh!Gw*7qS*_EoHfdHzX(V5mz9ihC*5PH;g)!+SomQt~(sTeGk8VUj z{^0Vk31Oy0@)RC%Cw_ZC7s;eBra?wcR9P&-{$#CAiPl7G%pz7BrByz8n7=eswP-;! zt2LFHnJK8IHlx%^G&+qzX{uFKY8Fwm8uXXYM5}Sshd*rBpE2l5tt%*!Dx<+_W3}-- zfr8@07uJ|HG1^#7yf#5AX_K@TO|oWSt3*u~HCdaiNzn`r$N+BI5xg`GzI*YQCJpX- z6C#v$N5>Olee=-<=J_0o$-jX~S~wVL4x5p&)yFCj3XioS`EUnq>?&kop)v4Hq>=%7 zFtLF#L4j2vi5d#)^z4ZFCW`@7$TL%Slmr73rpFs}fzhjtI%7~iM3_P&!b2k>{1Ksj z2o4)#qkvPk+GuL$FTx{q(LoVft!|Cc)IK=Qs53KkKfyO>EAVzWMw>u2fIL*h{0GrS z+`Dfxzfl)+wS|G+ewwgEU;@U2y(X9bt5h`?@+RkCrb*9nA2GwiDXb*QZ zCdG3!f*tT0uDMzbUH+(N*S1*-9ZI-bLf5M$bh}zY_p2pHS4)6e-Zmn8TrHvJ)e@50 zOd!$%YvYLP)pm}6$?4s84x_Hm)h7pc<*@R!x-hLtr;Wnmjl}~0pHMAz5!|gUJY1E` zS7{mkSBBNM%}!%x`&})e|J4$b+fKM@H~uG`HtGhnUAs{?@M;Nzu9lF}Isq&-)gLRE z?BL)S1!30(M*@+)aqwdQgRshc0_#xXj0xA#6!~iYqgc+<1PN)P^jhaq(&KaY5vyzkwe;w9NIdv%^HWb%IE7AdTr3g8ny9j1BgGg?|(S7e>?KF zOSdt0bSiK~`FqiJtg>?N)tG&grIyf$RediM5p{j4Y3hpq-%Z14fUx_u@j*2Ql8k6+ zwZ<>()W$i_3MvQ^S$&hqq)Tr#MQtDmIzm*GZg{J#hs{RQh&E%dZxstEXb9>-TU~EW zMIm!z1$8T8PMbtSXrlloL1Ta_e6J=VsJ%9_2X=vKJ`xiqg~q)T!>&QmkbbDRZlirZ z(G_E&{4AO>qgthwFpa4qBZ7;VQWG=l5W9LhCZbhe+lp+X7pOR>XlR(~|NoF8+UO?K z=`~|a!Dyr2t7yXD#nKbY3#^T_)j%SkSyYuiqi&>v8a1C$ccULyYECHD|NZx04Ez@Z z|HZ(6G4Nju{1*fN#lU|t@CO*sOjv3Smp|G6>od65JKlTo_k+ieYiyd7DKhRQAJq3{ zwWZ^=$ioU^Q%c9PgPY%CY(RrN+F*;EP-$ytTWZx6=zdANGu;+0e^)ORq-19oShBYj z9P!{@vh8p6^5}5+`TgwR3Y05-U1u|*E<=Igm$bzelsHnqyFkjeAYW-lxV!=R9KQO) zTh;$s{ow|df7oMksWmU%pCIZr1l7B>{=Bc&`TKvuZw|L^`@woSpzRrG`xB8bxUMDj zX*p^SGxopGW?gypDTV%V3_xA0kxzbo)o#5lN=mSGvbD!(=hdg|In=s^?Ko9m~@-V{pt<%HL};;7eae9!9zzNdV)`;h2z=)PUOJYn1Ogd}qk7xpckEZcVRf_bE?77d-v&j0h8bH_5-Y zXp&xahxIz;xw+qRtGVEvLL3Cj>s_CE*tYi?^|7q+Fn<1cswv{!1ZI+twtVFoX^v<- z9C^x`&#f4Q!)!L(jw>$bX>a zWJ5&Em@}HNu(5{Pc2BbYx7Ix6!L6G9vpH<{%qh>h+t$}V%uado(7(J9x=Mp|H=n1z zC|}WX$}^x|o8%=(aX)d%ddf2r>Dku@rWLe&iFGj{#U#&ci3c7N zfX4*nN*Ez10CBO1i$z@Q2=lcDHmd9fW2NEdkF#9(*b)g?!n{QPxXYPB-V;&xixgXA+ z@-W1+;h~uO3Mti(&$eB%X8(A~bJ~I@9r}>8|%9WBh21%$qK45YZ{Me-}O|nTF(xx zCh^cu;T<%?*NzGQk|-+t@z@k5-|yXh&O0jO=X+fm>0`uF3dKKgnc{CdiEuVJZ#k`( zsIw^r#>&zHL!}ZjoQq}QPoHcs3{JH%IpcRKF^x*FR2$XtHR#9MF{V%b zdB*ehb9f%sctjWL+1j32R@6|ALj{s0x5kAh!;&FSTcwq0_6yw}BS6BF}-&r#wmNIvWG7ms^+dwRWhv%eSXIE0FpeQlmmrUu*sbZR8;} zZ|Esc%}r`qqM{L~H3KQ7D0gC*nxfRYx%pjMn@F9B)B_=@_ciZyhe^z>kLw(|q1I{xouD58*GW?v!T^%IHvU(Xhag%xPBfsF8o+d2c=$ zCed0>wFS&2usYMTZcxt$H1fPlRAY2qVgW{uI;CM)B^s=tPRp$ZN$E+7uU5>5ewL?l zP~%#S-0oMMO(|^}F<*C>d z{IbB*V+RO2a6t?@M75jI@gH~pZdci4zK614p+2UBff*E8`YcZoo%DB0|K&!VM$Xh~D6l}u=9s)*Z> zJGeg+F@8M#L&Ol4GUQKOVba_74ZsmJC&G}X)^ni8>~8BE?*L0*+Z8NPnt?WCJ0**z*f@+rI%aZ0^isWim`T{**5RRhu<>Ev5gi---+w(z)?!z%BepCI^A%| zI_*bFU)w7E1k%@uHg12*3>|tn^x%jOz214BdA;-BVC?IEdc8e9@_H{E^Lo$X(SGXn zMng~TQ3GB1h}S#vZLjz6L9h4S&%NI9_|8QB&;Q}|-gzAQ^Z~E83gLH9t_$*Cdduq_ z^p4lN=@YMa7V2+;uKn!0UhgBQFB#!4k=`EZ3y{AL+Ijo1*Xu-h1)dktulxV*_5Ox< z8SR}y_+8X99QAJe!t1T6^LkHE+vw{A#J!BN4}R_SzIM{Vl0mX#|zQ_{^<8ajO!Zob3EeP;W>%;za##6 zJd5y5!4ro(myqXKJPYu=h_R>GG&m`SwWrM{w&E|ks^s`r4uhUOXwdv)VS6q8O_f!d844T-d7UHt0 zW03P3k#oUGUh9$+)HA(dR3X9H4Ox3M64f{sx{L)iO%u7(PL8yXblfmeEA5yEE{r}L zYtY`W$N-b_9k(-!=^%QLrsnH!Pj)18PNL?r`0D6p z@9yXxl-8wzM%D29{-9BreWTLLU9W_@+u5TX(Lv>|)GPSW%k8eHEwh7ff$pEi`U}Te z*$4GuG{V)GpGOXPz02@j`Zurl1AKpp?^m#X`XJvXd`Dt_zDGRvyyG`w&pUOy%hnb9 z=Lc-RTE7A>W(6H8&A?()z0PI(wLBJ~?ImM=XSl5xZSgBF`6*;Kjz zV45wwYIUYz;|i;^^vIr7lUCVRJHoJ+BdqiNU*OlqAuR_`ip4Jm- zmGwylT0^Bcc$SRKIO+__-+0n9Xul`)A4zqTz z(RN?9gps7QD6?jwS-WF|f7WsgJJS-4azRVw-XZp(j-f%ANQQO9D0jg;80EPwG47$r zF)Uz)5-@86?E@Wy0^(v?2y+t%heJubL9a1uLux^LG;3?bto2rAt=EZm=OmLx8jUhT zTTEN@=gN&?DW=L-bJJ~!wlRnu++wipSUB~JLGz1m&Z5Ch+6VRY#93;Odi(C#zhlni zv+UsX9r(LQw=wn<_{ZIl34K3?Yy=OF0KQ2NC?vlBhSz)7Ye>g;XFTD^L%81r+}Bm= zfP2m-dIO&(brxbP4ZGqc;u^=AO_BP|!)>a4ksH<=tmv2os>-7+``dR3lK|t7ltdBF5g) z(a~3f0W>k4V}jbh@vMUXSl~Yl_>bfGH_G#Xo1-t_FB;tnn=J6r4!GF67xED@Q2QqI zBj_=NgI9hDTeJpvCOA)txKVgFY*WJ}s!l-K@|jS_vZx&G6$Z$FwsO`08|a z$6iIw`T2@bu4|^!N1BO3qtC{);vq+yBi(8CA&wyd6#8y6_4`7zpF&T1(&IC_3Ctrgm+ucnD`7~34< z9)TR!2h8rLO_A=w_Q8(p0^*J|5q(@~BEGJyi73vKEVg!mb1ftZ@g$3w>!zj%G1n25 z&ttAr`CQjG>G@pi19(!5J%+DDzx;Zbw@1BQ+C)6*g(h||_BrU_e`ahM_6tKHBOK6Q zzMTzA9KsEl<35YZ!DB=oTAz<%o=;qbN5x!~M-@PN zL>q`d^ll>l#3jPCK>ifH^Cn<_Zc}UiWET7>yU8s0lR1Dt&29Qm_>-2fGL+gs+o;S% zjNnfl1%HYGo-ErTPiHZ<9y;A3&~*uPy@~jq2V6`Jp!2CdI`>mKapfq<@Dg!ll9zpo zB3-79pwCjG&o>*}l9{_3IeiB4q|J>AeVW^lncIM&Pa4~jnHw94GF^>CafcgQ%goh{ zt!3uYMxv5e8~q$fp-=FmK>7@jnJRs5ZS>QppBHUuY|V>W%gh^jd(>M?BhlyVMs{%E zv(UL`;_r(B-*)ICx>vp4gV1rlfP8ot@^J{_4?tdye;Mic{vK(kL7PO6t9B1));;tv zsPbkmF$@|pXXeNmWoBae%v|s19MEQN#LO_v@i6-^M|u$Fc>fHI^|doJ zGoCXs?qT+How0v_ckF`fehl)UJHCfvPI@5x zB))s>!QSX4q~rT`$n-mrhvw&T%*@DD2FP-f4DHUvhqFE&>j|!-#aBkZL^@3jbQ&|? z5pmt-F;%m%`*fV_VrE%TtC7B4*#5Ego(XKdXDZ9Mu&k8Md)C0N8uw`Q22+iuUu4bl zH#$@fO4Oux++eN@cOPpovjI}aN}by*Vmnll7C_^3H|z!{;ya4bef+bzA$sRz%x0G} z>3e$EdpdezHdRfj)2kXO6(tkSbQ1XO1p3;>rSV|I$Det2;j}YMd!c5utkr7!#n*On zbehOEbVTiBqa;n~?FP*1Flv8CgTMmjHoP|7b`76ZW;u&-vOd}Kn}GfI8$7sH`Q=pT zP0-!H2M<1mHSrE~$rHO_J5qS^l$UnvY_R|99<{CI_BvKzsWhR5-3@x%&4ASnn1d>u zAv|}=lb&R>X)OB>X4y0Y_8%N)<9qj;E?Iv?5AC)Y$X(PBwS#0S=1XGdvNfYGJrcpr z%@oioV48qQ0>)}|DU>qGH8PD)px{hkFzd0<0Q0i`neQ5Viya`Eu=l}Nu1>D?N>fWSn0>S7;ZkucHm{ci${k?k4MAg zF00<7oht9g+pfQ79)@kWsw3^S$wo{4{0e(*uX{(({Yo{fOTaf*+;W2HauL<=UiPqt@=Vwcyjy3wwTWiQ++(48 zCwdG!{q}gvuU6GgF_hzOXbA37+-vR1_?B6tPH1{)e`P;EVH{f95%@!13ad7aw3GmB z&2`KT!j`sPlW6Y2Bn7|YY<&ar<~VXD7LoOspNTKC8ssKWKKk0@SVQLw!`6-gdB-}& za_a_P&GLzsz*_%gJJ!%H4m+_ilQWMsbXeB0Qj-WP4$f(gYK^cD+%%b4R$7fU6C4x3 z>r?p&tU>-ui*XB`VVirn3QRAkBE8Aqkx#C#AH)VbsHGWb%OJaGcbqa5yePaNyuk9r z16|tH_9dS4NFP{{C>L6Ph;kOSFzL*X26-)P5L>sxUbdeA0UrUBkl;|WW>#YTpkIXDdQOaCV&gS;}09dD#-KOp+o8rPDXeL!rc(IK7sR! zm1NI_4vKPSl#6(rvHM-P}yY-ciG4_%J`#9ifFJy5!aJvEDJ9gqc0b!EK zWM{aV4*#Fo84U8606RlZzx0HiVK%U_{H$e9cUW!1Y$W+q8-qb!*@lh5Ag^e{#?S#f zn;4($HAn_o5;g_{`~ljsF&N|&*ckFQGxnsNu@69JFM=lS2YecO$%CLH8vDPqZyDs% zVlNqJKQPE&VJ{hM-@^J7_Jg+UTSI^a5B8Fw_AP^apqZ#?C#(ks`7HL5!S*eKTn+0% zuzkxQZ-@23AfE`Z9{gwaEra}ib8GvSL4Fr@gMVk=GROtIJ?icB=D&lwT(BFIZNlHB zpTOAPu-2afUw8v+vm?Iy?eKa#A^ZTo%~-cjK7(|855w~~@(}LV@G}gpWm>Hb^1>+2 zFbr}+GtMvyl`{+qQHwFnqY4RjYQAX?19wtSAat_%H}VIVcrpbNtNzkbegeR_j|n_H zPN?S^IyvE2%9nA{g8j1td1HkqLGP0TU_Bf-QKOz*6duFriO|sGvrUpsvBh+;cX3=B zbaG*kziA3QxlrZ?C3C&JPMRLjqYfBdsq(rF+|O8`r2U!HCUsk zpZ9t{1HHAS%rpF;Qzd@sSi=OKJ|N51)g#yJzdPa z4i)*Wa=Lbv$6>KvJ0|Wk__djJjfddZHc}(u?DJRdHxpjB!oI?Bcfg(n{J+WYDrxIx z;GHybWltMbNi~os8)`A$V4LMx+J5)ms7l2HOV@K-0p!O#l3o_j{=6pm=LnxQQ*9)C z)|mW~3-SqGYfOHQe?>mEzJ4Ifnv~_po*3wNWsv(d&2ju`BFQWGs&OA0XwS0Lr1t6t zzB6FhJD4J=M^TltJS*C7yJ~N`1oXzhdy@~(IqFLehe}UIPa5MG6Vj6(8b>)swd%=N zjepb=SNjuJ?a3F7e!M_tKiLz0XqJ>n<^6Q;N$cw;vtEwg69fIUu>Ko+U?&261bFWm zgS-uU?W&E8T?^Vd@toJI0qs1A zeZ&aJ&wk*M*I~^T!Uog-ZaXIpc`?tguGFiz)>kPv^OJ zO`_2H-aM0DK)y*I!4G7&InXz0Xf2Z_z{jHq9yvuQS2RT7BApO-I*HZ-^=CWR=(e0O zZteZuDNiQyW+HFq5Yp)dCqsYN(q4YZ0OVK)pO|&5#t-Blnzed^wTupy=)0gYfVn z_r&T9JVdxZa(p~76bCOfeC#-7Kjqnfo!`sGAV1L%QB52uUShr8!kN{v=4jYYq9VgL zsXFYa0wbr*DlN&YQutpKidZuP1gJ zlUKPu$fP|d;f{85cVQhEM9*C^M0tSC!vA2 z_kYFL&hV6`-%VdGcWl7EE|IS*k~C-Pjaz5CW2-fYGssB|v0K7YVk>#8jUSmNc-Cf_ z&W$vZWxfZ}6JTc{jvIK!JF<33W;S+~!T5U{yW#3p@JHIC;?ZOM%}Ti3UQf6jb@A3+ zw>ruv8>H=+Rq~KqX-##{aFk7^dMJ)!EN<$_c6bDOFV6VQxRvPLdUD}pEu_FoYgeo% z>#AEbu@ZPI9&j?HjZ)EuW!KRkM>*yM)p;HIP+FhKxmqHx`S@>o?s;jd8;V`zG;kfP z@tH)^bLy%62`L6x0~ATq36drnXXKsvescWeUJmN-G~57y)dn?>ss9xEV|G0|m{iHw z5bX5~kRfxSGj4o@v3AgPY}?@fgt$h?8ws*z@e}Yvf;_5)?z0~9s5j)!*9gZV`~u3~ z@i_E*crk^5gpo z+PxQHEBf&EQ}E-#_iU6|iTn>fh`*zT=T5YFC-%DM@O+Q&ze84r0e*6;nm3Z z1D@&V_dYyJQU6b<@3klK;QKK8I~UJucno-|@Q_YS=P6Ctrz$&CTGOnzf1est>ED%N zA3EQ^XDz@Ub$pGoM^$#HdUJJh%kiza-F_^G=Df1C`Q_d_NY(AkO!J5=Rtg?6Z{ck%q@AN4rT z|6(m;#*y&U#vY*q=Izo8UT+H?1K|sE@PC36+P8<|`-h+TVII62F4a{TPO_cQkM2*$bs55I$^GJ%_~u^;#ebo33vq-Sl~{mhhm ztixfsiQRzvG z(G!b)6&a_n>D@d!p}l4Uv7?pG>NI?-bIav zNt%>En&>2)>5o7k&tq?{NE3t4W9YhC#Xl}^WLuht1&nMpAKAvbK6Z=4GLdZ-TA*99 zCz7{^8b&WyG*inHQuNs0LyIaPdr~{qp7cl}sEjamE3a?V#oKp%j&-}b`OtmXmx2dx zt@3)$gFmJq{5!&Tg7=v>!p~(mV^grF7zBQJVYP4V3VD84uCDTrD*#jgj& z4+O=R*ZAqZv&cc~W(9P;ZUMC3Ie^xSYjqOtj!Dt(nf6(ZSmOk|dj!WZeC< z3Nqjw3`Ao>JUbrY`Ryb+-%XyPd9zh zz+NQYxxI;QwT!k+w_R`h{o)r~KN`+&r;LU){{3Pq->v&&u3Sv_=s4wGkGmI^>dI1koA%`vun6!7#|_P03Ew4nNDfCL&+tdQ-b#GmgztRNPaVDo;CmqInhn`OJaP@r!PL8k z6#;h*D+2BsR*doAHLL(%`vsJe=FSFh{KmKUtO&SkNO`^oXYAqIc~*?M*0=Md)Z^fc z9YHT0pm$Z{{y;VM9M#wPspfE_rgw^BQ+kA`rV3vCpab(qh4|4@>~RI%#N*Bs?M@>U z`q>B%_N7jJ;}Ju{!Y?O%<@mx=!S2CbAn0JYZ%F&mzMvGnyt$E5XjjU9s^B*Org7{) z!09F9=S{viCjXOr`)B-INpZU)e@TO{uU?+h_;mxjiN3NMBSC}HZ2dS5RtdfRAy;g# zX*TSwd$LU^$8TwsVV^Z&@8?rU^Zdz{-n>Why19CUR*Yv1nJ?z7Yp6<^?|-RkUYa=;4!w@Jd>8^sshlp`#EcZT{ywEPLq z=DFSPk+qIWd(}iLq2BR2^CRC|_MyFH1>LmhL#1eUxqpli94EoO+`%>zj+R?L`%y{T zjWpVON4u5qJ|5Oe1`*zma31!XNHyn7%68E08oGCOi;eEr^e3G>I}9V)c!uuR%-?g1 z<5qC2TWstx+Oz3#ey`lEQR*Mg@7B=j{N7{W_i9KUO4&DZPBRVihtjgdEEvTNI>P%Q z&ldBFAFYnrSnsHPvr_wPju&Nww14g^daaHsFM!`M3gxIUUUawd(_t#^>kQ={McjM1DI^IsiwqBHfBz-5)ohfw;;F@^}zlx&N7mkzT&NAwqcNM)Hp?=q^bO@2+6%)FA9TfYTo_7ej#KKVgo_f#+=6H{$zN#Qp0&q~m)Po;ZX__t*^l zdnygIKZ|ImoF*p0I|6&#K=0f*?91%oVI;_C>?i^&$(VcQQr}o zWXHl#1Szv=jP;pdR09_uBNvbdQ_Qr3=}FFN_V7D^#0 z8-GI4+dl?h-_NqCX2>ZD9blHd)sRZdt&h3iw7=w%<}C% z`##)c^xvD;VTVpB>KM2zNlLXTSc5c4qPEE9vxwihHS%2y@!oA?+5=-r?)5?Kti>-1 zDAH%!m=@Zjp^v+fSCKYKcpndwv{AzQ5$+3)i;#IGw{0qR-dWw25zn0tyi6sW&^T^x zxna)|#}dd>CFU+zo~RaX!5mDtRd3^WxnsF)bAh9PpI`WWSafoFOM!z`k@QrsoWgrd zcet-y?8|kPyJ(Cq6Tj=ElT9rr8rWjo+mRz$Owd&5hDCqd<%^@Z4Rz7USYQjjGd)=q z^@A|g?aJIqq@&yo4P`Rv9R>q>-=Fv2bCy+6eoap`w~^Olsu*M`$9J!j3M|xe>2hnV+u|^C%|fA?_U@jJ{u9+0l3oUPH=aYOyFY5Lz~xq()YxvdM3wM@Q=SNmR|l( zid7;kmOjZz9o?_l_d51Me^9ua4*mhe+f+S`_3rg;N)mIYCf!h==Q=OeGtSfBYhZ6y zXX|j@4+#q{U|szPRxj}X<|V5K8kRznKQzS6?IgaU$))hy?6-ibP8yPVlQ8Oz}Hfyuce8;mL`O>WaBM01+~Pq zfi2acrH5LzREL&k`dUi!wS+G*rj(GDVt7k=T4hY#_?VUkwG@SxW{2QT^Gg(3>MmO9 zP}h~umB|e#+PNlVhQ4V^FQ7H{5pD!1`v7+E%3`c5tcNRD2LnL+aab#1&>y2$VND?X zB=p1WF0c1`e5c|&9pAOEe|&)T^~pV0U--_!_k4WchI$H7)``3%U+;zf5x@QZiMkD) zZ0qZdY>i_Ld^X8j^DgT&toqGOe9iRgX^B_XOlSOyp;zb5v3SHM5A%r5ojWDtW zP>i+7gLTd1Di`cl8Oq8Y+>|v*cW$eJd)y`6WV_os+Y=w9%ua4C*|&(BZp7_=;?EgB zS5R39j~C8mM$j!S}AO8%)QmD+BsO~EZm=3@u%0Ns3ZH_jzif_BOn+jkfI zMWDm>N8DJ%bq3#_iMX4=w|m_Woel9sQ{*$ReW+@8QRbq_D{!6!AH#x0>#6#7%H#?R? z-_j=PU(#)OJ~4Wy4ivgh3co;F)MzusVz6q*HtxI!v;JUC*p5EAD z%UoMnN(XUD_nv;7XYDTixsj1K!|!hd%1mfnZL<_iJrfade`YARnFY3TmMj7zsEre6 zsEx3bdWn7?EW+InUix%H8S}DDl{8-6W|;nw?oU zkT?eWsoC`*{~fRfish^AlLq`cQA20r*Pb-U#%<}g^Wle54=Ks(hMbzsB2g{ zq_o?Fao+PWyAs{W_8Z~Dg|YMB@=(T52hXS;4vRfyBDA|m)mmqCE59ocwEAgRoUT$_ zSNtZy0IDmUd&~PUQdb}Ch~q08^;M{AyQZG{L_InHZ+eAh*}+F)*U7_LI{^N>b`fI_ zK(;@IwU`J!pa*!f1MAa{?{t!Cdb*!sia%JZtoR7lr*<6s z>222?lRs<>$13*@p>+N`gM4-G#-B8L?p$^x_(Xfl!8KUn)vnZnH_qwWD=YkYvBIB) zj0-=f37-H@q`DS$b>AyiHhafK2i%D0XyxRy4h%5l!3BJmDL^gzuNoquqckM z-|m?KW*C-1Q4vvxMI00r5EQqFEW;uy;;vBvQ3qF4R5V5h_gye9s8KN*cOwur7#B!_ zYfJ<+2DdnB5_W8i=xB`G-|6mgnfJc$cfb2Q-*fLD&OBA8PIYZveQG;(>J+!<@$8)7 zs8G~ZFJ30(lTazQ6}$pm3)q_KKx6QEBU#0AS+9iFjORGnQXkM1I+Hr%WGXZczM*95 zGo+9gpy%$8hHdp;o0oDE9{*_kI62gqI)cV4DHr?rKrPF}ppErAYWhMBXai1WEy_01 z78*C+wkRp5r99B0OmpQgu|AwN2lHOEfjvps{{f9&#hj%G^l8L=xhdMoec=B9?wf%< zAeaRyn8Ogg!@nEo{5I&h_gu&%!sMb&G@5CeEB|+CJO2NGw)_1TwA~ZW&1qZU?U+U~ zDf9!-IA@xmkBO_9n!>zOAnaORsI+n*KG0iw$7t38 z&&AQ~F=$=ZL7?;sk<$O$3EqNu~LeH(W z(52-|ZPNjx+A2M@SvP)8|N6DKPJr}fUQS%pFoC|)|K`_C!?aTFWi^$TcxQs#pXn_H zIY`1xyfKS6Z|2XpR+6g{TI}1gEYxf)lX91<2j+xFMZPzdNx8GtR`0zF%UycuqhmW$ z8_TLr4M=T4ZLHBzwZT8C3qOis9OPG`pM>7WDCQp3DYCU$o1=3U*!jRpLm2I(+-j0T zc(b1H=_AAHOKEV8a-$R>Um2N0D33A%!+V#e766%IZG_=}8u}uCYw6m?V zFwaDLJvNSEGH4Au59?L53})3uaO>_DT@G6l0qLdDQ`SfvJRFFPQ(kv8yq)Z{>d;yJXb9mH&S1 zdP-xLk{`R2{Me;5AG@U7HSD0jH+Cscy&1c132j`-w7!M0D_=jY58t*uk*i#2*EE)) zU3-2Ss)1B1KTE|phUeBajs@m_fpKh~-s_!lEK6+NpX)Vm#%Nz)V@=TH9BFBweLTW+1*90=4GhmJq_OqvUv`&t6@;o0G^VBm8p~)S7mzsxQJZY zl5C!TY-1qo7>`NR7Ce>*j3kAJxJ$`$U0=K%%bMJURt=n!rtySgVjZRz#xch#SIpGh&Bib}%1%`Lv@+G7Mz5i0 zSp(mUUMh@UO{gVd&svzlSs83FdfC3$lK!lGcl0X9`1CDky8*_Zy9wB}z&PfBcF+Jc z-4%1WL2$dmv_-g@$!HHS2d6*=25lh+yq$@lXKRdei_lK;VQSE3`rtWte0O%Melo3R zlr6ZVbHOKNbZ+Tx5t6Tbah_Moy{dGLz`0{La=)(B%RSgZIz7|oxlchmCTV=x0BTuLI^dadoH=GM(i`}8sS;{TPd4aoe46^}c zyoL83fOqHya~x&QoQn5^`%Ac&!+irkYNN}tKcn^JbnM(n(ghg|ayLj9WH2OxKQDs; z_g#dc@j~L!$`I_Lrqv{T8Tc~XZIVtC!v}GB;6gN{)g<{KH5*z@QVMVf;be)-LuOz- zBnAs`dZixU)h06ctH&uJai)4!!*m{8e2r)5DWp z;HYGiM6>X8Va2_2i{1)orSapXg5J(dWRye&qY_$;lp9Dq3(W9@Sk{rsDCL`3J?4Mn8eVuR=$-k*@vHC$a~Jo#it!^0 zZN!K+5j-0FIE({Qv@IFv%^Pc({%}u(Spj1Y^CQf4(Ax>n-6_PIFah#r@T){R2LRJx z1RAtl|KFv-AE0ymUum%TJsQk`&hdXwgI_@BIA{>ORSWP|rLB%*1aJb4fVx^8c*Cg> z>S1JrMaIa!Bl`)f7)G87F5H4pMkm`S&{(GOP;CU?`-A#qf%yZqpA-#`pmhvs(4iS# z3Qup-iU!chYyJzSmRn?6ZY7$F8=Ia>G`Gh%T&*zliE_lrgKqq867|0G${pR}CerH1 za=k!rkmkl26iso@h#uO`T8kZ@<@QIvQ7QC+l1b&9*)M9Ce2i;DR{d5|`KVrOBO zE1q^siP!m&wgdX6sB+nMD}yi3AEn$W=b&=WH>GV;PJObnHdVPlxc=#K^vgocI7c?4 zQ+IEu&dR{39VuTKon#i$aiJalHxy?TX%!`ZhvI1epT=UbrZLB8Ke4`kDb@%NKW3Pn z=%=|PtgS&uYw&C>o}IumBXoAf;Q3ydJQ$j*Y{WBrgnu>Ow7#(6d1Z~UCreUNZV^o40vl1v%IDPW+7tM*GEArc64t?PjDhdIZ!F~|1r0)cFMmj%uW=S!(_J@ zNH+?63(W3wWE%$dyIg7Qz<7{^7fJj}H<@}stjz7HUkuFOuhkV1{d_B~u@iW@98G?V zbuDX6eTz3v3HbB7=WW2xj{vQC7Bib8S-qh;33u%=$%YEG zSBm~DPY1bJ&{${85nMrMcgJE+6}rz@;NwACP0_zOgARic=5-?G!+3rWusz^x^n?5G zd;{FVyjP$*f$I2Ebs~?Jze7Q!9nE`Gw-x;v$$YnbkJb*pC-J=;{aJ%|C`|bdhjvc! zzw~C{!|dmKv;9OXZ)7c?6+Qzd=VGPYfoc5$XH9r{5@8-|ohML=Wnlhb?NE~9Q{{=2 z63bIcKVGs=UdzfOATiMR@ls=SQ1V1+Aod7(9oVeS!OJN>NC$0U8mHn-#%N~R#7@13 zV=rtG;|r|~q&r-~H4yJAkZ`YS_Ty_?*QQ$U4=%Xgj+Z~9Q##a>T{Q|j?RW0Bf|PV? znlIvp3tO%YbHmXF?LDD-3Bq+josq58@mS)$98TgMwyKgF1ltMFP+(uUr|c9(3%15j@Iw5O1i!FilzfLFN_SCdb9%QiCD)Y0t zOjs`$U0kao#*;DVbQW8zlU5{2xG!p0pSH!pPgKbig6-73Jy&dzDS`e4N?~D*AXhKY z%J-$@mkJ$(l(#0iwZR>lf;?zt@?P#2t0{%WHBAfz^);+olk8avoh~uzsLSa0sK=rj zg`^ReTkR4_{A0!g?;Iz7V_qUlt!>HA$0X1fN|z`xLwDLYW-RXS ziOw!GeynGqby5P2k3KkEFX65rPAcSqB-{zOQux@Up`p-tC8p4rom^-vM64Tn3HOy4 zBNyQ~KE@8Xs`wbo`52-73yqp-g~skV$SY04Z4zT_t(MgtOQt*)!!76 zb^l0pb4NEncj{MXRrQUO)y`u~_>`*Nz@IV-@%gx_h)7x8iDVN#swxcllQ;O_D*96X zysfF~8MUVtOLu68B#QT`mT3(+-THKo>W-e6+3=P&y!lfE{CH4x419{F*qbL^nr~^t z8K(~feTxi#+kvSMw|f)wWo5eviEAqIkyUr>3p!E}$76ozchIF{gHtlCaZ1L-F_Uml zco}r)*$MW++FK&FJAr476rdZB{#Iz7GMKh7Dwqy1?O@u&jDqPq5c@wc^KgFU653fQ z+F&QNI~AZS+G|fa^umJAWtRY6+9>F6!1_gkxk5br>M++F1;2J^hhD&UW4)b=@!%xj zI*b>?5$-C&x4`^iet!mcL@ms23r*kwI-D1P>?iu8N>;6dJO(JD(xNt$_nQJ2QTa;9 zY=C|$%b+t;!mX~7X>~cx`;gv>_iKJiCDpg{J>q{}kuaJDcj)b@=Hz!9M>dXX@=l!% zt@P1Rk5_oXbGy2f$v+swFz$Gl46NPUQ9rX$H=QvC)}i0} zdIV&o;cf|eWJRhXhfybof7de3>tzYj9aM;?N=fdBVwq|Tfx zr8~pi()cq+&}*d>-MrVRv?;C#lUj1f2~X36VQ`w05G z^YXm~eQMBHOY_i3ggakh&1+L5X$kaJYNl5Gj>a?^?S?{^1?f!_bfw)kdN9`MI_#{^ z0Y5~dw%MSB-gVne_0Ol*J3-p?tqymW>pifVvLKl@z86ldIHKdfeg)~}3S^*(%EH>< zlrzVLEwIiW_&erN(HP4LMhfFtM)o3Y*NClJNB#@a_fzrT&$Gf(OSR+%-2x@)9V0tN z-NU|!mGIpLzQAmfmqyv&8)3@IEit=NF|<z+1#353Ka|+Z)VRk|*USB1@dd8b<)kCj`TS%Q9rJH9Ae{yF2#a9i|^w07DFIlticoo!LuXjU61$=Dpp zubTLrrj+lk?Z~8Pm?sbP_sdk=8ixM&nVB$e|K#)U{z7O|_?d`l`csVm6!YJu_&?*n zMl6@`Zfls0yslsx=Wmoz{m4TC(Eef#36Tj=V?dtXz)jjc_#pmV$Dl)&tQyYXW+JmI|lA$aQC1&Dcn8a zR)Cg^0RM(x4#tJGaM#1+48l1agrT`=S~gSbFGGK%WpSgQ2D>EVc*%Ih-8MM=*p{Dh z3S~xrjWV%Z4J7_Ev9ig`g2}e1^|rLA^&$O_3S;O?tXyRVwe}pO_E_#V^v|=n&Cf^M z1@HB;jIbhTre|?`pGGIqSQN3EMn#s`ksq$LHBjC^zaYC6UxGV#?RjZJk`sVTFmCs| zR!UD#zn~NjL%*IN(Z%G4&~KUW+T-QOdlsn4ANV2cr(Y^X4pW|9fPhJA3XMv%c7ib=g~8pDgbG zV_F4j`$6XGqR}SC`k(~&OE8*V+NMR@qpiQ17fL*lNUWae9pWBaWHPQcSfy_$v&f`4 ze%f-KxQ8r`ipXCq@l4zv6F7N zqq7L4MM@aMSezD^5k;d4!jzLoep+%IEwP_wAW9TUpWw*ESM5q}0$Q6~;rMG$Wyb^4-#WUo(O) z4dqH@q#DhuvB=b;y~t3XjB8q4kPao}YnjSHr;K{VF|{tN4K%CTTj73;HoYTzM@7?0 zDFE{}asP(pHq;Oo4RnEdYhTC=3gZH$p~9TmiGLf$iuA*n-iS_sp*CYB8LjzuT4{EN z;B|~gK0c>-+m^3g(n&?*5oxiFMA?VekZxR|B&bXNF0Yf~ZGf&hEN;lSSgv4m`7?K< zr=3wzTtg}DPOB-1V3`Cy0-Qb=Jl)|4gRtL#Z*~@a#YDh$2s;*YOY|4Kj%~1DDiSzH|AOm$((#*hzz6a5HN9YGz3$30V z-_sAqa_g%*2s@+i=u2a{<<(iBs2epgIp+N#%gwEBYly?s^EIA*TKDx7Pn&#-eTccC zUeNWzLOa0d95?Lq5Ju-J(F0UFfFBl@kO@fy6NMI*vy80P1$-NO=+z?rjeQ%ERc3Ug zeN0j;=pMrjfZ$yuhhbfW^^FeS`We3ERJi3dCg8ixjKzK;=60RoHw!di4|h|zIXwFd zb2>NBh#qSmx`UR&P;Ypr)AE^-4m?5s-F z^LZYYFE}n3FRBtT-upv`56j)H!Xe7>g~l?b&=|)S8cSeeBv}djUF5}$&|^{zdVfQe zM6E`T$3psFR_g=Z6fAcZE^h|o1@464H3RfwxkaZHs5c>&$#21FCchiX7>>E>O3$Ma$f!m8+!<<0QNfr77@u7HYqV z*cwbbM_BEq>oJrv>P&4D?F#gYZVzOT_16b73Jc5v`=-%J9BG$`)Z@kBVR}xRwv3Z9 zuF|IX#w&86d$tjlz+AVqZ(J}VR;sO-%!vGAq=;n+O|DrJRTIzGL7w|YF}}^iy@4YV1jSY*yCJ*O_~K~&kE_y zs%E#=7-EnEr9K6zQ@%l5x!!`aVlXy%(mh8wE5ezz0FSSS))Aa>>yQz(%$^No!%+IO1=c;*Uyy7xYx`@#9hzlV^JF@L0+odmkXc7 zD&z_l^$=7cQ3X4-Y{NX!>sen5cYK530E5~p^#;`d>uTXHH3%-&o%Lbr7&ofrimLFi zfa^mH;bDo_P&yArJ*Pz)CuN(yU{x%)K(a8%F@*7IdV7wGl}~t>z4r0-7z4d2>rP*q z!5h-oV10rrSU;qPzObO`8<+4fC3x(n_ugN{W-^tF8K#b%-i(ipRdHv;4;q`xw5xx1 z{VP+*^;Nr=shm_IQ(wxZ82z0SEQjXfF7M1>Cw4s_id&8n-@VRc7Fa2Y*@H1!JLEa5 zirpHcwTEkNl^nWg6lzQ27eH=7!mk?nS?4;IYg3twwsR1ApomXm`FSHPR_R{WMP8>Q zYWsGLN_L<0fwmPl)Jxy0#)c41h7(@MrL9G=eLIU1ANUWik{MdIliZT1iL+r*r=RA- zhaX%;b9=#88DSII@9B`~w!KraZiIZlPE9ifSF1>Q6!lIlr=^=Mabkw$V!=adkMcZ6 zpXQCRZAm}yV$lci<=f$?wcyL=OXc&X^7-jB(Duc0mQ_vOFQ2ysbeyuBHI>iXR6b}C zahIWt^u*)65-KBuo_PBGYYDBy5627ctAx*OSBZe7-@~uQ)?2I|+C+K_8UxX~9 zGe{UWTWA}hl%`SBGTprh+JA}%pOPF@Q+wq0SE^5uL@KLbJQaLfR~AXo)+Kyfrlw^Fg%acT3I1zd!iaVOa}&D?n+RLf*a<&7vu`SoRERb9F<)Z|s4*SnW4fZwhW7wp z3w`_0{*Y~AV^o){PeZc0g7LJi^_Sb$+9+_Ra;IkK6hZBf> zF>z|p1A(K(DAn4j9LokHu5*PNi~xN9ijq^7m^a=pl4dHm$hU%f%fAiX=;VgCvC^oE z>&mX~9>Dn?^W;9>=*gGo!~w;KmAlj3a6IK>94Fu25)fido!GK`l}!$8Y75 zObxigEEfTu9?i?__<5N<&pTqdP0-2L7w>)<`o~_NPrBF_`;HOdJA;ms!*ATk#y4v> zd11C~-LbKBiy_N7R!9zLs4sM{e?G2W=mR_chd!{doXU5(9P4M$K^x@bfWAe8d{WR( znj#+++KLkAp>@Tgh;aS0&9dM#SiiQ8Dcyg^(I5 z_bV)C)IM&szZ(BSVjYK>?wA+$QLpo8w;06({7U5z6)?)DFQz;W+i2$)Tw8yB&PS8A<)c!&mhxs^a zUGPM;Ha(nCXP;s6Gbi9+Q)g<|&{U%%ZsxlNh=VQsXSUU;05RXwy4W|64wOaFESBZAYaM6#W1K%xga1xa_h%fI#-i`0T zzF%UR@#A#7u8}qq{LSE`K*Wg134|nR8_eAcfoGvUNDHzlS8}sD#RPe{>Nr}vE^2}+ z;>7C&n(O;yVw^mmYD0BKf1K5=n6Ny&?~@e1e)RAuGBO2sjXnhi@{MOS2ssUNc2~KU zo=SAFN$KJGGZNkUi7HSStGk5w`ZItN<)ArL7iik6ZD_w7d_HPpD_tDgG{os$aLa5O zy!%tw+jRF~bjjhNydA{bHeRw4rZSC@^Oy?r8)}0=&%T!Y>nLxUhk*NqHYhK{2!}SX zw-dvhL>u1|1ztMVBe^lq1zjt#IbG{uuR=L&IEB*w-Jil%`TdyW@ZiMca0!f!my|ET zLaZ|0=700w=Ffot1=`>)J_eTzcS?97|1QYi1Nk?OuCMn){;ph0CaX@Loc&VI1u2rl zv+-UQT35_DZM4~S%NMAMvg`B)em*x+AlPM9BoqsW(h0!p6z zcv1kvgrL4AMB+ZQP{{S7za-we6<^Ng80+ocDXVYsW|WaR#j2M9TA{3)QPv!kHMqKw zVY67)Wq?+ES-V#Ed-gGF1ubzzO<^(po(*NKQEE^44}8x*hNTdpF*L3T-~Q+S%^L{c z9%~`~4Xp77D%AZ!e}+k;wI}M|ISf2m^ux)=7iT;1rvxB>u9K!S>J3J{L;1;{u(rQp zOl8>vl7kGib=)h*iUQnLhU@w`yH;+gC)c*TF_wRUbQFod4Eq&9&*#qb^xVtsF9BJmz946g|A2Zv)Z?I988R)EzW3k3y#CfO%-bPYv zN#kZ31O5S%zqljyQ%kd(LSn*}k1NdeEYMpD{hk^#gm~QqZCEph2mo6Qc5!{aThb|puozA$#5WzD7cRU?N28~>TIzrTZQkj73I(J z!<;9?#4j1FW8A;4ylLOH=$er+^sBgO!+0iWEh}SXqm2GB7MwmLtRh5eS6OJ$Hgsx5 ztVN^HRl&>i2gzl%tRyqPv6gAqMq65ZGiQ2>QAR(NUFG+ZabdDz)O7cT&25V945N&l zeC#UETS_^7SV%>fR9b0i)3CXusD+MgFDqu;owPi!B#mj`^bYQt2-8-CS=Ko{8%i3= z8s39X2xe4vT9iRrX(4Z`9bl9#=m~DfGHHwEZMBUc@yOaqU^8}YwdenmCQ7^=idb)D z(cx18(Jh*v#abP;?Kux8kr>FmIU2m8nO5^cB?e723rN1_|FY7q#e5DF{4`O~J;bX> zTDer_*_`F{p-j61W2$ejicr=ew4i*jOF{Wi9p-(lgml?ftb2iRQvc6On?<-_P54zp zbF=wclSn6izGiQ*`ZCNc7+jvrtnCH98Ty^W zXuCgSjg}67XPDR66LCUY{u%xp{8`;+x>dpKHH?vbJ6N>hldprGuy%|qYR3jf&UjpS z!q_d<%^W&2%)W?i*Ri>c{h_UQj`>HeqR{{MaY zx$JQ^k3GenWxrz!*$eDt_9wQ8z0TfbZ?SjT`|LyZ54Mc0WNX-3_9^?EeaZgAG7_o8 zQlgO9NbDtaHyik$yj{TCXL^BydBHi{dl_%Z%6TV1aF7&b_j0=@%Bf& z-Ho@w;zeqmc-x=1eR;bBZ+r808{Tfs+pT!pjkndj-JG|Z@wO9hH|FhzyzRi-cD!xF z+X~*c;%ymk6Zbng{50lQi_q6Cf!Q03Jz&hUEWulm!#H)Vuipv08~VCSm_HtY+ZKId zu@+}S;9iKhvp%Y?55t_Y5`G``fd2R1*mFR<7f5d~`bq!JI9mw!QG^SD`zOR1*bV#3 z2v>mq(+_!;BW@C&&FX^rG15JYye}h-)d;s1rcpTdn|k8>7tAH(e-rtf4Xm$s0dFrK zX|o6~h4~5Y-{5}|;pND09N;mO&49e>;olkiSYGhI3O_%TZ7I@ohW|l?n~QvQqHF<3 zKNsnI1$PR<&W725cqcG+A3>M|JYNsLb10_=%DxU|sBft+^Dol>5opl=(H(|ivL3al z@9;pa)K|R^F|U9>W5{|?-*N}y>_GS(e+XgH#jqw=#N(__)&q$u>w#3A^}vf|Aa9iQ z0P=N@JmC&{5@S>Fgt2)Q8W$e)B=H@0>O1bcZ`}Q!&6|hW>^urDGqn4I`E%VvNyXZS z#usP*pfhFf{+RQ4c6s$f!;91WGZTKp48LfGpEkp@&G0>Dc%~V?+6>p5;VEXg&J6$9 z439CxL(T9&Gu+z@SDWFEX1Lr8e`S2XzBn`dcQd@i48LNA7ntG4%<%nY_~&MLx*5LM z3{N$~Cz;`KX81reJi-j`Zif4q;T~qVlNoMfhBIdP)93HkZ*9L1wtW8LlzIUCeNm87?!!jnCe%&nh$AV20l? z!!MfQr_Jze6OQHRhu?=9_)r5MYT!c+e5ipBHSnPZKGeYf&o#g@`ct^M2}NXK9ARu! z4A{APMhUk8GCu~$7#bj7Dp#?L0)F%(H~pOY2#`lUSRZQOLk)bWfe$tCp$0zGz=s<6 zPy-)o;6n|3sDTeP@Sz4i)WH9jHDDiybw5l`M#<7jUX69VQv=*W!*c^54-QW^h+N|A z7vl#=-rWg@GYAlpNlX}^3t+T}4-nx{5yk^jc%29*i~iFIM*?#Ion#ENNc7JDBtAr@ z2=@U}{9F-!14#Lv7U2(~|7AcG0$vsU?}+$A5w8(p9U!Imik<_qQ9^olfaKpugw7&t zDMAksdWo<-AjR(};=zO?fp9=7-vALGEj0^K zHvm$8y8$Wv!+<`3UjvdDXb~WVs|C~m%6kjxy8u#s;?8P5KW`EG0#Z7iM7)QH2Llo< z(2w$qG{a-f@Dac%LL#6OoH{_Fo0%d$7m(;@nTW3jr0`ord8b!!N3*i(ZbO5CHbQWbg{vG zjeu$d7zIfAj}zfk5zYprde@8iDnK>x4I<0}B)ZBG@oz-@qKN+tXoKhXMZ8qRp_q?P zhk+gv%GUu<4cHWrzGoW|?*vHk!$rIwAmtYa=mi01%O`MwwN%i{ApBK%$SuL7j^`v;Kf!4f)e)WGcksUBJaQa!X4{ewj~ z7?9$P7xBq}^gi=Ne3|$>Q^a?O_)$QjqvImX1EhGT0M&p$i1-Z=zboR^B3>urmN8;E z0jV4V}kji&P#D4&!?@=V;w?zC;5q}IwbpA@jl>-Fa z36RRyTEzWDJVeA}M0_+Lea}fEo(4$YXRU~508)8&i1;26&k^x&0VDAIf`}K3&wmr~ z-vM9Yd98@Q0#pH43>3=O0FdyOBCY|X`~pP0J0O)OQpBUh=fgyNG$7T_BtQ+|O!4_j z@p-!Ve7lGr7N4IK@q9o^{|X?*zbfJeK&qEVfRz4IK&sDw0I7V|g9Ka!NZ-G?h_?Zx z^g07N0(J$I;|0S3Dg78gN@u8uj}`IBfRxW%5nlvI>77~NMBGEfeMP)0AeARv#G?S|eTIm5JRrU2 z6hM0K*?^SZQt}5}2dD3F9dreA3Fa2eNJvxOgQ|th!VV$~5+Q~uKI}*lju+uH5zY}|8lWA_ zN|+Wf^lpDcr3U5W0CS@W!!!VlQDUqEq~|a3JOKgli1EOka5zfBXkbYJ?>1xk`l7hB zzveAt_&qhMI}4bn$jlnhfQ0H^*H5*|OHe#Dd zomgjy8|%S(vTfKWY-&kDVkq5@yU05{OSpnVys|Gi5CB#5q%Dq)bOTQ)afG zHFo-pq^VOz15J!iiRWWZpDLt)aPI{YV$PW?c-O7kdmX;taHG}7-<8a7@VWle3Bz0LxZI$Rw*SgOXI>Y?HZR%x z=&_I2h#8^jU$-0iO1jy#b5ykQD;ulUjkc_pPVBpKM&_Qwv!8fsW(-l)WqJ6X^6+VW zNfnUho_Hk1`O!~9>N@_~schn!!Jk!asTip`*8rN?lGD=t8qc}@%j&PIzWDpp0jZ1K z@K>9*7M3?$yU*G%xXJcglPpJ_Yn9S&#*Q9S_cOBFI*<5SPABt}Be_09MwDNEJUY4{ z*L!rDm0QPe2Bpa7EmOokGCrQ~AJTQCs?7*XN&M}zH($qf`qlMPzuY1})tdN`RW@g5 zXI%ZU@K)=xNfR0*mo1$-Fl7AtA!9o9IWj7*Bzw@w2fw5mo@eU{+pXBRervyxGu`&Y zB}F7Q{#04H-7Dqy`HM;&78I=Mz9uH+aqx{-vgHduulVuB!{epTbF(hiy=+@MzggXr z83XMma~(fjbFE@@#}JM6>fhVlT$S+c-hD@3YdyAZy8mKMXqOp(w?5o=!IXz>ze_yQ zxbuMur=EvzWzD+1q}RwjSN{5<$mzyqd+R&Z9qMeupD&th_3}|hgnHAKl-IXjC63Z8 zOxZo~?7fspoAHt#Ur?>lns=OO>{_UzpulE~i?D?&Sb>EkN{h4rl*b?r6)A0@u+gO(`S~Bmidzl?? z{u5+zw_w%&*4k^kFMhjjWp&4`^J_|yeol#6{nPp2QL~R~u4HB`cIxrzu-~p<>+#F5 zZeQ+b-|Oj^*R97)bG^~RdGNf@kJjcF6?gK<+WmP)`^W1B80 z)I7d?C2D`?f$np>jus6qx@%`V8Qf}FuZ)J5X2&PY)gEYbW#+b@w{3Fg@_X!Bb$8e# zrc3F@0*&G9{T4s(yVB3?TKFe*Cr+>arDuX zSVrb+G{zF`m(}IBmQ7yRb>Q!9+l@bDSvWIw?Dl){KRkAEp0ui9DAUw8^XbxrUt1(} z{l59fV^0iPH{7x1-myE2KMU|(YTYGpMM>ZO&wld#swm0RQ9Z8nVE-{bhXY4{vfgLT z0%qasMeEY<%y^dg*U3x!Q%(goZJWEG%M+z*Tr(%%kKAU&;Ut#bPl100-cZ-uZ8S1V zC-oQ~>r@xFx2dZ0_rHI4AWQz}$bd&nX1{p3>GZ|R{SRNhut6Er(lh8pZ0*kb4f8z5 z$mboKxNFDi9=nq-J-a_*K~>P9-ORLAhF0hQ(LV7k-Fx%SnSkxS4!bX;>6pLPScE!X z%|GlFd#_>AWXDIjU)<_7zl-8e_gigUSZ(5hn^t9qU$%4zjQVwVRrR^XE;AM%{(92J zt!J#SUL85&!mY>J4x>6pt!W&0@ytEDuZCQja&<^))4!VxOV64xV?~4_^FT${dEUJ< z_kOkH`oQ$+AFb?8Z5nJ@*mwbRw$O3<8hMlG7j5$T^a?iQ^F?vGe z_-?%lZuA=}X?&`t`O77{qNddjSb3;>rqi~GJCEdFXg&P+`tz5f^1u9ZdqCC2>a$BU zI@dOOeQc+wppS~>T;WeqXEsjWQ(9u{w6fLW3!$fedzCTBJE?W-bM2Jeqn8gKOb(yA zb<%CWylFWn1{}UO-Cpy+aO}$(>s4r zH=tr}R!Xa1uFtDw$8ZMrhwEn>bzc3;cW%)?gk&t3+SbB%U&yT|AxUFTPw~k2+JA3i zvqxjnTmRpV|NPDV0m`WC!T&g(j;U+;MOawOgNfZk z+HK#{m^s-l!n@7D&|WW}va!}SHK#Uo?)hZZk^{_<78yJ0ch4G;`D@(3)zOV=vQE|3 z-q|2)ws+16*RQLO>>qf+&^1@*zNg^N*XNoQAMAem`?8HHXN!9;T0d^#x9A7kYin<8 zh&q_`_qggguXAiX=a$Zz6?>vj-RAL|J=XueEu+EA6<2z9vq@_l@Vi@=9gZ_&9aB#9 zwKyIT;W})6WpIPa*E5}6J54?Ch10x``*{sXEIl&crgivh-+yYi{jm0A=)N5#wY4ut zDSPfME}7?c=#%GV%Zk1ltvVdK!Rd5i^~ENRuG`Ocx?ZRWYteXYKWp{1Gn*HNjy`>Q z{g7!lS6%t?%UJJ*=LQC?zHxNM7@K}e3%~hgT9bq(O8v6uB_r#$3^HC$i}tj$|Lx;E zW382s@0p9mM?W*nW|lp@KcMyIn2j54*CsYBx9cYWfuCO$m$pU;LufvUo;8+nO`8ulz7#?%=|88#}L* zwX;sP9Cda?!f##n|82Z7<%wcVz_`9MBsN3mxjbUj6ThhrxH|vZ;Eg*Ow&v=HxPUd` z-eWrq*fi(y>cy2_e>NZgFlfqx0`;u|r_nhR0y^}|Iqp@djD9dz*=)&h$migeffIX+}e-iBdor;eENr- zHC6q#T>kW@S?&$|UoH1}^{xE~pWMdJTSi76Y8WuOV(L?EFRL{{zcifb8=C!S-~Dm3 zU2`_nv@Ly*y{hNc*H&}Jv>*5D!|&@y`fm!AbYFPm`ns%-)&v zTCI@Y+;H^!f?u{;$KUC4{ukZZsY_!fZGQaOmUGi~CtA!+{+~0^D7F4;`n|bw5 z&W~3P{pdE^HEoVQfA8OhJ9*E4t!aHXW6-RSO@^NqIr?(5{eya^xOQu9^LgVYW1VY% zUO6Z!d~;(v$0ws6Ztgs;$*7ty|D1jHKviVak+RbhFR03M`|TRj=Zo*Jx6BV{IelBn z%cP1!{WoTP>)!nNpdIbX1I~~7b=|1vSKYbO8(MujtD$ddeINVf*TZJElK%ZX=vifs z)9fBgd@Cid7mvPncl)WJT?@{;moDuaU43ws_pze;jc-^lxczX){&{nKgM0#-+?Rgr z>e}dpX0j$^X|^)U*Hsr5x1chseZ~3f^&37LxvTol5YL>bKLb5BAG!HxOOJ^^9696S z@BHf;WkzDhLr)%DS@znIJv{ijeX4CpOzqa^U!~0mYVl{6(f>3azoNmggNt@OPWSjV zpn1z)N5c*B9@E;6ZQkbL@(TeAhC7`MxK+ZPbE{?^%-fOk;MmHNhX+=TSvkvR{-rxD zk4+l3(QEsa=GKSSZj8~7I##mnQAM-cvI6(Te|`N~L7$er?Cf?a=a*jE{mHBB27~9S za$X<3*8H+vNXS*?UzZ+FJk?>t&$o)~^Dg~9J?@3nn{_y} z?9lJ0C#}gjeqh1;d%d&ew?4f*GyLk<@@7pd`gB_oJMpsLM;jhKULIR;+8#@>Su<8# zs9W+I!~WQa`;29pNMn<83djFV%Q;3i3{&0z!=JboOZ^1n>j zSl03DMOqh<(ObQh!=!MuPFw{;Yd$Intpmw$aPtKdA-TuF&>E54v`!?G3^%PiX}xI5 zHw*4(VmMlFk|{$OP3f7!k?wtpNB*=RM2oF=ZM1&!uHU$DSg*y*7m6h^Y zj4))n!)^MR!rg%fh4X_cKo~MAUsEXITM$NNp>R~MOq^g08H5Nw`eyVCg)xOQt-F&= zncF`G<4w4k2t#2hJ(AHSlTAzp@n=f! z3~&=|u;AfB_-h}CAO0P3KOyP*{K}Jm;;?EQ=5;&#H zzb^v3a$%XK?M$KGzHeV443RMZqi|3Q_vU9xx)?q}-3gDnHfNcC-h>j$MCc6hP4|?Vncb5?az5gaodpfzWoGynS>zoRVY7@vY)agIncMF>Kk<(y`~j TkrQVwT)ELRaOd%6hP6+w69sMOK3@N5D~bV27=pZ^7i57aB_+{#qSqu8r&+cO3RLhJuMvv Tj+{7i;Y!bqfjf_)a$Zjbuc#|d diff --git a/proprietary/vendor/lib/libnanopb.so b/proprietary/vendor/lib/libnanopb.so deleted file mode 100644 index 1e3044924896a1e3a824136ed75b0761bd223f1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33144 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 QdzxRatazksPm9X^FL6qF+W-In delta 3350 zcmZ9OT}+!*9LCREK)%-&C=_LbWjKp7sm5$+9Hxy{#v-wZEOt6qRGjFRl|+(l2?pG% z?qUiIv@9b5BNtxaiW4bDv$BK<$(Gb_xmZ$Sh{nuWOwe$Fspmb6Xvz7R z)ADX{b*Wgrg`F-cF3NkED2*nHEmaZ+_hS7lc8Tu_fz!bL4XpR);=a352)nRHYfF^+ zW(4XQs*l|PbpUwo7;rELJb5>8A8>yma1Ygg6adG7U3-9auD_K4r+`-v0M}DJZvnQJ zDr*%1;0SS3DXgSNoIOe0BMV@v2Y@%X19uVUF|h>j$XmcV z@6Y8|Q=JALEdgGodNL2V)(UGJChhzZtp!YM7aKEBk5YY_iS=Glgv*y{gWy)Gl8`f)xFUrL1!VwJs z4?cx;efB;%@TR&Cc+v+v&$F+vYBAu2$AEQWAx>(_#10Ys7FfnqS7kkdTg#QTAO~5u zWQ*Kwp6vxbcLeHAs`oOnu!)Prxeu{^KOf)?`PEd9L+xk3^;7bG18@?!>kS0gXBTsj zGr$Y40Z%h{2d%j)lyjFGShplrjNl<)|32UqI?r%Y2Y^@kX42MPaY3B`?#PM06Z?QK>;P~JadKd`k43U!i&cc>N$` zD|Eh}gPZ^sJd_T_!&W4g2KMzqtsD9=$D!7#to1$!>}2pFssq5bZs1K0@?}=74>-~f ztVeM-YaRohXab&O@Ym(@ZN5BGz^moJ>$r(-Vr#Xsw!n_HQ$0;%D(G2iJ8nP~`uj_u_shqE8mF4D6 zv?K)F^*GM%rTWPt-~r%~td`XACpH1>KLs_%U0C${+{6x1Fb~W@6=U+(z^r-gUCLVf z4qzY8K0s>$;OVS)>QNT854eVTN2nfP@EGuN1A+&MXF2C7;B{JV<}m%ts#$B4wTY~T zPBJksa6u)4&*3I=7(5JI_X5_tdG=owe7=E4n76L^aTYacVuuh}ReOYaXQ2N683gAp zahx4J$GDeofjj|6wP9TliC>)qmC_cv|AJ zQc=fAZDih`w$`l`#GTtLCA-eFw8vZ8jo+WQ42tMOv&N+yk3~dp%^F+nz6NZUPSjNr zuZ|m4wrKYa!`2{osY~CT+wfgJ+`_b~-&4+L!=m9fjOf8d!)xS4FUT8z(f`{7sStko zK^9dow$Kjry=0f(Deut-ZW!g!wMD}vqgO8(-aPZ%iuiL&#upYNFJ67!c-r_E@Z5$u diff --git a/proprietary/vendor/lib64/hw/fingerprint.goodix.sdm845.so b/proprietary/vendor/lib64/hw/fingerprint.goodix.sdm845.so index 52288a99545aa032a792a4c79995f2d968baaca2..11521bf6c0a2cd03caea25cad3cf14f30682e72e 100644 GIT binary patch literal 76825 zcmeHw3s_Xu`u-XQbpS7TCp8(bff@m#LRk(s14Tu}YvwS_49p13(9D2Xp2W*BO6xEu z>)74Y&JoPA!qU@??3}VYb;_(`g{DPmg=RWa8vl3gy%#KYvoY<+^Lzf!UOwYD-@Cr` zt#7^Sy7!)8R-|W54$^1{OIq?A5wvU(F-RFrcQOk?3?z|+;{OQJhja!UjF&;mmdn^6 zF@s5+WJl|u<&@HcSz->8BwW;I9`#sgofn#DUG$Y}5KGEsq6nj9Vq&pnqdxjRJWa&q z@WG4>OUr#o0d4mR-!QTD9VU2qCX~C{z5gW45$pK45$pK45$pK45$pK z479@l!3k9({nO%otHw}KD&cLdE>2Uf_2T@smZGO(4Y?afWj$W>XioL+k`6)4-8$j_ zAo4y{kS5$j0WAsEih3vny)>a^#p@zXS3P`)y!C=4LBS-rLPsk4=!lMlSM-8yxK59A zy`H`!25Lk8rLPbq83LgfUO^;PxXhz?Fsa1<8F+=mw}FI*$C4qT!v#wbufUbZR*ewL zG?-=MH4CpCycXbfBVM_9S@Bwe*WMG(?pdo7!fcB-6{bC3xFLM@3s=woxGHwZla8&9 zXWxGDzxAQ!m$s!GAM^CvFW&cds5y4{8~LAYocuxV#}jhD`_J@~-~YU4$$*2qpLyE1 z=xfiBQ14ZdrH|db_SvxT^l8rzIAV^uX4LreA_?kqtc!qcJ998mawjW&Hrb{ zvK7C)oAS99b?>~G_rq;r!w(PekFGd$HSl>wCjl>wCjl>wCjl>wCjl>wCjl>wCjl>wCjl>wCjl>wCjl>wCj zl>wCjl>wCjl>wCjl>wCjl>wCjl>wE3i(mjBA0g~>@!DWPYtiv36d^G@oPH1mNmn5V z!f^IEd|gRf+(19Hf)pXc2PBKQUWT7Bh zy{av~NV1==fM>5(uvfr0%5WA>lMK&gamsL;geR_PTW^(w8)W!a7Jr3kPrriFS9~k{ zA0@R*j@vl_@yrq53jZJA@VOkmk;CV4cms#e=kRha zPWt&^mZ~bmceLJx420as+26q7bzJ<5fU|b(li|CiGCB@l%=y_=Au6<9BZoI}xQWAK zIX`(EzMHep=WqjOU%=s&T)S)>UcvdXbNDt6FXZq>4lm;HN)9jP@ZDTI4&aQpdKu2f z!)_@~e3)GLbUAZX$Kmud-Yo6oa1?1t^&B45f)a9o!#i z!@F=exlL4PyZUgrj>CI!csPgaI6Q*Gb2(hk;b9ye#o;|UJeI?|a(E(#hjX}r!|C@1 zSjyn=PzFL~bGY#B04Z-ihxg{}b2&VO!)+Yijl)YgJch%|Is7UPui)@W9A3%c*Kl|h zhZ{J2BZnt(_$Cfd^hp6TPhaceZ2^`+Q z;o~{Hk;4->yotk8INZnKV>w*-UI%nK{!=+zS1BqKkLB=i4v**X2o8_qa5_im{MX=> z?6A0;b_=1`6BMK4n9kknr_Uk!PY>*UYLD%uyyMS&9992MdrsQC3=I~DOh=ii$ZpY_ zO+`g{CUc?QnYYAh_7JCImbKVfW{t|XTdo~ZI!0e0$mo^=9;@4vDl6o0>MhnXyV**v zcRDTha{XkxqrmDaaoHUneMWK?yr#QcPFK_jOEk%E%_Ghdt3zKPma&yJ$h%p zz8Fn%Ekj$3VwifnTR(kHR@Q}8WGO8!UKY4Irz3~bQf!Gb7h8;=^;$jU&SiC%7I}v&mzfY_~W`sPSDj3m$Rs7me6)tHl?H( z!z!BCrSVtnF3@|Hm001sl-S*wmbr9Tk^-wI(~^ZjKsd5M+)_gOO&V=_3=v9yrnDCn*VAP+!RLHZ!~L55=?8H9~27P1^N8}a~T38VoVSrw!Qawp_A$a=_wkWG-`*zm(~ z*cc8O1(^tGfGmQ{h1>*LLGy8AY8#{lav$Ud$VSM2LF#ZQIRL4L?1~#t21o;BE~E#t z0&*MVCdfv}I>-dvaB6_8pf{en5b`#p9x?)lFax9oG8eKAvI4RZawB9KZmiT%IRqGF z79_sXN3tO!Am>BILRLU#LvDbyLDGb#2uXAEETUOHSTnGzxVuq&5MDlP?)-U!;t6;i z2M(%Q62-IdIuHP-MsokuH+?-0d%Xs4vb$a${&3Jk!FPAwKtrQ>6KOsUDP0xv7a@Nm z#$cU1|DLWw`Q^w@q+=11WVQ8A<9!gXO5|f$wIqty;#Cmk^uNw;I;sG zAHYaeKQ%*JeeRav>T_C+H>duZk1G2a{M%L!_LX-c8yb2Oe*=~e z9WnS1ttMXG%EdmcBI`!MJ2V-0;2QQ{>eJ z%f{$Nj3bQEmyw4tSMw3%rXYj=Kaek@JlfKy&A794^J434iy1-%A5REnD|(%~B?aR) zx%#IrslMNg+X(av>f0jKw+He^^vm;9C%*A*>hkmuY&QzFk)!TLJm0|f)Qp$Vcj&)V z;>G^lv;l3U991Ij2Cc3JXQd4lc%O^8_9)&zf^yH`J#F7Zk}vdI+cwl{g}VNPd|Y9n z4asQ3-fc8~*f!C*MKHJS3nqO!TGvb@epaUrF=U`Ec;w6M>^W%`kdrFFz#?8lEsSxu~_-)YksTs}1PRHHHTDkwW zvGe~}eIRb$lIrOxtLH`3!*fJ1c78@C`0bc;T64)0( zx?=`h3hjY@5Bi?xZw2~^t-+_~y(+9>eB7C+m-ch2&aj8pe^?t*v;916;LFo8TQ1Q4 zf%Dk^-u@{*j~_lxHkNU3qTT)pRK|S~WtLn(nLvH8_yWqaeez3s)+`V8rp(uQ&1c2) zChecMf_~d(IxYgu-+;az*9rR}^|kwt`uebIi?7H2sIRlFzW(}0eZ3%_FK8QAoW~cx z)(dBj$*KOkF%O^7kX@ux#jGDup6!#hc+d6&dS+q!0KZq#J&K(#G&-E=H1yg8ds8O% zR>&xv_jH(}(bJ%JBYwJuHLupb@1IKiK4WP0>3LyTQ@Uc`?S^xZ);k~9JG%Y`KW^(c z(KxoP9_ZVJ7;6z@trX*%h>Na0bT41W#fW%YVtfSq`R&-xD?4Kk??U`hTIqTP*FkKb zjY8SRE;xtan#mkw*kcPOJtMCqH|+~1IU7O^^o-UN-7VaE2kv-{w%Zb?goLd#Xd?HU zLk)Y_SQExewgk@$@>3)gM7)M_a2`-ymEsy)uO4oV#Tj z_{ah;Q>%T(Db@a|20!>}d)*}X7st;q)Jx;B43NdNy9??k@xN%qHty>}YD))H>?uRL znpbqLZoY>2$AyuEIfH!@8nk_DN(CPKt~;ddhjp}XO@p>`bt7!tz|RbuTz#3Q?>hek z;-4mRCb3+lJ-CV8KvX}u4i4ommsXlpNd zJz+vUPfGP{JK4PJKFPLCoDD%<+&b$+eYC+XV);i{`KIPwx1;f(cMT+Bid7q*LJh! z{YXvUW40m0d;GRX229fQKlc4S z#->iMOkAH#ypP}-zpm5Di7T6%b0%qY$GV1)oE4Xo6K`NYKeoi~+rA{)mpOuXY2Fwe z$@zAPJ#jSrP`zeJbmBMKu$n@Y#b-eJyo~lXj5YZ6UC1t~H=@p;@am`OEAU3g?CCs-GE4{ACy;v^*XW^f?2c)k|!N-zQ3O}}F% z)JgN2VOxrMNyq<{DBFOwAP?j3OYkY2VQ{_(nS=EM*Jpaor2P$$&(r>WCOOG=s5ybg zyGcuS>Cn%#KCM*WuGI^D-=NNFuFhoCN$u&iTm$A&PgWo1?iTcEOMRKB?@OsZNIIUj zrQVR(_*rwpCiva-S##~fGzP?4`C0R>reB-;cc;D(^MjDhuLiyEN4tE+E?7f!SW7~% zwua*VK#+GH*49ScpTXK%ue7$h;e)NM33!jSyk3WE48^q-_mgaFZ8f*9ZSUjpMa z!kokXrT}v;qTM;SUfVk7!V25YxyNz;EwnK3oTHD;v}G6&U-4 z0md-$gfWc%fZRau8RlW{{1P0sjNzFW!>gq+4Ea6npV`Stm3ZvX0KeEPYrkWC#`Z;S z?98Hh!hJ+>U&NUL`{ERg zw2MC%3uhbPD`CrDV_yk7dRh? zUC>u?dKvW1oPIO(y_|k4^uwIK3VP6>*80~%AIj->Ku_WHyP)TB`d^{1;`Do=Z|3y- zq3`ANhoK+l^v%$NE^n>>@6d;GdJXgxPJaS=9;ZJIeHEua3w<-E{}cLNPJapdVNTx* zJ!o)i{jWhE%IR-HPvP`;q33b>2hdk>`hMt}IsH@UdpZ4c=!ZG|F!Z3v*80DKK9tkH zg`UFc-$T#i^pnt6ar$ZKn>qbw=zBT+SLla1Jtz(J>s#yZ41Fl4heA)`^zP8}M7?$7 ztM60>R0dQAR0dQAR0e)813A-#&)wq_eQHt}P#I7eP#I7eP#I7eP#I7eP#I7eP#I7e zP#O6Dl>vO!R85zF0et>lNK9UWDgwGx`!gUde;8!_$mGR3{J-8mtbI&gY&+QvMY+T? ze<3lP@xk;fWcg!ddWuY+E7Nb6>37TY2W0vdNoR3Y4G{r+^O+910gI< zd>vm%yJJPk>`L&36q@ikL?N;E`K9u`C7k{#0GgsEiV~j<5>le{B}{y-M@XC2ijqC# zXZ7OqU{VqzlB#X_yH5C?iI8leVm`h*BcvTt`+oXWY)>7&OheNEQQ+$v;v4#XO`7m| z03kI=@o&NhVrcqR(krC$SnLFTSUW_k|K0x$R?(L#FD(xw27gt>ZZx@Ere!3?gTKE* zVhWu24}b5(8iPL{LjR&qjNO7i3L|91loa8O%UWa--{ra8B*wDL;r6&ljMZk$cbST< zMw=gOcW2dKm5p-hbdj||JHO%<#jaM)GY++i-_GyiC?!CeBioI~u znmxW_mw%q&I`it(JM!;N`uV8#Yu|gr7i)%1yzh9iUw`I{`*%H>Xnl9}59=Q?e?9q% z|CW2EzLmUw$@6b$SLS$M&KYs%i`CQr{lF)KQnJSHZvNBuq~d5t-JSm!`@`m>tDD~& z`N@3`7^XZhIPP>r|ko>8{b;B zW_Rv${>;R>TR$FhP59dB>x`Sz+?NfVV;;7$&rbyrW!L3@J}kb|X5G;rUo9Wkd(iXG z<^FW{xt%Yqw0sts`^kiuUwb?pJn4xOlccWm7Hk8f_@`P#J$^gmDiXz9B3 zN5cz0df>X%drmwxdgi*uv5$^Tk63#0%*+w1*1q{{+MjLx-4A~~xco^&(cXtLu6S-u zkDx87*% zTlM~pdrqDF+am)GJ%88fm^&UkTz*7<_S-K1+Iq{dx`uA4xAn{EtlL;MZuKiS_RKCW zyWZYy&B(Il>G#~VwSRtj+R+8)PTYIl#*Y;Qgx_=jkRT%=xWyA1uhQ;sRaaUcpQ-7QH#@`0K``ovK;hES2twCbAylciO?T^W&QUBHLvvbURS%|-*b}>=KZO0+|yg5i$_n|aBP-k@v)Ix zpL)G|c5u+F;T8Y*a@oLrCqKFWFP}V7{p34`Z@H^y(DLlbJ<=N*6Nc$`-XGDw_Uik# zEH_*eGV{jm-;K$?`Sp~q%CCCb`q7E5k@M$O{nb?U&=;lN=N_4L;ES7e`p(y_D!k*> zyDFc2^xV*deLc2l)4S{rzx|WbDG}3qbU$~))Y}XVqkP)LIah4I=74$W&tY#b_;kpe ze%i0{Pad;Bd-CVVlcV}O=fCjMwfD|GReEg4FS#4PyeYV9Q~U#ekM_v zsC3Kzc}w3}Wb%&*n{#mSnZ9#gi|+aUz^KQ+9X9%^{aw#_-}&;r`47B5Wta6A=g69^ zhV)(|dYtesxb4-WEAMxYPt;%g<*XkDKQYlWDsArBr7`nf4!$#L{iIp~>eHY0+V$3*q4zwr0JL#TE@&zdA4Xsecvx zB5c6H3$Ud9Pf`WE(7m1Q>umpL@^h&cx@^+K?3ko+(6a*5*?ECU11*F^&qLIP{~Ht( zzXz|=TzPh0VbUTU$XNaC97fC1RE8Jz$?9k4H7414O_qgp?XN}#U%uQRS~95@)t3L|{Jn=9N>RLIvC$yDVR9)u zXiE8V{<476@+|)FG|`aB4<-Jk;=k#?M`Yz2(?v@rYg-SpLWaD4dc34nw3ua!<=G$2 z{SY54=aansS0j@zFF!vvv4%-b*m;-v{7Nd{LQ{#9BT1dC{qp!}b`QK-%2!C`B`L3u zm1oipbLxYY4`<~hIbYUbRt`mk^aB2;+_CbuH6qSrxYT}jJ;KVfxajo?Uw`>pu{@Je zqT2F5E6;#2c*B=x*E393&`d7L%hSIRN--8csS=I#m7-*EidyUZWBR}Grll+cAzAqo z97f;D!XY0Az^GkM=|b~>jDLCgJ7G(&&02>Uvk;|Cx-g^sQ-rmjtqWjmnz`5Dd7K5!0Qz7LkhTNNZ@w$RKQ0n;E4)&rUGtMz+DRXDh2#@1v~~n zK-mkwc$szs5fc6VSeizJi1_mPqMjfMG95pTN$qzp6aj;TAC&OM1tP%ghjbV1cS?Sw zpED)(5Y%{&oce5T_Ed8r?dWFITp z55d0ElVCHEexDW15z-l9KMEt+GCz?LpE-GwA?#?n2kQWBSH)^kZxjX5NbT}4{w4f# zsa@GJ-j+)|@0Qj3Daz6K`(%p_^b&8+NbUMiY8T_@J!$+@$;QuaEUMJcCaK>OrFi}^ zSd4$?N)cfEd@I$PFjK_4O7&ibA9tpH5@h}2mGCI3y{z9Sg^N7vWIWH5;yED2lOx5m zAF?OuM#4)(z$f94O7ro!jGrCwPvhAt>)&ssab78n=UmCpAgR3#QhV7rBt`bTf_$UR zR21WOQl-dQAicAhT$ZIKmsL_rJ@z6u%d%UF@=R`)WrON*nH=sCr^`c4%B&8H(-l+T zbXx4?F)fbr?T!MgtHfn@c&z0ftHW(~It+0!v65Hw=+W$*B#R|!5u)RYGuNogXf&6b zjL0(;*>ARztjv^Dk})ll7#GIHnk<&tR#%zbY%Qbu1n5RfX>su~qq`NJK3)uWycljG z3pYNNtFR^Bgt>9X*ti6HaY>Q2*y`|@JZMDxgzJT-rr4duR*%bWc290?YFu1_)syLP zdrS_qHJt`>scTGfTRmx3+U)e~_&9Vg*ASyc$hf#D;uAC5Yv=@*wZQK7SY63(iT3na zQ>V}Nj5QkL;^Hx2>}I1I^f(GK&C_R(184@>MhqRh$DL_TPp4p#si??lHhG*bilnF0 zNT*IPIV>)x-7;a8H9rLdFUevx&-S>Sj)L^;sRE_HHL*L|npldmVQG{+88Og}!ce3` zCTqs^$U+yH3yo%5p)ucNFCzIatCbWm!o*o(G?jX6=yp3IM5ZuvjAq)iMJ-y9)7_F~ zb-0{GEm>AaX|dIXlE$TWj}7IDFpbQGtR%*X;NNJsFvwYAb+Gp(PPfO{)?tauDnne> zVrN-P^%w|7li6c0vlQa;(`z=}k42 zcuHLzGu7h8x~!CB4B0|wsfUhtHdb2}lDJs9KpIUhmuXq1EvtBZQu-8WU|;H`C&BG; zmP|L5*$aeqszX+vxN%m8DX+*nIe)U%By@zWBRYRPKQkxWEza~Mzo#?AzM#ugqLFsa z*!T|XoC&mZQagUgCfOZj&O$481&h;Yb`}?7Nenn}6NPbGW;JKp($i~@=$b>!$}bx*Y}OUG%%)1h^bmF8>fk!70GQd(q9?}&LD zpMbL`J(QIg9Zruue_6|}h@Cxtoc!=Y?TXz6Mo&kKMIkhg6}#?lLyJq4g@&j)Af^eF zsnlXi;Ki-YgzboE=w!{vvvkP5GJ*EQ|Cy#II>cSo+95}qM7J4-QO68NhcKOpgRslf zQT>`o`!&;HZ*zExcb8;NpFP%?5Z~SvM{1EBi)E^GjP95-RZ`0#zC-#ViC#QfvT#{- zzA0}Puaz$Gkuu5d&a}+MwKkTZjyTjOxmzxsJ77UelIB@{eus2!YFx)u6W<}#q{Vhj zH624*+C`Igp1UM*MRrGFjx!AxM>hW0EiQTEj4juV@#1x(g&G=NRN>0u=6tCAF5j=tcN< zM3-T5+fr>NyW>33wJ_Lv9-^0b^6PNvQV$Vd?81IO9*Q^g1QLaNbr-(>oQFkRu1dkCS+P9ZOK@xO_YQzKd5o8W&iFX-@?iEdcZthc z;s&R<&wbH{;`Zr?kHhVzjN~l3E4pwuQMvEYIm_XPsw&>e!C^PY22<|>zw>;6S>)#&}KF! zv^yKw1Dm*5r(?3+<@VqKPTLvTVlmd~$TGP-^Q@*qY9u|^VF9<8jT6npr$6l&#-qke z_6R81(+d#iggyJde%gTxu+`Itp;cv$|Z^+UUK`oYYJGj4(ac*s^2> zoP~5KcT5<#%x`}i5<j^Qi(8&{iZ`N-d3L7}4-HMrjQQddB=!VU%Fo9W z?Z6qWx3G=H!aZzR$wKQgqm|xZmpfp0^O${`r+N$&Zw?rp`T26B<4eiA4xaFSZt&OO{cAvV?n5-|`s;OL1btIQmHln*JZg?@N&Y delta 971 zcmZ9KKTH%s6vp4I9QOx~W6wkPs^bVIkdPcCS8QRjSD>*V3JD0P#D;`! z&4*e~foB&{x7JF0u%^Z?z1{@=&1#`;OV9j>)$H7=UnYS602gK<8|FKXv%saau@-jC z{2&kfKx3EMZ=kl$FV(NPZ>Xz0)B;(+KXcr~fO^nrK>msLLnz mM0RtV!?InevYe9Fg7KzckQ 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 delta 6470 zcmZXZe{7S-8OP5~AOT_=^CJWZIDxbzG+=%NFc4-#`H_|kr;Mho%NnLJE$cGb+9HjK zbk0hIqBg2Y$!avvoHEn`1)R39&=%xqiq;IJaTcY=Sf_81!-_!Ax z9JONwVGnTC0B}2vM`+v+?EP)J`pvc6Z{WVAz{c}Ca`n{Map25QobCcn0S~_obrr{c z#tH12s6EgA1Mn_%qG}#+191OUJoge`WH^L?1IzK;xE7cObqu&G!}9@po&*;Eg4#sO z){Rg*Cu!Ht?*qPps1OMoun#!<8gL;ec5exA5cu*Kuzadpnf#|(wJ2~k*SwVYvx&e7 z;IVU1OOJGWM2@2OJ5Re-^E=>DbmI41H4pG9hJz|Gs=f9Q)PCT;j0C>B3OEAX-VduX zKy@ppIu1O_RWm8LTE?VuEd{*e5vc3wntLv=%cecAzlG;{#E;JbZUFZF4A0Hj+a?2t zfX|Nro3Wo<4;%v)Vc9$KLt?%DoS`>L2M7+s|kT0=r)ZuApm^xTsO!F|JxWjW70M>;!P(9mveszmWx7 z=l2xtTK`#KS z_8Nc(veFkdM;cS%5CX2usHt{dYhnsJ#BE;ZTIu=gvRCRP)T4ibYce@>>wFm4IYYa) zvm5w2@r{MRKHzIF0h?tx$s7v;ANm|v#;^P{{z_J$u zE`0~;M&bb$>?Cl2TT(`>B2$g+oTXiB;{9CS+I1V@)xxK+LtM|O4s#i6L8yBk#n{Kt ziSku29tA#i9?y$ud=+o^3E=arYo;oGa}xJ^ws!3ZKYCiJeq}1K2YA<77;hoo!fUKw zVVMR?kVK=zZ7iA*sQVL8%NWva{a0W-4s|uvX4P(S%~MbpJrDH|)!EDvSCRI74{v+b z#FrMqcmwdxjLX4$96JQO`zVZ8pcC7862*Ws)8JJuY7%%X37JX3C;27moTFXqzXTkh zYqdNqe89~tJu*Obdx&u!1U~Sqbl2u^&7;6IW5DfHA7vmX6qZNLGHl6t;=8=3+UIK5 z2H%3ZnRv@=?zh4PqK6-vX2;agq5|0u^~RM@_fh?BF3yq&a0lzTnb>#aUz9oye2>_8 z{sBu*3b>y4R8#gAF%4W!?fGaO#^yJGcvQZp^BcJ9CU7HNvo8k@0oOAPHWJr(;du-= zdsX_x3YaBH;Euz<*QvG@!ML+nx@H&I^RVV7$DUpc>{Hk#ikCrcD$~dW;2`k8SAh%B ziTRB4DDY4(p7(R?pYY>80o)P+zDE44?A5Z^OZ3>gL%=3dk220Z!1W&ho3GgM{EGDh z5AX~%6RVeB7Rq=8xSBU?v!Nf#d8?~M9JqD`jPIsvT|6vOz>TYcbJ28vED3y@HPtNYFs~NQ z`P#M1{7Gad)yw6*MH%-2SH6fDwGnS%oCkqxUkAQH{3A{*3fwdZJV5+yZb<^TFXJQk z7-P*|s$C1P^z5K|unH6N03Qj$xH(IH%y94n=ct1}MCZ^<8X)S9~-*rV@b-g)T6&$BVM54iFoo*$sPo5y<)_{fLA z=A-8+bAAK&bON_gUClEz0lbSJ*d|h)ynx#mXxHlbvxLc#>U_B70j_)x#ye>I4UX*x z?&7V-O}vI_5COiztF??@-Ew#e#(_up728g{+kAfmUuOCTh^O*+ca>?+E8l=?X3fWz za=#Up;gIn|ajkSs=E;u6_z?vt!RO6rJUI>;QlD zHWT~0^if5sPhp#A&8RK2_|X#tZu}U=jk=ka;3#lrq+asEcmnts@5pAqA724%U#Q1! z;x}*^Cw6W!um{+E9AoDpm&9JP-x4phiK>iC(V6vHEozw_OKA1Y;ffA>Z_mQ4)0_8| z?CUMrXSw;7b&Cj3TxUI#6|jo%JL{}-9L+MvRFi40+v(n0>#R>q4SVaX`IG+VKMum* zsI#t^#G8eXefY3^P%iE0X8Jwy+*3`4iBPkUi>_N?c=cmemnAFwy~nH`OHTNN>^AWh z|K&@3SJcYCC`Q}D_-Ojm@&x;`g)Mc~sV{A}mPzB~+pV5)N;$pv2ivWCt(KhLTRW^z GSpEwQ2LdAi diff --git a/proprietary/vendor/lib64/hw/gps.brcm.so b/proprietary/vendor/lib64/hw/gps.brcm.so index d391d034601a59c268f982b5b022dbb2ec359b15..b012915c4d015e66d74caacefd28c0696647cc97 100644 GIT binary patch delta 47560 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 K$INwcA^r;>rlODl delta 7768 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 Hd(M9WG+@2x diff --git a/proprietary/vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so b/proprietary/vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so new file mode 100644 index 0000000000000000000000000000000000000000..5f014eea3b6f3848591c6324b1ae8e058f7ee7d9 GIT binary patch literal 41896 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 literal 0 HcmV?d00001 diff --git a/proprietary/vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so b/proprietary/vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so new file mode 100644 index 0000000000000000000000000000000000000000..101655cda0983c505a18bcca03b1254f30bccc71 GIT binary patch literal 28920 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 literal 0 HcmV?d00001 diff --git a/proprietary/vendor/lib64/libkeymasterdeviceutils.so b/proprietary/vendor/lib64/libkeymasterdeviceutils.so deleted file mode 100644 index 0c9ac63cd5829c161c311fc2cdcbe2fb9dddf942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19544 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 JDVtjMe*khn06YKy diff --git a/proprietary/vendor/lib64/libkeymasterprovision.so b/proprietary/vendor/lib64/libkeymasterprovision.so deleted file mode 100644 index 88aef7be6f3f068742aec9ec4d0c47edb67f0d51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32272 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 T{mc(Wm9f<#OPY^x-}e6p1C>3F diff --git a/proprietary/vendor/lib64/libkeymasterutils.so b/proprietary/vendor/lib64/libkeymasterutils.so deleted file mode 100644 index 5b394ea4215cfe2bcc14da7ed559c61436da1317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42696 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 BB&YxY diff --git a/proprietary/vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so b/proprietary/vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so new file mode 100644 index 0000000000000000000000000000000000000000..a19b64c61dd8e0950888a88ec18106c3e0e71d15 GIT binary patch literal 79680 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