diff --git a/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin
index fc191021..5dc2befb 100644
--- a/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin
+++ b/Opencv/.cxx/Debug/p1g6s634/arm64-v8a/configure_fingerprint.bin
@@ -2,28 +2,28 @@ C/C++ Structured Logx
 v
 tC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\additional_project_files.txtC
 A
-?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	„Àý”Õ3 òÐæ›Á3u
+?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	Ò—Ÿ“Ö3 òÐæ›Á3u
 s
-qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build.json	„Àý”Õ3¶
+qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build.json	Ò—Ÿ“Ö3¶
  þÐæ›Á3z
 x
-vC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build_mini.json	„Àý”Õ3® §Ñæ›Á3g
+vC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\android_gradle_build_mini.json	Ò—Ÿ“Ö3® §Ñæ›Á3g
 e
-cC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja	„Àý”Õ3ìÅ ÍÏæ›Á3k
+cC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja	Ò—Ÿ“Ö3ìÅ ÍÏæ›Á3k
 i
-gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja.txt	„Àý”Õ3p
+gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build.ninja.txt	Ò—Ÿ“Ö3p
 n
-lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build_file_index.txt	„Àý”Õ3
V ®Ñæ›Á3q
+lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\build_file_index.txt	Ò—Ÿ“Ö3
V ®Ñæ›Á3q
 o
-mC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json	„Àý”Õ3µ ÉÏæ›Á3u
+mC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json	Ò—Ÿ“Ö3µ ÉÏæ›Á3u
 s
-qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json.bin	„Àý”Õ3	ñ ÉÏæ›Á3{
+qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\compile_commands.json.bin	Ò—Ÿ“Ö3	ñ ÉÏæ›Á3{
 y
-wC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\metadata_generation_command.txt	„Àý”Õ3
+wC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\metadata_generation_command.txt	Ò—Ÿ“Ö3
 ° ªÑæ›Á3n
 l
-jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\prefab_config.json	„Àý”Õ3
( ¬Ñæ›Á3s
+jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\prefab_config.json	Ò—Ÿ“Ö3
( ¬Ñæ›Á3s
 q
-oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\symbol_folder_index.txt	…Àý”Õ3
n ­Ñæ›Á3Z
+oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\arm64-v8a\symbol_folder_index.txt	Ò—Ÿ“Ö3
n ­Ñæ›Á3Z
 X
-VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	…Àý”Õ3
¨ ÃÖ�˜Á3
\ No newline at end of file
+VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	Ò—Ÿ“Ö3
¨ ÃÖ�˜Á3
\ No newline at end of file
diff --git a/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin
index d980cd9c..29999f1e 100644
--- a/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin
+++ b/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a/configure_fingerprint.bin
@@ -2,28 +2,28 @@ C/C++ Structured Logz
 x
 vC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\additional_project_files.txtC
 A
-?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	Áêã”Õ3 ‰×©œÁ3w
+?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	þÏŸ“Ö3 ‰×©œÁ3w
 u
-sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build.json	Áêã”Õ3¾
+sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build.json	þÏŸ“Ö3¾
  ‹×©œÁ3|
 z
-xC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build_mini.json	Áêã”Õ3¶ “×©œÁ3i
+xC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\android_gradle_build_mini.json	þÏŸ“Ö3¶ “×©œÁ3i
 g
-eC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja	Áêã”Õ3¤Æ ÑÖ©œÁ3m
+eC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja	þÏŸ“Ö3¤Æ ÑÖ©œÁ3m
 k
-iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja.txt	Áêã”Õ3r
+iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build.ninja.txt	þÏŸ“Ö3r
 p
-nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build_file_index.txt	Áêã”Õ3
V –×©œÁ3s
+nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\build_file_index.txt	þÏŸ“Ö3
V –×©œÁ3s
 q
-oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json	Áêã”Õ3Ð ÎÖ©œÁ3w
+oC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json	þÏŸ“Ö3Ð ÎÖ©œÁ3w
 u
-sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json.bin	Áêã”Õ3	š ÎÖ©œÁ3}
+sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\compile_commands.json.bin	þÏŸ“Ö3	š ÎÖ©œÁ3}
 {
-yC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\metadata_generation_command.txt	Áêã”Õ3
+yC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\metadata_generation_command.txt	þÏŸ“Ö3
 º ”×©œÁ3p
 n
-lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\prefab_config.json	Áêã”Õ3
( •×©œÁ3u
+lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\prefab_config.json	€ÐŸ“Ö3
( •×©œÁ3u
 s
-qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\symbol_folder_index.txt	Áêã”Õ3
p •×©œÁ3Z
+qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\armeabi-v7a\symbol_folder_index.txt	€ÐŸ“Ö3
p •×©œÁ3Z
 X
-VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	Áêã”Õ3
¨ ÃÖ�˜Á3
\ No newline at end of file
+VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	€ÐŸ“Ö3
¨ ÃÖ�˜Á3
\ No newline at end of file
diff --git a/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin
index 681f294b..e6add1f2 100644
--- a/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin
+++ b/Opencv/.cxx/Debug/p1g6s634/x86/configure_fingerprint.bin
@@ -2,28 +2,28 @@ C/C++ Structured Logr
 p
 nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\additional_project_files.txtC
 A
-?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	�ëã”Õ3 ÑùÊ›Á3o
+?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	âÐŸ“Ö3 ÑùÊ›Á3o
 m
-kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build.json	�ëã”Õ3ž
+kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build.json	âÐŸ“Ö3ž
  ×ùÊ›Á3t
 r
-pC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build_mini.json	�ëã”Õ3– ñùÊ›Á3a
+pC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\android_gradle_build_mini.json	âÐŸ“Ö3– ñùÊ›Á3a
 _
-]C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja	�ëã”Õ3ÎÅ æøÊ›Á3e
+]C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja	âÐŸ“Ö3ÎÅ æøÊ›Á3e
 c
-aC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja.txt	�ëã”Õ3j
+aC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build.ninja.txt	âÐŸ“Ö3j
 h
-fC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build_file_index.txt	�ëã”Õ3
V öùÊ›Á3k
+fC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\build_file_index.txt	âÐŸ“Ö3
V öùÊ›Á3k
 i
-gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json	�ëã”Õ3¬ áøÊ›Á3o
+gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json	âÐŸ“Ö3¬ áøÊ›Á3o
 m
-kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json.bin	�ëã”Õ3	è áøÊ›Á3u
+kC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\compile_commands.json.bin	âÐŸ“Ö3	è áøÊ›Á3u
 s
-qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\metadata_generation_command.txt	�ëã”Õ3
+qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\metadata_generation_command.txt	âÐŸ“Ö3
 ’ óùÊ›Á3h
 f
-dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\prefab_config.json	�ëã”Õ3
( ôùÊ›Á3m
+dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\prefab_config.json	âÐŸ“Ö3
( ôùÊ›Á3m
 k
-iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\symbol_folder_index.txt	�ëã”Õ3
h öùÊ›Á3Z
+iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86\symbol_folder_index.txt	âÐŸ“Ö3
h öùÊ›Á3Z
 X
-VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	�ëã”Õ3
¨ ÃÖ�˜Á3
\ No newline at end of file
+VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	âÐŸ“Ö3
¨ ÃÖ�˜Á3
\ No newline at end of file
diff --git a/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin b/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin
index 7022580e..8bdfeee3 100644
--- a/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin
+++ b/Opencv/.cxx/Debug/p1g6s634/x86_64/configure_fingerprint.bin
@@ -2,28 +2,28 @@ C/C++ Structured Logu
 s
 qC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\additional_project_files.txtC
 A
-?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	Íëã”Õ3 ‹å©œÁ3r
+?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	ÌÑŸ“Ö3 ‹å©œÁ3r
 p
-nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build.json	Íëã”Õ3ª
+nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build.json	ÌÑŸ“Ö3ª
  �å©œÁ3w
 u
-sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build_mini.json	Íëã”Õ3¢ •å©œÁ3d
+sC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\android_gradle_build_mini.json	ÌÑŸ“Ö3¢ •å©œÁ3d
 b
-`C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja	Íëã”Õ3ÝÅ ×ä©œÁ3h
+`C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja	ÎÑŸ“Ö3ÝÅ ×ä©œÁ3h
 f
-dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja.txt	Íëã”Õ3m
+dC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build.ninja.txt	ÎÑŸ“Ö3m
 k
-iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build_file_index.txt	Íëã”Õ3
V —å©œÁ3n
+iC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\build_file_index.txt	ÎÑŸ“Ö3
V —å©œÁ3n
 l
-jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json	Íëã”Õ3± Óä©œÁ3r
+jC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json	ÎÑŸ“Ö3± Óä©œÁ3r
 p
-nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json.bin	Íëã”Õ3	í Óä©œÁ3x
+nC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\compile_commands.json.bin	ÎÑŸ“Ö3	í Óä©œÁ3x
 v
-tC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\metadata_generation_command.txt	Íëã”Õ3
+tC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\metadata_generation_command.txt	ÎÑŸ“Ö3
 ¡ •å©œÁ3k
 i
-gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\prefab_config.json	Íëã”Õ3
( –å©œÁ3p
+gC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\prefab_config.json	ÎÑŸ“Ö3
( –å©œÁ3p
 n
-lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\symbol_folder_index.txt	Íëã”Õ3
k —å©œÁ3Z
+lC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\.cxx\Debug\p1g6s634\x86_64\symbol_folder_index.txt	ÎÑŸ“Ö3
k —å©œÁ3Z
 X
-VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	Íëã”Õ3
¨ ÃÖ�˜Á3
\ No newline at end of file
+VC:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\libcxx_helper\CMakeLists.txt	ÎÑŸ“Ö3
¨ ÃÖ�˜Á3
\ No newline at end of file
diff --git a/Opencv/.cxx/tools/debug/arm64-v8a/compile_commands.json b/Opencv/.cxx/tools/debug/arm64-v8a/compile_commands.json
index 686b0761..b24dd0b3 100644
--- a/Opencv/.cxx/tools/debug/arm64-v8a/compile_commands.json
+++ b/Opencv/.cxx/tools/debug/arm64-v8a/compile_commands.json
@@ -1,6 +1,6 @@
 [
 {
-  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/p1g6s634/arm64-v8a",
+  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/572l4p11/arm64-v8a",
   "command": "D:\\androidstudio\\sdk\\ndk\\29.0.14206865\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\clang++.exe --target=aarch64-none-linux-android24 --sysroot=D:/androidstudio/sdk/ndk/29.0.14206865/toolchains/llvm/prebuilt/windows-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -fno-limit-debug-info  -fPIC -o CMakeFiles\\opencv_jni_shared.dir\\dummy.cpp.o -c C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp",
   "file": "C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp"
 }
diff --git a/Opencv/.cxx/tools/debug/armeabi-v7a/compile_commands.json b/Opencv/.cxx/tools/debug/armeabi-v7a/compile_commands.json
index a6792426..3ce2aa30 100644
--- a/Opencv/.cxx/tools/debug/armeabi-v7a/compile_commands.json
+++ b/Opencv/.cxx/tools/debug/armeabi-v7a/compile_commands.json
@@ -1,6 +1,6 @@
 [
 {
-  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/p1g6s634/armeabi-v7a",
+  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/572l4p11/armeabi-v7a",
   "command": "D:\\androidstudio\\sdk\\ndk\\29.0.14206865\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\clang++.exe --target=armv7-none-linux-androideabi24 --sysroot=D:/androidstudio/sdk/ndk/29.0.14206865/toolchains/llvm/prebuilt/windows-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security   -fno-limit-debug-info  -fPIC -o CMakeFiles\\opencv_jni_shared.dir\\dummy.cpp.o -c C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp",
   "file": "C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp"
 }
diff --git a/Opencv/.cxx/tools/debug/x86/compile_commands.json b/Opencv/.cxx/tools/debug/x86/compile_commands.json
index 13af507a..79a5cfc0 100644
--- a/Opencv/.cxx/tools/debug/x86/compile_commands.json
+++ b/Opencv/.cxx/tools/debug/x86/compile_commands.json
@@ -1,6 +1,6 @@
 [
 {
-  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/p1g6s634/x86",
+  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/572l4p11/x86",
   "command": "D:\\androidstudio\\sdk\\ndk\\29.0.14206865\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\clang++.exe --target=i686-none-linux-android24 --sysroot=D:/androidstudio/sdk/ndk/29.0.14206865/toolchains/llvm/prebuilt/windows-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -fno-limit-debug-info  -fPIC -o CMakeFiles\\opencv_jni_shared.dir\\dummy.cpp.o -c C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp",
   "file": "C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp"
 }
diff --git a/Opencv/.cxx/tools/debug/x86_64/compile_commands.json b/Opencv/.cxx/tools/debug/x86_64/compile_commands.json
index b38d6808..76c7b5ab 100644
--- a/Opencv/.cxx/tools/debug/x86_64/compile_commands.json
+++ b/Opencv/.cxx/tools/debug/x86_64/compile_commands.json
@@ -1,6 +1,6 @@
 [
 {
-  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/p1g6s634/x86_64",
+  "directory": "C:/Users/24171/OneDrive/Desktop/msdk/400apiqwq/ams/Opencv/.cxx/Debug/572l4p11/x86_64",
   "command": "D:\\androidstudio\\sdk\\ndk\\29.0.14206865\\toolchains\\llvm\\prebuilt\\windows-x86_64\\bin\\clang++.exe --target=x86_64-none-linux-android24 --sysroot=D:/androidstudio/sdk/ndk/29.0.14206865/toolchains/llvm/prebuilt/windows-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security   -fno-limit-debug-info  -fPIC -o CMakeFiles\\opencv_jni_shared.dir\\dummy.cpp.o -c C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp",
   "file": "C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams\\Opencv\\libcxx_helper\\dummy.cpp"
 }
diff --git a/Opencv/build.gradle b/Opencv/build.gradle
index f321ba03..aed4a7c8 100644
--- a/Opencv/build.gradle
+++ b/Opencv/build.gradle
@@ -112,6 +112,7 @@ android {
 
         versionCode openCVersionCode
         versionName openCVersionName
+        ndkVersion "29.0.14206865"
 
         externalNativeBuild {
             cmake {
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json
index bf8de94d..5c5feac2 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/build_model.json
@@ -25,7 +25,10 @@
     "variantName": "debug",
     "isDebuggableEnabled": true,
     "validAbiList": [
-      "ARM64_V8A"
+      "ARMEABI_V7A",
+      "ARM64_V8A",
+      "X86",
+      "X86_64"
     ],
     "buildTargetSet": [
       "opencv_jni_shared"
@@ -132,7 +135,6 @@
         "rootBuildGradleFolder": "C:\\Users\\24171\\OneDrive\\Desktop\\msdk\\400apiqwq\\ams",
         "sdkFolder": "D:\\androidstudio\\sdk",
         "isBuildOnlyTargetAbiEnabled": true,
-        "ideBuildTargetAbi": "arm64-v8a,armeabi-v7a,armeabi",
         "isCmakeBuildCohabitationEnabled": false,
         "isPrefabEnabled": false
       },
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_403_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_403_timing.txt
index a71e1cd8..20b31965 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_403_timing.txt
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_403_timing.txt
@@ -6,3 +6,10 @@ generate_cxx_metadata
   write-metadata-json-to-file 10ms
 generate_cxx_metadata completed in 118ms
 
+# C/C++ build system timings
+generate_cxx_metadata
+  [gap of 25ms]
+  create-invalidation-state 48ms
+  [gap of 27ms]
+generate_cxx_metadata completed in 100ms
+
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_736_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_736_timing.txt
index 7ce5d178..5b7f97d5 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_736_timing.txt
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/generate_cxx_metadata_736_timing.txt
@@ -4,3 +4,6 @@ generate_cxx_metadata
   [gap of 18ms]
 generate_cxx_metadata completed in 43ms
 
+# C/C++ build system timings
+generate_cxx_metadata 16ms
+
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json
index cb4f3345..1fc91133 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/arm64-v8a/metadata_generation_record.json
@@ -11,7 +11,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1793695528
+    "memoizedHashCode": 251355522
   },
   {
     "level_": 0,
@@ -25,7 +25,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1225213556
+    "memoizedHashCode": -317126450
   },
   {
     "level_": 0,
@@ -39,6 +39,6 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -159415290
+    "memoizedHashCode": -1701755296
   }
 ]
\ No newline at end of file
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json
index 334c139c..8f6c21b4 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/armeabi-v7a/metadata_generation_record.json
@@ -11,7 +11,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -659995836
+    "memoizedHashCode": 2092631454
   },
   {
     "level_": 0,
@@ -25,7 +25,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -1987585904
+    "memoizedHashCode": 765041386
   },
   {
     "level_": 0,
@@ -39,6 +39,6 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 953204644
+    "memoizedHashCode": -589135362
   }
 ]
\ No newline at end of file
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_223_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_223_timing.txt
index 6bbdd417..7ecd812a 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_223_timing.txt
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_223_timing.txt
@@ -10,3 +10,6 @@ generate_cxx_metadata completed in 31ms
 # C/C++ build system timings
 generate_cxx_metadata 20ms
 
+# C/C++ build system timings
+generate_cxx_metadata 17ms
+
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt
index 672afcde..8c182f95 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_32_timing.txt
@@ -237,3 +237,17 @@ generate_cxx_metadata
   write-metadata-json-to-file 14ms
 generate_cxx_metadata completed in 139ms
 
+# C/C++ build system timings
+generate_cxx_metadata
+  [gap of 25ms]
+  create-invalidation-state 69ms
+  [gap of 32ms]
+  write-metadata-json-to-file 13ms
+generate_cxx_metadata completed in 140ms
+
+# C/C++ build system timings
+generate_cxx_metadata 15ms
+
+# C/C++ build system timings
+generate_cxx_metadata 14ms
+
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_494_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_494_timing.txt
index a01da157..96e43cb8 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_494_timing.txt
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/generate_cxx_metadata_494_timing.txt
@@ -1,3 +1,6 @@
 # C/C++ build system timings
 generate_cxx_metadata 17ms
 
+# C/C++ build system timings
+generate_cxx_metadata 12ms
+
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json
index a380c2f6..12d808a8 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86/metadata_generation_record.json
@@ -11,7 +11,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -1766432340
+    "memoizedHashCode": 986194950
   },
   {
     "level_": 0,
@@ -25,7 +25,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 2059026424
+    "memoizedHashCode": 516686418
   },
   {
     "level_": 0,
@@ -39,6 +39,6 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 648210232
+    "memoizedHashCode": -894129774
   }
 ]
\ No newline at end of file
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_494_timing.txt b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_494_timing.txt
index a01da157..d1b98d7b 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_494_timing.txt
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/generate_cxx_metadata_494_timing.txt
@@ -1,3 +1,6 @@
 # C/C++ build system timings
 generate_cxx_metadata 17ms
 
+# C/C++ build system timings
+generate_cxx_metadata 15ms
+
diff --git a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json
index 4161ea40..e45992c7 100644
--- a/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json
+++ b/Opencv/build/intermediates/cxx/Debug/p1g6s634/logs/x86_64/metadata_generation_record.json
@@ -11,7 +11,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 969669418
+    "memoizedHashCode": -572670588
   },
   {
     "level_": 0,
@@ -25,7 +25,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -927872110
+    "memoizedHashCode": 1824755180
   },
   {
     "level_": 0,
@@ -39,6 +39,6 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1796585415
+    "memoizedHashCode": 254245409
   }
 ]
\ No newline at end of file
diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_1023_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_1023_timing.txt
index 1098a46d..7d6a3007 100644
--- a/Opencv/build/intermediates/cxx/create_cxx_tasks_1023_timing.txt
+++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_1023_timing.txt
@@ -3,3 +3,8 @@ create_cxx_tasks
   create-initial-cxx-model 56ms
 create_cxx_tasks completed in 62ms
 
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model 58ms
+create_cxx_tasks completed in 66ms
+
diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_310_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_310_timing.txt
index f391a77c..7667de6b 100644
--- a/Opencv/build/intermediates/cxx/create_cxx_tasks_310_timing.txt
+++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_310_timing.txt
@@ -25,3 +25,20 @@ create_cxx_tasks
   create-initial-cxx-model completed in 94ms
 create_cxx_tasks completed in 101ms
 
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model 69ms
+  [gap of 35ms]
+create_cxx_tasks completed in 105ms
+
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model 88ms
+  [gap of 40ms]
+create_cxx_tasks completed in 128ms
+
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model 57ms
+create_cxx_tasks completed in 62ms
+
diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt
index 81822c83..12a67954 100644
--- a/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt
+++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_32_timing.txt
@@ -3211,3 +3211,45 @@ create_cxx_tasks
   [gap of 12ms]
 create_cxx_tasks completed in 133ms
 
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model
+    create-module-model 13ms
+    [gap of 42ms]
+    create-module-model 11ms
+    [gap of 35ms]
+  create-initial-cxx-model completed in 101ms
+  [gap of 51ms]
+create_cxx_tasks completed in 152ms
+
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model
+    create-module-model 12ms
+    [gap of 41ms]
+    create-module-model 12ms
+    [gap of 33ms]
+  create-initial-cxx-model completed in 98ms
+create_cxx_tasks completed in 107ms
+
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model 55ms
+create_cxx_tasks completed in 61ms
+
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model
+    create-module-model 13ms
+    create-variant-model 10ms
+    create-ARMEABI_V7A-model 10ms
+    create-ARM64_V8A-model 10ms
+    [gap of 17ms]
+    create-module-model 15ms
+    create-ARMEABI_V7A-model 10ms
+    create-X86-model 11ms
+    create-X86_64-model 11ms
+  create-initial-cxx-model completed in 135ms
+  [gap of 75ms]
+create_cxx_tasks completed in 210ms
+
diff --git a/Opencv/build/intermediates/cxx/create_cxx_tasks_565_timing.txt b/Opencv/build/intermediates/cxx/create_cxx_tasks_565_timing.txt
index 1777ca0a..08b096e5 100644
--- a/Opencv/build/intermediates/cxx/create_cxx_tasks_565_timing.txt
+++ b/Opencv/build/intermediates/cxx/create_cxx_tasks_565_timing.txt
@@ -6,3 +6,8 @@ create_cxx_tasks
   create-initial-cxx-model completed in 87ms
 create_cxx_tasks completed in 95ms
 
+# C/C++ build system timings
+create_cxx_tasks
+  create-initial-cxx-model 67ms
+create_cxx_tasks completed in 74ms
+
diff --git a/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log b/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log
index 43700b36..60e5a856 100644
--- a/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log
+++ b/Opencv/build/intermediates/cxx/ndk_locator_record_463t1h4l.log
@@ -11,7 +11,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 736145757
+    "memoizedHashCode": -395356504
   },
   {
     "level_": 0,
@@ -25,7 +25,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1528333860
+    "memoizedHashCode": 396831599
   },
   {
     "level_": 0,
@@ -39,7 +39,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1068589815
+    "memoizedHashCode": -62912446
   },
   {
     "level_": 0,
@@ -53,7 +53,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -199358173
+    "memoizedHashCode": -1330860434
   },
   {
     "level_": 0,
@@ -67,7 +67,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 369353858
+    "memoizedHashCode": -762148403
   },
   {
     "level_": 0,
@@ -81,7 +81,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 734264116
+    "memoizedHashCode": -397238145
   },
   {
     "level_": 0,
@@ -95,7 +95,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1041405350
+    "memoizedHashCode": -90096911
   },
   {
     "level_": 0,
@@ -109,7 +109,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 483257630
+    "memoizedHashCode": -648244631
   },
   {
     "level_": 0,
@@ -123,7 +123,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1152060383
+    "memoizedHashCode": 20558122
   },
   {
     "level_": 0,
@@ -137,7 +137,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 1856521576
+    "memoizedHashCode": 725019315
   },
   {
     "level_": 0,
@@ -151,7 +151,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -575631650
+    "memoizedHashCode": -1707133911
   },
   {
     "level_": 0,
@@ -165,7 +165,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -6919619
+    "memoizedHashCode": -1138421880
   },
   {
     "level_": 0,
@@ -179,7 +179,7 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": 898830444
+    "memoizedHashCode": -232671817
   },
   {
     "level_": 2,
@@ -193,6 +193,6 @@
       "fieldsDescending": {}
     },
     "memoizedSize": -1,
-    "memoizedHashCode": -944721408
+    "memoizedHashCode": -2076223669
   }
 ]
\ No newline at end of file
diff --git a/Opencv/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties b/Opencv/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties
index 70602b4f..429d2338 100644
--- a/Opencv/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties
+++ b/Opencv/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties
@@ -1 +1 @@
-#Sat Jan 31 16:15:27 CST 2026
+#Mon Apr 06 18:53:46 CST 2026
diff --git a/Opencv/build/intermediates/incremental/debug/packageDebugResources/merger.xml b/Opencv/build/intermediates/incremental/debug/packageDebugResources/merger.xml
index c8e018d4..fd3cb626 100644
--- a/Opencv/build/intermediates/incremental/debug/packageDebugResources/merger.xml
+++ b/Opencv/build/intermediates/incremental/debug/packageDebugResources/merger.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
-<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\res"/><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\generated\res\rs\debug"/><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\res"><file path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\res\values\attrs.xml" qualifiers=""><declare-styleable name="CameraBridgeViewBase">
+<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\res"><file path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\res\values\attrs.xml" qualifiers=""><declare-styleable name="CameraBridgeViewBase">
        <attr format="boolean" name="show_fps"/>
        <attr format="integer" name="camera_id">
           <enum name="any" value="-1"/>
           <enum name="back" value="99"/>
           <enum name="front" value="98"/>
        </attr>
-    </declare-styleable></file></source><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\generated\res\rs\debug"/><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"/><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"/><mergedItems><configuration qualifiers=""><declare-styleable name="CameraBridgeViewBase">
+    </declare-styleable></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\generated\res\resValues\debug"/></dataSet><mergedItems><configuration qualifiers=""><declare-styleable name="CameraBridgeViewBase">
        <attr format="boolean" name="show_fps"/>
        <attr format="integer" name="camera_id">
           <enum name="any" value="-1"/>
diff --git a/Opencv/build/intermediates/incremental/packageDebugAssets/merger.xml b/Opencv/build/intermediates/incremental/packageDebugAssets/merger.xml
index f64e9853..cca861e3 100644
--- a/Opencv/build/intermediates/incremental/packageDebugAssets/merger.xml
+++ b/Opencv/build/intermediates/incremental/packageDebugAssets/merger.xml
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="utf-8"?>
-<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\main\assets"/><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\intermediates\shader_assets\debug\out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\debug\assets"/></dataSet></merger>
\ No newline at end of file
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet></merger>
\ No newline at end of file
diff --git a/Opencv/build/outputs/logs/manifest-merger-debug-report.txt b/Opencv/build/outputs/logs/manifest-merger-debug-report.txt
index 9a957f97..99034370 100644
--- a/Opencv/build/outputs/logs/manifest-merger-debug-report.txt
+++ b/Opencv/build/outputs/logs/manifest-merger-debug-report.txt
@@ -1,25 +1,17 @@
 -- Merging decision tree log ---
 manifest
 ADDED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml:2:1-4:12
-INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml:2:1-4:12
 INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml:2:1-4:12
 	package
 		ADDED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml:3:7-27
 		INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-		INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
 	xmlns:android
 		ADDED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml:2:11-69
 uses-sdk
 INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml reason: use-sdk injection requested
 INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
 INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
 	android:targetSdkVersion
 		INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-		ADDED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-		INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
 	android:minSdkVersion
 		INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-		ADDED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
-		INJECTED from C:\Users\24171\OneDrive\Desktop\msdk\400apiqwq\ams\Opencv\java\AndroidManifest.xml
diff --git a/Opencv/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin b/Opencv/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin
index 76cd8b82..0478a6e5 100644
Binary files a/Opencv/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin and b/Opencv/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin differ
diff --git a/android-sdk-v5-uxsdk/build.gradle b/android-sdk-v5-uxsdk/build.gradle
index 00ff7dbf..be5cd8db 100644
--- a/android-sdk-v5-uxsdk/build.gradle
+++ b/android-sdk-v5-uxsdk/build.gradle
@@ -1,17 +1,18 @@
 apply plugin: 'com.android.library'
 apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
 apply plugin: 'kotlin-kapt'
 
 android {
+    namespace "dji.v5.ux"
     compileSdkVersion 32
 
     resourcePrefix "uxsdk_"
     defaultConfig {
         minSdkVersion 24
-        targetSdkVersion 32
+        targetSdkVersion 35
         versionCode 1
         versionName "1.0"
+        ndkVersion "29.0.14206865"
     }
 
     compileOptions {
@@ -62,7 +63,8 @@ dependencies {
 
 
     api 'com.google.android.gms:play-services-places:16.0.0'
-    api  'com.google.android.gms:play-services-maps:16.0.0'
+    //api  'com.google.android.gms:play-services-maps:16.0.0'
+    api 'com.google.android.gms:play-services-maps:18.2.0'
     api 'com.google.android.gms:play-services-location:16.0.0'
     api 'com.google.android.gms:play-services-base:16.0.0'
 
diff --git a/android-sdk-v5-uxsdk/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len b/android-sdk-v5-uxsdk/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len
index 552f9b11..5f11fc6e 100644
Binary files a/android-sdk-v5-uxsdk/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len and b/android-sdk-v5-uxsdk/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget$reactToModelChanges$4.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget$reactToModelChanges$4.class
index 89af943c..bcb761dd 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget$reactToModelChanges$4.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget$reactToModelChanges$4.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget.class
index ab723991..58f51c7d 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKSatelliteStatusWidget.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKStationConnectWidget$reactToModelChanges$1.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKStationConnectWidget$reactToModelChanges$1.class
index baa41797..e6471a8c 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKStationConnectWidget$reactToModelChanges$1.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/accessory/RTKStationConnectWidget$reactToModelChanges$1.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/cameracore/widget/cameracontrols/exposuresettings/ISOAndEISettingWidget$reactToModelChanges$3.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/cameracore/widget/cameracontrols/exposuresettings/ISOAndEISettingWidget$reactToModelChanges$3.class
index efef213a..5a3c1ffe 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/cameracore/widget/cameracontrols/exposuresettings/ISOAndEISettingWidget$reactToModelChanges$3.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/cameracore/widget/cameracontrols/exposuresettings/ISOAndEISettingWidget$reactToModelChanges$3.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/panel/PanelWidgetConfiguration.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/panel/PanelWidgetConfiguration.class
index c4a65dc0..595f9448 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/panel/PanelWidgetConfiguration.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/panel/PanelWidgetConfiguration.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/widget/IconButtonWidget$UIState$DialogDismissed.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/widget/IconButtonWidget$UIState$DialogDismissed.class
index 17604c46..63c72fe3 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/widget/IconButtonWidget$UIState$DialogDismissed.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/base/widget/IconButtonWidget$UIState$DialogDismissed.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/overview/OverviewListItemWidget$widgetModel$2.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/overview/OverviewListItemWidget$widgetModel$2.class
deleted file mode 100644
index 5b762c1f..00000000
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/overview/OverviewListItemWidget$widgetModel$2.class and /dev/null differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcbattery/RCBatteryListItemWidget$ModelState$RCBatteryStateUpdated.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcbattery/RCBatteryListItemWidget$ModelState$RCBatteryStateUpdated.class
index fe10d7d0..9ab4818e 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcbattery/RCBatteryListItemWidget$ModelState$RCBatteryStateUpdated.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcbattery/RCBatteryListItemWidget$ModelState$RCBatteryStateUpdated.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcstickmode/RCStickModeListItemWidgetModel$WhenMappings.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcstickmode/RCStickModeListItemWidgetModel$WhenMappings.class
index c37f8cae..29847918 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcstickmode/RCStickModeListItemWidgetModel$WhenMappings.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/rcstickmode/RCStickModeListItemWidgetModel$WhenMappings.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/ssdstatus/SSDStatusListItemWidgetModel$SSDState$CurrentSSDState.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/ssdstatus/SSDStatusListItemWidgetModel$SSDState$CurrentSSDState.class
index 88b7b601..69fd0568 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/ssdstatus/SSDStatusListItemWidgetModel$SSDState$CurrentSSDState.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/ssdstatus/SSDStatusListItemWidgetModel$SSDState$CurrentSSDState.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/travelmode/TravelModeListItemWidget$DialogType$ExitTravelModeError.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/travelmode/TravelModeListItemWidget$DialogType$ExitTravelModeError.class
index 6e1d0560..3142f952 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/travelmode/TravelModeListItemWidget$DialogType$ExitTravelModeError.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/panel/listitem/travelmode/TravelModeListItemWidget$DialogType$ExitTravelModeError.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/ui/hsi/config/M30OmniAbility.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/ui/hsi/config/M30OmniAbility.class
index 2cdc5fd5..269bc0f6 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/ui/hsi/config/M30OmniAbility.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/ui/hsi/config/M30OmniAbility.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/altitude/AMSLAltitudeWidget$reactToModelChanges$2.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/altitude/AMSLAltitudeWidget$reactToModelChanges$2.class
index df14a4ea..ae9c5a67 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/altitude/AMSLAltitudeWidget$reactToModelChanges$2.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/altitude/AMSLAltitudeWidget$reactToModelChanges$2.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/hsi/PrimaryFlightDisplayWidget.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/hsi/PrimaryFlightDisplayWidget.class
index 03364373..ce79c91c 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/hsi/PrimaryFlightDisplayWidget.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/hsi/PrimaryFlightDisplayWidget.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/remainingflighttime/RemainingFlightTimeWidget$reactToModelChanges$3.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/remainingflighttime/RemainingFlightTimeWidget$reactToModelChanges$3.class
index 27b4f1e4..42e4d29b 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/remainingflighttime/RemainingFlightTimeWidget$reactToModelChanges$3.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/core/widget/remainingflighttime/RemainingFlightTimeWidget$reactToModelChanges$3.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/flight/takeoff/TakeOffWidget$ModelState$PrecisionTakeOffStartSucceeded.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/flight/takeoff/TakeOffWidget$ModelState$PrecisionTakeOffStartSucceeded.class
index a46d0021..d310ec16 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/flight/takeoff/TakeOffWidget$ModelState$PrecisionTakeOffStartSucceeded.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/flight/takeoff/TakeOffWidget$ModelState$PrecisionTakeOffStartSucceeded.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/gimbal/GimbalFineTuneWidgetModel.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/gimbal/GimbalFineTuneWidgetModel.class
index 188f7a59..8b5f2cfe 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/gimbal/GimbalFineTuneWidgetModel.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/gimbal/GimbalFineTuneWidgetModel.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/obstacle/AvoidanceShortcutWidget$Companion.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/obstacle/AvoidanceShortcutWidget$Companion.class
index 3f436d16..666c231e 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/obstacle/AvoidanceShortcutWidget$Companion.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/obstacle/AvoidanceShortcutWidget$Companion.class differ
diff --git a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/warning/DeviceHealthAndStatusWidgetModel.class b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/warning/DeviceHealthAndStatusWidgetModel.class
index b17b0940..56870d55 100644
Binary files a/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/warning/DeviceHealthAndStatusWidgetModel.class and b/android-sdk-v5-uxsdk/build/tmp/kotlin-classes/debug/dji/v5/ux/warning/DeviceHealthAndStatusWidgetModel.class differ
diff --git a/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/core/panel/listitem/unittype/UnitModeListItemWidget.kt b/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/core/panel/listitem/unittype/UnitModeListItemWidget.kt
index d72967fe..c0def27f 100644
--- a/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/core/panel/listitem/unittype/UnitModeListItemWidget.kt
+++ b/android-sdk-v5-uxsdk/src/main/java/dji/v5/ux/core/panel/listitem/unittype/UnitModeListItemWidget.kt
@@ -246,7 +246,7 @@ open class UnitModeListItemWidget @JvmOverloads constructor(
 
         val str1 = SpannableString(getString(R.string.uxsdk_dialog_unit_change_notice))
         str1.setSpan(AlignmentSpan.Standard(Layout.Alignment.ALIGN_NORMAL), 0, str1.length, 0)
-        builder.appendln(str1).appendln()
+        builder.appendLine(str1).appendLine()
 
         val str2 = SpannableString(resources.getString(R.string.uxsdk_dialog_unit_change_example))
         str2.setSpan(AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER), 0, str2.length, 0)
diff --git a/app/build.gradle b/app/build.gradle
index b5eff94e..490d8dca 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,16 +5,17 @@ plugins {
 }
 
 android {
-    compileSdk 32
+    compileSdk 35
 
     defaultConfig {
         applicationId "com.aros.apron"
         minSdk 24
-        targetSdk 29
+        targetSdk 35
         versionCode 46
         versionName "v1.9.1"
         multiDexEnabled true
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        ndkVersion "29.0.14206865"
         ndk {
             // è®¾ç½®æ”¯æŒ�çš„SOåº“æž¶æž„
 //            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'
@@ -103,11 +104,11 @@ android {
 
 
     compileOptions {
-        sourceCompatibility = JavaVersion.VERSION_1_8
-        targetCompatibility = JavaVersion.VERSION_1_8
+        sourceCompatibility = JavaVersion.VERSION_17
+        targetCompatibility = JavaVersion.VERSION_17
     }
     kotlinOptions {
-        jvmTarget = "1.8"
+        jvmTarget = "17"
 
         freeCompilerArgs += [
                 "-Xjvm-default=all",
@@ -192,9 +193,9 @@ dependencies {
     implementation 'com.commonsware.cwac:saferoom.x:1.3.0'
 
 
-    implementation 'com.dji:dji-sdk-v5-aircraft:5.15.0'
-    compileOnly  'com.dji:dji-sdk-v5-aircraft-provided:5.15.0'
-    implementation 'com.dji:dji-sdk-v5-networkImp:5.15.0'
+    implementation 'com.dji:dji-sdk-v5-aircraft:5.17.0'
+    compileOnly  'com.dji:dji-sdk-v5-aircraft-provided:5.17.0'
+    implementation 'com.dji:dji-sdk-v5-networkImp:5.17.0'
 
 //    implementation 'com.shd:dji-uxsdk:5.9.1'
 
@@ -249,4 +250,5 @@ dependencies {
 
     implementation files('libs/AIKit.aar')
 
-}
\ No newline at end of file
+}
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 249d4ef8..f16bba90 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -44,6 +44,7 @@
         android:supportsRtl="true"
         android:theme="@style/Theme.ApronV5"
         android:requestLegacyExternalStorage="true"
+        android:extractNativeLibs="true"
         android:networkSecurityConfig="@xml/network_security_config"
         >
 
diff --git a/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt b/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt
index 6fea816c..00a9f4fb 100644
--- a/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt
+++ b/app/src/main/java/com/aros/apron/activity/ConnectionActivity.kt
@@ -296,6 +296,13 @@ open class ConnectionActivity : BaseActivity() {
             .runtime()
             .permission(REQUIRED_PERMISSION_LIST)
             .onGranted {
+                // æ£€æŸ¥æ˜¯å�¦éœ€è¦�è¯·æ±‚ MANAGE_EXTERNAL_STORAGE æ�ƒé™�
+                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) {
+                    if (!android.os.Environment.isExternalStorageManager()) {
+                        val intent = android.content.Intent(android.provider.Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION)
+                        startActivity(intent)
+                    }
+                }
                 observeSDKManagerStatus()
             }
             .onDenied {
diff --git a/app/src/main/java/com/aros/apron/activity/MainActivity.kt b/app/src/main/java/com/aros/apron/activity/MainActivity.kt
index 31ab94e8..839ba3fc 100644
--- a/app/src/main/java/com/aros/apron/activity/MainActivity.kt
+++ b/app/src/main/java/com/aros/apron/activity/MainActivity.kt
@@ -37,6 +37,7 @@ import com.aros.apron.manager.MediaManager
 import com.aros.apron.manager.MissionV3Manager
 import com.aros.apron.manager.NavigationSatelliteSystemManager
 import com.aros.apron.manager.OSDManager
+import com.aros.apron.manager.PayloadWidgetManager
 import com.aros.apron.manager.PerceptionManager
 import com.aros.apron.manager.RTKManager
 import com.aros.apron.manager.StickManager
@@ -49,6 +50,7 @@ import com.aros.apron.tools.ApronArucoDetectPort
 import com.aros.apron.tools.DroneHelper
 import com.aros.apron.tools.DualCaptureHelper
 import com.aros.apron.tools.LogUtil
+import com.aros.apron.tools.MixedVisionLanding
 import com.aros.apron.tools.MqttManager
 import com.aros.apron.tools.PreferenceUtils
 import com.aros.apron.tools.SimplePortScanner
@@ -703,6 +705,7 @@ open class MainActivity : BaseActivity() {
                 initFpvStream()
                 startVtxHeartbeat()
 
+                //PayloadWidgetManager.getInstance().initPayloadInfo();
 
                 MediaDataCenter.getInstance().cameraStreamManager.setVisionAssistViewDirection(
                     VisionAssistDirection.DOWN, object : CommonCallbacks.CompletionCallback {
@@ -761,6 +764,7 @@ open class MainActivity : BaseActivity() {
             }
 
         } else if (PreferenceUtils.getInstance().cameraLocationType == 4) {
+
             if ((isFlightControllerConnect == null || isFlightControllerConnect != true) && (isCameraConnect == null || isCameraConnect != true)) {
                 handler.postDelayed({
                     initDJIManager()
@@ -795,6 +799,7 @@ open class MainActivity : BaseActivity() {
                 //ApronArucoDetect.getInstance().init()
                 MissionV3Manager.getInstance().initMissionManager()
                 enableStream()
+                initMixedStream()
                 startVtxHeartbeat()
 
                 GeoidManager.getInstance().init(this);
@@ -971,8 +976,33 @@ open class MainActivity : BaseActivity() {
     }
 
     @SuppressLint("SuspiciousIndentation")
-    private fun initmixStream() {
+    private fun initMixedStream() {
+        // åˆ�å§‹åŒ–èž�å�ˆè§†è§‰é™�è�½è¯†åˆ«å™¨
+        val mixedLanding = MixedVisionLanding.getInstance()
+        
+        // ä¸º PORT_1ï¼ˆäº‘å�°ç›¸æœºï¼‰æ·»åŠ å¸§ç›‘å�¬å™¨
+        cameraManager.addFrameListener(
+            ComponentIndexType.PORT_1,
+            ICameraStreamManager.FrameFormat.YUV420_888
+        ) { frameData, _, _, width, height, _ ->
+            Movement.getInstance().isVtx = true
+            updateVtxHeartbeat()
+            streamReceive = true
+            // ä½¿ç”¨èž�å�ˆè§†è§‰è¯†åˆ«å™¨å¤„ç�†äº‘å�°ç›¸æœºå¸§
+            mixedLanding.processGimbalFrame(height, width, frameData, dictionary)
+        }
 
+        // ä¸º FPVï¼ˆä¸‹è§†ç›¸æœºï¼‰æ·»åŠ å¸§ç›‘å�¬å™¨
+        cameraManager.addFrameListener(
+            ComponentIndexType.FPV,
+            ICameraStreamManager.FrameFormat.YUV420_888
+        ) { frameData, _, _, width, height, _ ->
+            Movement.getInstance().isVtx = true
+            updateVtxHeartbeat()
+            streamReceive = true
+            // ä½¿ç”¨èž�å�ˆè§†è§‰è¯†åˆ«å™¨å¤„ç�†ä¸‹è§†ç›¸æœºå¸§
+            mixedLanding.processDownwardFrame(height, width, frameData, dictionary)
+        }
     }
 
 
@@ -1179,6 +1209,12 @@ open class MainActivity : BaseActivity() {
                     })
 
             FLAG_DOWN_LAND ->
+            {
+
+                //é‡�ç½®é™�è�½å�˜é‡�
+                ApronArucoDetect.getInstance().setStartAruco(false);
+                ApronArucoDetectPort.getInstance().setStartAruco(false);
+
                 KeyManager.getInstance().performAction<EmptyMsg>(
                     KeyTools.createKey<EmptyMsg, EmptyMsg>(FlightControllerKey.KeyStartAutoLanding),
                     object : CommonCallbacks.CompletionCallbackWithParam<EmptyMsg?> {
@@ -1191,6 +1227,8 @@ open class MainActivity : BaseActivity() {
                             LogUtil.log(TAG, "è‡ªåŠ¨é™�è�½è°ƒç”¨å¤±è´¥${error.description()}")
                         }
                     })
+            }
+
 
             FLAG_STOP_ARUCO ->
                 startArucoType = 0
diff --git a/app/src/main/java/com/aros/apron/callback/MqttCallBack.java b/app/src/main/java/com/aros/apron/callback/MqttCallBack.java
index d703eefc..e94bd447 100644
--- a/app/src/main/java/com/aros/apron/callback/MqttCallBack.java
+++ b/app/src/main/java/com/aros/apron/callback/MqttCallBack.java
@@ -237,7 +237,6 @@ public class MqttCallBack extends BaseManager implements MqttCallbackExtended  {
 //                    MissionDataBean data = new Gson().fromJson(new Gson().toJson(message.getData()), MissionDataBean.class);
 //                    Boolean generateKmz = Generakmztools.getInstance().generateKmz(data);
 
-
                     synchronized(lock){
                         if(Synchronizedstatus.isIsruning()){
                             LogUtil.log(TAG, "è‡ªæ£€æ­£åœ¨è¿�è¡Œ");
@@ -322,23 +321,48 @@ public class MqttCallBack extends BaseManager implements MqttCallbackExtended  {
                     break;
                 case Constant.CAMERA_SCREEN_DRAG:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šè´Ÿè½½æŽ§åˆ¶â€”ç”»é�¢æ‹–åŠ¨æŽ§åˆ¶" + jsonString);
-                    GimbalManager.getInstance().camera_screen_drag(message);
+                    if(ApronArucoDetect.getInstance().isStartAruco()||ApronArucoDetectPort.getInstance().isStartAruco()){
+                        sendEvent2Server("è‡ªåŠ¨é™�è�½ä¸�å�¯ä»¥åŠ¨è´Ÿè½½",1);
+                        return;
+                    }else{
+                        GimbalManager.getInstance().camera_screen_drag(message);
+                    }
                     break;
                 case Constant.CAMERA_AIM:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šè´Ÿè½½æŽ§åˆ¶â€”å�Œå‡»æˆ�ä¸º AIM" + jsonString);
-                    CameraManager.getInstance().tapZoomAtTarget(message);
+                    if(ApronArucoDetect.getInstance().isStartAruco()||ApronArucoDetectPort.getInstance().isStartAruco()){
+                        sendEvent2Server("è‡ªåŠ¨é™�è�½ä¸�å�¯ä»¥åŠ¨è´Ÿè½½",1);
+                        return;
+                    }else{
+                        CameraManager.getInstance().tapZoomAtTarget(message);
+                    }
                     break;
                 case Constant.CAMERA_FOCAL_LENGTH_SET:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šè´Ÿè½½æŽ§åˆ¶â€”å�˜ç„¦" + jsonString);
-                    CameraManager.getInstance().setCameraZoomRatios(message);
+                    if(ApronArucoDetect.getInstance().isStartAruco()||ApronArucoDetectPort.getInstance().isStartAruco()){
+                        sendEvent2Server("è‡ªåŠ¨é™�è�½ä¸�å�¯ä»¥åŠ¨è´Ÿè½½",1);
+                        return;
+                    }else{
+                        CameraManager.getInstance().setCameraZoomRatios(message);
+                    }
                     break;
                 case Constant.GIMBAL_RESET:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šè´Ÿè½½æŽ§åˆ¶â€”é‡�ç½®äº‘å�°" + jsonString);
-                    GimbalManager.getInstance().gimbalReset(message);
+                    if(ApronArucoDetect.getInstance().isStartAruco()||ApronArucoDetectPort.getInstance().isStartAruco()){
+                        sendEvent2Server("è‡ªåŠ¨é™�è�½ä¸�å�¯ä»¥åŠ¨è´Ÿè½½",1);
+                        return;
+                    }else{
+                        GimbalManager.getInstance().gimbalReset(message);
+                    }
                     break;
                 case Constant.CAMERA_LOOK_AT:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šè´Ÿè½½æŽ§åˆ¶â€”Look At" + jsonString);
-                    GimbalManager.getInstance().gimbalLookAt(message);
+                    if(ApronArucoDetect.getInstance().isStartAruco()||ApronArucoDetectPort.getInstance().isStartAruco()){
+                        sendEvent2Server("è‡ªåŠ¨é™�è�½ä¸�å�¯ä»¥åŠ¨è´Ÿè½½",1);
+                        return;
+                    }else{
+                        GimbalManager.getInstance().gimbalLookAt(message);
+                    }
                     break;
                 case Constant.CAMERA_SCREEN_SPLIT:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šè´Ÿè½½æŽ§åˆ¶â€”åˆ†å±�" + jsonString);
@@ -386,7 +410,12 @@ public class MqttCallBack extends BaseManager implements MqttCallbackExtended  {
                     break;
                 case Constant.CAMERA_FRAME_ZOOM:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šæ¡†é€‰å�˜ç„¦" + jsonString);
-                    CameraManager.getInstance().camera_frame_zoom(message);
+                    if(ApronArucoDetect.getInstance().isStartAruco()||ApronArucoDetectPort.getInstance().isStartAruco()){
+                        sendEvent2Server("è‡ªåŠ¨é™�è�½ä¸�å�¯ä»¥åŠ¨è´Ÿè½½",1);
+                        return;
+                    }else{
+                        CameraManager.getInstance().camera_frame_zoom(message);
+                    }
                     break;
                 case Constant.SPEAKER_AUDIO_PLAY_START:
                     LogUtil.log(TAG, "æ”¶åˆ°ï¼šå–Šè¯�å™¨-å¼€å§‹æ’­æ”¾éŸ³é¢‘" + jsonString);
diff --git a/app/src/main/java/com/aros/apron/manager/AlternateLandingManager.java b/app/src/main/java/com/aros/apron/manager/AlternateLandingManager.java
index c901f369..98f22a40 100644
--- a/app/src/main/java/com/aros/apron/manager/AlternateLandingManager.java
+++ b/app/src/main/java/com/aros/apron/manager/AlternateLandingManager.java
@@ -188,7 +188,7 @@ public class AlternateLandingManager extends BaseManager {
     }
 
     public void toAlternatePoint() {
-        if (Movement.getInstance().getElevation() < 10) {
+        if (Movement.getInstance().getElevation() < 50) {
             sendEvent2Server( "æ­£åœ¨æ‹‰é«˜åŽ»å¤‡é™�ç‚¹",1);
             raisesDrone();
         } else {
@@ -228,20 +228,20 @@ public class AlternateLandingManager extends BaseManager {
         Runnable runnable = new Runnable() {
             @Override
             public void run() {
-                if (Movement.getInstance().getElevation() < 10) {
+                if (Movement.getInstance().getElevation() < 50) {
                     sendVirtualStickAdvancedParam();
                     handler.postDelayed(this, 200);
                 } else {
                     VirtualStickManager.getInstance().disableVirtualStick(new CommonCallbacks.CompletionCallback() {
                         @Override
                         public void onSuccess() {
-                            LogUtil.log(TAG, "åˆ°è¾¾10ç±³,å¼€å§‹ä¸Šä¼ å¤‡é™�ç‚¹èˆªçº¿");
+                            LogUtil.log(TAG, "åˆ°è¾¾50ç±³,å¼€å§‹ä¸Šä¼ å¤‡é™�ç‚¹èˆªçº¿");
                             creatMissionAndUpload();
                         }
 
                         @Override
                         public void onFailure(@NonNull IDJIError idjiError) {
-                            LogUtil.log(TAG, "åˆ°è¾¾10ç±³,å�–æ¶ˆè™šæ‹Ÿæ‘‡æ�†æŽ§åˆ¶å¤±è´¥:" + new Gson().toJson(idjiError));
+                            LogUtil.log(TAG, "åˆ°è¾¾50ç±³,å�–æ¶ˆè™šæ‹Ÿæ‘‡æ�†æŽ§åˆ¶å¤±è´¥:" + new Gson().toJson(idjiError));
                             creatMissionAndUpload();
                         }
                     });
diff --git a/app/src/main/java/com/aros/apron/manager/FlightManager.java b/app/src/main/java/com/aros/apron/manager/FlightManager.java
index 6cb7590e..82f83553 100644
--- a/app/src/main/java/com/aros/apron/manager/FlightManager.java
+++ b/app/src/main/java/com/aros/apron/manager/FlightManager.java
@@ -1062,10 +1062,11 @@ public class FlightManager extends BaseManager {
         boolean needTriggerApronArucoLand = PreferenceUtils.getInstance().getNeedTriggerApronArucoLand();
         boolean needTriggerAlterArucoLand = PreferenceUtils.getInstance().getNeedTriggerAlterArucoLand();
         double thresholdMax = triggerToAlternatePoint ? FLYING_HEIGHT_THRESHOLD_MAX_ALTERNATE : FLYING_HEIGHT_THRESHOLD_MAX;
-        LogUtil.log(TAG,"ç›¸å¯¹é«˜åº¦"+Movement.getInstance().getElevation()+"è¶…å£°æ³¢é«˜åº¦"+Movement.getInstance().getUltrasonicHeight());
+        //LogUtil.log(TAG,"ç›¸å¯¹é«˜åº¦"+Movement.getInstance().getElevation()+"è¶…å£°æ³¢é«˜åº¦"+Movement.getInstance().getUltrasonicHeight());
 
 
-        if (isFlying && (Movement.getInstance().getElevation() < 13 && Movement.getInstance().getUltrasonicHeight() < 50) && !isSendDetect) {
+        if (isFlying && (Movement.getInstance().getElevation() < 15 && Movement.getInstance().getUltrasonicHeight() < 50) && !isSendDetect) {
+            LogUtil.log(TAG,"ç›¸å¯¹é«˜åº¦"+Movement.getInstance().getElevation()+"è¶…å£°æ³¢é«˜åº¦"+Movement.getInstance().getUltrasonicHeight());
             double flyingHeight = Movement.getInstance().getElevation();
             double thresholdMin = triggerToAlternatePoint ? FLYING_HEIGHT_THRESHOLD_MIN_ALTERNATE : FLYING_HEIGHT_THRESHOLD_MIN;
 
diff --git a/app/src/main/java/com/aros/apron/manager/GimbalManager.java b/app/src/main/java/com/aros/apron/manager/GimbalManager.java
index b857d0da..784fd152 100644
--- a/app/src/main/java/com/aros/apron/manager/GimbalManager.java
+++ b/app/src/main/java/com/aros/apron/manager/GimbalManager.java
@@ -325,4 +325,5 @@ public class GimbalManager extends BaseManager {
             LogUtil.log(TAG, "äº‘å�°æœªè¿žæŽ¥");
         }
     }
+
 }
diff --git a/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java b/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java
index 8a2e549f..21101dec 100644
--- a/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java
+++ b/app/src/main/java/com/aros/apron/manager/MissionV3Manager.java
@@ -841,21 +841,13 @@ public class MissionV3Manager extends BaseManager {
         if (isConnect != null && isConnect) {
             IWaypointMissionManager missionManager = WaypointMissionManager.getInstance();
             //å¦‚æžœèˆªçº¿æ˜¯æš‚å�œçŠ¶æ€�,ç›´æŽ¥æ�¢å¤�èˆªçº¿ï¼Œå�¦åˆ™æŸ¥è¯¢æ–­ç‚¹ä¿¡æ�¯
-
             if (Movement.getInstance().getMissionStateCode() == 7) {
                 missionManager.resumeMission(new CommonCallbacks.CompletionCallback() {
                     @Override
                     public void onSuccess() {
                         sendMsg2Server(message);
                         Movement.getInstance().setTask_status("in_progress");
-
-                        //ç»§ç»­å°±æ˜¯æŒ‡ä»¤ æˆ–è€… èˆªçº¿
-                        if (Movement.getInstance().getFlightmode() == 1) {
-                            Movement.getInstance().setMode_code(5);
-                        } else if (Movement.getInstance().getFlightmode() == 2) {
-                            Movement.getInstance().setMode_code(17);
-                        }
-
+                        sendFlightTaskProgress2Server();
                     }
 
                     @Override
@@ -872,7 +864,7 @@ public class MissionV3Manager extends BaseManager {
                             mainHandler.postDelayed(new Runnable() {
                                 @Override
                                 public void run() {
-                                    WaypointMissionManager.getInstance().resumeMission(breakPointInfo,
+                                    WaypointMissionManager.getInstance().startMission("aros", breakPointInfo,
                                             new CommonCallbacks.CompletionCallback() {
                                                 @Override
                                                 public void onSuccess() {
@@ -880,7 +872,9 @@ public class MissionV3Manager extends BaseManager {
                                                     PreferenceUtils.getInstance().setIsNewRoute(false);
                                                     LogUtil.log(TAG, "æ�¢å¤�æ–­ç‚¹èˆªçº¿æˆ�åŠŸ");
                                                     Movement.getInstance().setTask_status("in_progress");
+                                                    sendFlightTaskProgress2Server();
                                                 }
+
                                                 @Override
                                                 public void onFailure(@NonNull IDJIError idjiError) {
                                                     LogUtil.log(TAG, "æ�¢å¤�æ–­ç‚¹èˆªçº¿å¤±è´¥:" + getIDJIErrorMsg(idjiError));
diff --git a/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java b/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java
index 8903e6c1..b658314a 100644
--- a/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java
+++ b/app/src/main/java/com/aros/apron/manager/PayloadWidgetManager.java
@@ -1,14 +1,18 @@
 package com.aros.apron.manager;
+
 import androidx.annotation.NonNull;
 
 import com.aros.apron.base.BaseManager;
 import com.aros.apron.entity.PayloadInfo;
 import com.aros.apron.tools.LogUtil;
+import com.aros.apron.xclog.XcFileLog;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+
 import dji.sdk.keyvalue.key.FlightControllerKey;
 import dji.sdk.keyvalue.key.KeyTools;
 import dji.v5.common.callback.CommonCallbacks;
@@ -45,33 +49,54 @@ public class PayloadWidgetManager extends BaseManager {
             .serializeSpecialFloatingPointValues() // è¿™æ˜¯å…³é”®
             .create();
 
+
     public void initPayloadInfo() {
         Boolean isConnect = KeyManager.getInstance().getValue(KeyTools.createKey(FlightControllerKey.KeyConnection));
         if (isConnect != null && isConnect) {
-
+            //è´Ÿè½½ä¿¡æ�¯
             Map<PayloadIndexType, IPayloadManager> payloadManager = PayloadCenter.getInstance().getPayloadManager();
             if (payloadManager != null) {
                 IPayloadManager iPayloadManager = payloadManager.get(PayloadIndexType.PORT_1);
                 if (iPayloadManager != null) {
+
                     PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).pullWidgetInfoFromPayload(new CommonCallbacks.CompletionCallback() {
                         @Override
                         public void onSuccess() {
+                            //åŸºç¡€ä¿¡æ�¯
+                            PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadBasicInfoListener(new PayloadBasicInfoListener() {
+                                @Override
+                                public void onPayloadBasicInfoUpdate(PayloadBasicInfo info) {
+                                    LogUtil.log(TAG, "å·¦ä¾§è´Ÿè½½åŸºç¡€ä¿¡æ�¯:" + info.toString());
+                                    XcFileLog.getInstace().w(TAG, "å·¦ä¾§è´Ÿè½½åŸºç¡€ä¿¡æ�¯:" + info.toString());
+                                }
+                            });
+
+                            PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadDataListener(new PayloadDataListener() {
+                                @Override
+                                public void onDataFromPayloadUpdate(byte[] data) {
+                                    LogUtil.log(TAG, "å·¦ä¾§è´Ÿè½½æ•°æ�®ä¿¡æ�¯:" +new String(data, java.nio.charset.StandardCharsets.UTF_8).replaceAll("[^\\x20-\\x7E\\u4e00-\\u9fa5]", ""));
+                                    XcFileLog.getInstace().w(TAG, "å·¦ä¾§è´Ÿè½½æ•°æ�®ä¿¡æ�¯:" +new String(data, java.nio.charset.StandardCharsets.UTF_8).replaceAll("[^\\x20-\\x7E\\u4e00-\\u9fa5]", ""));
+                                }
+                            });
+
                             //å�¯ä»¥æŠŠè´Ÿè½½è®¾å¤‡æŽ§ä»¶æ‰“å�°
                             PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).addPayloadWidgetInfoListener(new PayloadWidgetInfoListener() {
                                 @Override
                                 public void onPayloadWidgetInfoUpdate(PayloadWidgetInfo info) {
                                     LogUtil.log(TAG, "å·¦ä¾§è´Ÿè½½æŽ§ä»¶ä¿¡æ�¯:" + info.toString());
+                                    XcFileLog.getInstace().w(TAG, "å·¦ä¾§è´Ÿè½½æŽ§ä»¶ä¿¡æ�¯:" + info.toString());
                                     //å¦‚æžœè´Ÿè½½ä¸ºç©º
-                                    if(info.getConfigInterfaceWidgetList()==null||info.getMainInterfaceWidgetList()==null){
+                                    if (info.getConfigInterfaceWidgetList() == null || info.getMainInterfaceWidgetList() == null) {
                                         PayloadCenter.getInstance().getPayloadManager().get(PayloadIndexType.PORT_1).pullWidgetInfoFromPayload(new CommonCallbacks.CompletionCallback() {
                                             @Override
                                             public void onSuccess() {
-                                                LogUtil.log(TAG,"è´Ÿè½½é‡�å¤�æ‹‰å�–æˆ�åŠŸ");
+                                                LogUtil.log(TAG, "è´Ÿè½½é‡�å¤�æ‹‰å�–æˆ�åŠŸ");
+
                                             }
 
                                             @Override
                                             public void onFailure(@NonNull IDJIError idjiError) {
-                                                LogUtil.log(TAG,"è´Ÿè½½é‡�å¤�æ‹‰å�–å¤±è´¥");
+                                                LogUtil.log(TAG, "è´Ÿè½½é‡�å¤�æ‹‰å�–å¤±è´¥");
                                             }
                                         });
                                     }
@@ -81,7 +106,7 @@ public class PayloadWidgetManager extends BaseManager {
 
                         @Override
                         public void onFailure(@NonNull IDJIError idjiError) {
-                            LogUtil.log(TAG,"è´Ÿè½½ç¬¬ä¸€æ¬¡æ‹‰å�–å¤±è´¥");
+                            LogUtil.log(TAG, "è´Ÿè½½ç¬¬ä¸€æ¬¡æ‹‰å�–å¤±è´¥");
                         }
                     });
                 } else {
@@ -90,26 +115,16 @@ public class PayloadWidgetManager extends BaseManager {
             } else {
                 LogUtil.log(TAG, "ç›‘å�¬psdkæ•°æ�®å¤±è´¥:æœªæ£€æµ‹åˆ°è®¾å¤‡");
             }
+
+            //è´Ÿè½½åŸºç¡€ä¿¡æ�¯
+
+
         } else {
             LogUtil.log(TAG, "è®¾å¤‡æœªè¿žæŽ¥");
         }
     }
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 //    //è®¾ç½®ä¸‰æ–¹è´Ÿè½½æŽ§ä»¶
 //    public void setWidget(MQMessage message) {
 //        Boolean isConnect = KeyManager.getInstance().getValue(KeyTools.createKey(FlightControllerKey.KeyConnection));
diff --git a/app/src/main/java/com/aros/apron/manager/StickManager.java b/app/src/main/java/com/aros/apron/manager/StickManager.java
index e2b45fe2..5ba9bc4f 100644
--- a/app/src/main/java/com/aros/apron/manager/StickManager.java
+++ b/app/src/main/java/com/aros/apron/manager/StickManager.java
@@ -141,6 +141,7 @@ public class StickManager extends BaseManager {
                     }else if(Movement.getInstance().getFlightmode()==2){
                         Movement.getInstance().setMode_code(3);
                     }
+
                     Movement.getInstance().setOpendrc(false);
                 }
                 LogUtil.log(TAG, "æŽ§åˆ¶æ�ƒå·²å�–æ¶ˆ");
diff --git a/app/src/main/java/com/aros/apron/tools/ApronArucoDetect.java b/app/src/main/java/com/aros/apron/tools/ApronArucoDetect.java
index ca927cae..79e2a266 100644
--- a/app/src/main/java/com/aros/apron/tools/ApronArucoDetect.java
+++ b/app/src/main/java/com/aros/apron/tools/ApronArucoDetect.java
@@ -338,14 +338,7 @@ public class ApronArucoDetect  {
         corners.addAll(tmpCorners);
         return new MatOfInt(newIds);
     }
-    /**
-     * ç®€åŒ–é¢„å¤„ç�†ï¼šå�Œè¾¹æ»¤æ³¢+CLAHE+é«˜å��å·®ä¿�ç•™
-     * å�‚æ•°åˆ«æ”¹ï¼šé€‚é…�H30Tå¹¿è§’ç”»è´¨
-     */
-    /**
-     * å¢žå¼ºç‰ˆé¢„å¤„ç�†ï¼šå�Œè¾¹æ»¤æ³¢ + CLAHE + Unsharp Maskï¼ˆå��é”�åŒ–æŽ©è†œï¼‰
-     * å�‚æ•°åˆ«æ”¹ï¼šamount=1.2 æ˜¯ FPV è¿�åŠ¨æ¨¡ç³Šçš„æŽ¨è��å¼ºåº¦
-     */
+
     private Mat fixedPreprocess(Mat src) {
         Mat result = new Mat();
         try {
diff --git a/app/src/main/java/com/aros/apron/xclog/LogWriter.java b/app/src/main/java/com/aros/apron/xclog/LogWriter.java
index 513ed8a1..67728c7c 100644
--- a/app/src/main/java/com/aros/apron/xclog/LogWriter.java
+++ b/app/src/main/java/com/aros/apron/xclog/LogWriter.java
@@ -55,13 +55,13 @@ public class LogWriter {
         mThreadPool.execute(new Runnable() {
             @Override
             public void run() {
-                System.out.println("thread"+"   "+msg);
+                System.out.println("LogWriter thread: " + msg);
                 synchronized (LogWriter.class){
-                    if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
-                        return;
-                    }
+                    System.out.println("LogWriter: checking directory: " + mDir.getAbsolutePath());
                     if(!mDir.exists()){
-                        mDir.mkdirs();
+                        System.out.println("LogWriter: creating directory: " + mDir.getAbsolutePath());
+                        boolean mkdirs = mDir.mkdirs();
+                        System.out.println("LogWriter: directory created: " + mkdirs);
                     }
                     if (level.equals("F")){
                         mFileName="state_"+new SimpleDateFormat("yyyyMMdd").format(new Date())+".txt";
@@ -70,11 +70,20 @@ public class LogWriter {
                     } else{
                         mFileName=new SimpleDateFormat("yyyyMMdd").format(new Date())+".txt";
                     }
-                    File logFile = new File(mDir+"/"+mFileName);
+                    // ä½¿ç”¨ File æž„é€ å‡½æ•°æ­£ç¡®æž„å»ºæ–‡ä»¶è·¯å¾„
+                    File logFile = new File(mDir, mFileName);
+                    System.out.println("LogWriter: log file path: " + logFile.getAbsolutePath());
+                    System.out.println("LogWriter: log file exists: " + logFile.exists());
                     if(!logFile.exists()){ // æ–‡ä»¶ä¸�å­˜åœ¨ï¼Œåˆ›å»ºæ–‡ä»¶
-                        createFile(logFile);
+                        System.out.println("LogWriter: creating log file");
+                        File createdFile = createFile(logFile);
+                        System.out.println("LogWriter: log file created: " + (createdFile != null));
+                        System.out.println("LogWriter: log file exists after create: " + logFile.exists());
                     }
+                    System.out.println("LogWriter: writing log to file");
                     doWrtiter(logFile, msg+LINE_SEPARATOR);
+                    System.out.println("LogWriter: log written");
+                    System.out.println("LogWriter: log file size after write: " + logFile.length());
                 }
             }
         });
diff --git a/app/src/main/java/com/aros/apron/xclog/XcFileLog.java b/app/src/main/java/com/aros/apron/xclog/XcFileLog.java
index 6f1d0715..ebf65dc8 100644
--- a/app/src/main/java/com/aros/apron/xclog/XcFileLog.java
+++ b/app/src/main/java/com/aros/apron/xclog/XcFileLog.java
@@ -20,14 +20,22 @@ public class XcFileLog extends BaseLog {
      * åˆ�å§‹åŒ–é…�ç½®æ–‡ä»¶
      * */
     public static void init(XcLogBaseConfig xcLogBaseConfig){
+        System.out.println("XcFileLog init start");
         mXcLogBaseConfig = xcLogBaseConfig;
         if(xcLogBaseConfig == null){ // é»˜è®¤é…�ç½®
             mXcLogBaseConfig = new SimpleXcLogBaseConfig();
+            System.out.println("XcFileLog init with default config");
+        } else {
+            System.out.println("XcFileLog init with custom config, log dir: " + xcLogBaseConfig.getLogDir());
         }
         if(mXcFileLog == null){
+            System.out.println("XcFileLog creating instance");
             mXcFileLog = new XcFileLog();
             mDeleteHelper = new DeleteHelper(mXcLogBaseConfig);
             mDeleteHelper.deleteCacheLog(); // åˆ é™¤è¿‡æœŸç¼“å­˜
+            System.out.println("XcFileLog init completed");
+        } else {
+            System.out.println("XcFileLog already initialized");
         }
     }
 
diff --git a/app/src/main/java/com/aros/apron/xclog/XcLogConfig.java b/app/src/main/java/com/aros/apron/xclog/XcLogConfig.java
index 5e137836..0ce0be22 100644
--- a/app/src/main/java/com/aros/apron/xclog/XcLogConfig.java
+++ b/app/src/main/java/com/aros/apron/xclog/XcLogConfig.java
@@ -4,6 +4,9 @@ import android.os.Environment;
 import android.text.TextUtils;
 import android.util.Log;
 
+import com.aros.apron.app.ApronApp;
+
+import java.io.File;
 import java.util.concurrent.ExecutorService;
 
 /**
@@ -26,6 +29,7 @@ public class XcLogConfig implements XcLogBaseConfig {
 
     @Override
     public String getLogDir() {
+        // å†™å…¥åˆ°å¤–éƒ¨å­˜å‚¨æ ¹ç›®å½•
         return getSDCardPath()+"/DJIDemo/cache/log"; // é»˜è®¤ç¼“å­˜è·¯å¾„
     }
 
diff --git a/build.gradle b/build.gradle
index 04a2f6e6..4ca22703 100644
--- a/build.gradle
+++ b/build.gradle
@@ -11,10 +11,10 @@ buildscript {
     }
     dependencies {
         // æŽ¨è��çš„ Android Gradle Plugin ç‰ˆæœ¬ï¼Œä¸�å�šå¼ºæ±‚ï¼Œå�¯ä»¥è‡ªå®šé€‚é…�éœ€è¦�çš„ç‰ˆæœ¬ã€‚ä½†æ˜¯å¦‚æžœä½ éœ€è¦�å¼•å…¥ UXSDK æ¡†æž¶ï¼Œåˆ™å»ºè®®ä½¿ç”¨æŽ¨è��ç‰ˆæœ¬ï¼Œå�¦åˆ™å�¯èƒ½ä¼šå‡ºçŽ°ç¼–è¯‘å…¼å®¹æ€§é—®é¢˜ã€‚
-        classpath "com.android.tools.build:gradle:7.4.2"
+        classpath "com.android.tools.build:gradle:8.7.0"
 
         // æŽ¨è��çš„ Kotlin ç‰ˆæœ¬ï¼Œå¦‚æžœä½ éœ€è¦�å¼•å…¥ UXSDK æ¡†æž¶ï¼Œåˆ™å»ºè®®ä½¿ç”¨æŽ¨è��ç‰ˆæœ¬ï¼Œå�¦åˆ™å�¯èƒ½ä¼šå‡ºçŽ°ç¼–è¯‘å…¼å®¹æ€§é—®é¢˜
-        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.21" //DJI MSDK å»ºè®®çš„ç‰ˆæœ¬
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0" //DJI MSDK å»ºè®®çš„ç‰ˆæœ¬
         // ... (remaining code)
 //        classpath 'com.android.tools.build:gradle:7.1.3'
         classpath 'com.google.protobuf:protobuf-gradle-plugin:0.9.0'
diff --git a/gradle.properties b/gradle.properties
index 6c1b53f4..bd80fa28 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,7 +2,7 @@
 org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8
 android.useAndroidX=true
 android.nonTransitiveRClass=true
-KOTLIN_VERSION = 1.7.21
+KOTLIN_VERSION = 2.1.0
 android.enableJetifier=true
 android.enableBuildCache=false
 android.defaults.buildfeatures.buildconfig=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f4588c47..72237f55 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
 #Thu Oct 17 09:18:25 CST 2024
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
