Add support for Android x86_64 and ARM64
This commit is contained in:
parent
671dbaaf77
commit
7604ae6761
|
@ -101,17 +101,21 @@ if [ x$SSL = "xno" ]; then
|
||||||
export OPTIONS="${OPTIONS} --without-ssl"
|
export OPTIONS="${OPTIONS} --without-ssl"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for arch in armv5te armv7-a armv7-a-neon x86
|
for arch in armv5te armv7-a armv7-a-neon arm64 x86 x64
|
||||||
do
|
do
|
||||||
if [ $arch = "x86" ]; then \
|
if [ $arch = "x86" ]; then \
|
||||||
export HOST=i686-linux-android; \
|
export HOST=i686-linux-android; \
|
||||||
|
elif [ $arch = "x64" ]; then \
|
||||||
|
export HOST=x86_64-linux-android; \
|
||||||
|
elif [ $arch = "arm64" ]; then \
|
||||||
|
export HOST=aarch64-linux-android; \
|
||||||
else \
|
else \
|
||||||
export HOST=arm-linux-androideabi; \
|
export HOST=arm-linux-androideabi; \
|
||||||
fi \
|
fi \
|
||||||
|
|
||||||
echo -e building for ARCH="$arch, OPTIONS=$OPTIONS.... \n"
|
echo -e building for ARCH="$arch, OPTIONS=$OPTIONS.... \n"
|
||||||
|
|
||||||
./configure --host=$HOST --with-android-cpu=$arch --prefix=$HOME/$arch --without-pic --enable-nonfree=$ENABLE_NONFREE --enable-gpl=$ENABLE_GPL --enable-debug=$DEBUG $OPTIONS
|
./configure --host=$HOST --with-android-cpu=$arch --prefix=$HOME/$arch --with-pic --enable-nonfree=$ENABLE_NONFREE --enable-gpl=$ENABLE_GPL --enable-debug=$DEBUG $OPTIONS
|
||||||
make clean
|
make clean
|
||||||
make uninstall
|
make uninstall
|
||||||
make all
|
make all
|
||||||
|
@ -124,7 +128,9 @@ done
|
||||||
|
|
||||||
mkdir -p $HOME/imsdroid/libs/armeabi
|
mkdir -p $HOME/imsdroid/libs/armeabi
|
||||||
mkdir -p $HOME/imsdroid/libs/armeabi-v7a
|
mkdir -p $HOME/imsdroid/libs/armeabi-v7a
|
||||||
|
mkdir -p $HOME/imsdroid/libs/arm64-v8a
|
||||||
mkdir -p $HOME/imsdroid/libs/x86
|
mkdir -p $HOME/imsdroid/libs/x86
|
||||||
|
mkdir -p $HOME/imsdroid/libs/x86_64
|
||||||
mkdir -p $HOME/imsdroid/libs/mips
|
mkdir -p $HOME/imsdroid/libs/mips
|
||||||
|
|
||||||
cp --force $HOME/armv5te/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi/libtinyWRAP.so
|
cp --force $HOME/armv5te/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi/libtinyWRAP.so
|
||||||
|
@ -134,7 +140,13 @@ cp --force $HOME/armv7-a/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7
|
||||||
cp --force $HOME/armv7-a/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libplugin_audio_opensles.so
|
cp --force $HOME/armv7-a/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libplugin_audio_opensles.so
|
||||||
cp --force $HOME/armv7-a-neon/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libtinyWRAP_neon.so
|
cp --force $HOME/armv7-a-neon/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/armeabi-v7a/libtinyWRAP_neon.so
|
||||||
|
|
||||||
|
cp --force $HOME/arm64/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/arm64-v8a/libtinyWRAP.so
|
||||||
|
cp --force $HOME/arm64/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/arm64-v8a/libplugin_audio_opensles.so
|
||||||
|
|
||||||
cp --force $HOME/x86/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/x86/libtinyWRAP.so
|
cp --force $HOME/x86/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/x86/libtinyWRAP.so
|
||||||
cp --force $HOME/x86/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/x86/libplugin_audio_opensles.so
|
cp --force $HOME/x86/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/x86/libplugin_audio_opensles.so
|
||||||
|
|
||||||
|
cp --force $HOME/x64/lib/libtinyWRAP.so.0.0.0 $HOME/imsdroid/libs/x86_64/libtinyWRAP.so
|
||||||
|
cp --force $HOME/x64/lib/libplugin_audio_opensles.so.0.0.0 $HOME/imsdroid/libs/x86_64/libplugin_audio_opensles.so
|
||||||
|
|
||||||
|
|
||||||
|
|
42
configure.ac
42
configure.ac
|
@ -22,6 +22,14 @@ case "$host" in
|
||||||
target_os=android
|
target_os=android
|
||||||
android_cpu=armv5te
|
android_cpu=armv5te
|
||||||
;;
|
;;
|
||||||
|
aarch64-*-linux-android)
|
||||||
|
target_os=android
|
||||||
|
android_cpu=arm64
|
||||||
|
;;
|
||||||
|
x86_64-*-linux-android)
|
||||||
|
target_os=android
|
||||||
|
android_cpu=x64
|
||||||
|
;;
|
||||||
i686-*-linux-android)
|
i686-*-linux-android)
|
||||||
target_os=android
|
target_os=android
|
||||||
android_cpu=x86
|
android_cpu=x86
|
||||||
|
@ -37,7 +45,9 @@ AC_ARG_WITH(android-cpu,
|
||||||
armv5te: ARMv5TE
|
armv5te: ARMv5TE
|
||||||
armv7-a: ARMv7-a *without* NEON
|
armv7-a: ARMv7-a *without* NEON
|
||||||
armv7-a-neon: ARMv7-a *with* NEON
|
armv7-a-neon: ARMv7-a *with* NEON
|
||||||
x86: X86],
|
arm64: aarch64
|
||||||
|
x86: X86
|
||||||
|
x64: X86_64],
|
||||||
[ android_cpu=$withval ])
|
[ android_cpu=$withval ])
|
||||||
|
|
||||||
### ANDROID-TOOLCHAIN (http://www.kandroid.org/ndk/docs/STANDALONE-TOOLCHAIN.html)
|
### ANDROID-TOOLCHAIN (http://www.kandroid.org/ndk/docs/STANDALONE-TOOLCHAIN.html)
|
||||||
|
@ -48,14 +58,31 @@ if test "$target_os" = "android"; then
|
||||||
export ANDROID_PREFIX=i686-linux-android
|
export ANDROID_PREFIX=i686-linux-android
|
||||||
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86
|
||||||
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-9 --arch=x86 --install-dir=$ANDROID_TOOLCHAIN
|
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-9 --arch=x86 --install-dir=$ANDROID_TOOLCHAIN
|
||||||
|
export CFLAGS='-DANDROID=1'
|
||||||
AC_SUBST(TARGET_ARCH, "x86")
|
AC_SUBST(TARGET_ARCH, "x86")
|
||||||
;;
|
;;
|
||||||
|
x64)
|
||||||
|
export SYSROOT=$NDK/platforms/android-21/arch-x86_64
|
||||||
|
export ANDROID_PREFIX=x86_64-linux-android
|
||||||
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86_64
|
||||||
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86_64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
|
||||||
|
export CFLAGS='-DANDROID=1'
|
||||||
|
AC_SUBST(TARGET_ARCH, "x86")
|
||||||
|
;;
|
||||||
|
arm64)
|
||||||
|
export ANDROID_PREFIX=aarch64-linux-android
|
||||||
|
export SYSROOT=$NDK/platforms/android-21/arch-arm64
|
||||||
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-arm64
|
||||||
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
|
||||||
|
export CFLAGS='-DANDROID=1 -D__ARMEL__'
|
||||||
|
AC_SUBST(TARGET_ARCH, "arm")
|
||||||
|
;;
|
||||||
armv7-a)
|
armv7-a)
|
||||||
export ANDROID_PREFIX=arm-linux-androideabi
|
export ANDROID_PREFIX=arm-linux-androideabi
|
||||||
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
||||||
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a
|
||||||
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
|
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
|
||||||
export CFLAGS='-march=armv7-a -mfloat-abi=softfp'
|
export CFLAGS='-march=armv7-a -mfloat-abi=softfp -DANDROID=1 -D__ARMEL__'
|
||||||
export LDFLAGS='-Wl,--fix-cortex-a8'
|
export LDFLAGS='-Wl,--fix-cortex-a8'
|
||||||
AC_SUBST(TARGET_ARCH, "arm")
|
AC_SUBST(TARGET_ARCH, "arm")
|
||||||
;;
|
;;
|
||||||
|
@ -64,7 +91,7 @@ if test "$target_os" = "android"; then
|
||||||
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
||||||
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a-neon
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a-neon
|
||||||
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
|
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
|
||||||
export CFLAGS='-march=armv7-a -mfloat-abi=softfp -mfpu=neon'
|
export CFLAGS='-march=armv7-a -mfloat-abi=softfp -mfpu=neon -DANDROID=1'
|
||||||
export LDFLAGS='-Wl,--fix-cortex-a8'
|
export LDFLAGS='-Wl,--fix-cortex-a8'
|
||||||
AC_SUBST(TARGET_ARCH, "arm")
|
AC_SUBST(TARGET_ARCH, "arm")
|
||||||
;;
|
;;
|
||||||
|
@ -73,13 +100,14 @@ if test "$target_os" = "android"; then
|
||||||
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
export SYSROOT=$NDK/platforms/android-3/arch-arm
|
||||||
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-armv5te
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-armv5te
|
||||||
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
|
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
|
||||||
|
export CFLAGS='-DANDROID=1 -D__ARMEL__'
|
||||||
AC_SUBST(TARGET_ARCH, "arm")
|
AC_SUBST(TARGET_ARCH, "arm")
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_SUBST(NDK, $NDK)
|
AC_SUBST(NDK, $NDK)
|
||||||
|
|
||||||
export CFLAGS="${CFLAGS} -DANDROID=1"
|
export CFLAGS="${CFLAGS} -fPIC"
|
||||||
export CPPFLAGS=$CFLAGS
|
export CPPFLAGS=$CFLAGS
|
||||||
export LDFLAGS="${LDFLAGS} -lc -lm -lgcc"
|
export LDFLAGS="${LDFLAGS} -lc -lm -lgcc"
|
||||||
|
|
||||||
|
@ -401,10 +429,10 @@ AC_ARG_WITH(ssl,
|
||||||
if test $want_ssl != no; then
|
if test $want_ssl != no; then
|
||||||
# check for lib and headers
|
# check for lib and headers
|
||||||
AC_CHECK_HEADERS(openssl/ssl.h,
|
AC_CHECK_HEADERS(openssl/ssl.h,
|
||||||
AC_CHECK_LIB(ssl, SSL_library_init, AC_DEFINE_UNQUOTED(HAVE_OPENSSL, 1, HAVE_OPENSSL) [have_ssl=yes] LIBSSL_LIBADD="${LIBSSL_LIBADD} -lssl",
|
AC_CHECK_LIB(ssl, SSL_connect, AC_DEFINE_UNQUOTED(HAVE_OPENSSL, 1, HAVE_OPENSSL) [have_ssl=yes] LIBSSL_LIBADD="${LIBSSL_LIBADD} -lssl",
|
||||||
AC_DEFINE_UNQUOTED(HAVE_OPENSSL, 0, HAVE_OPENSSL) [have_ssl=no], [-lcrypto]
|
AC_DEFINE_UNQUOTED(HAVE_OPENSSL, 0, HAVE_OPENSSL) [have_ssl=no], [-lcrypto]
|
||||||
))
|
))
|
||||||
AC_CHECK_LIB(crypto, BN_init,
|
AC_CHECK_LIB(crypto, CRYPTO_new_ex_data,
|
||||||
LIBSSL_LIBADD="${LIBSSL_LIBADD} -lcrypto"
|
LIBSSL_LIBADD="${LIBSSL_LIBADD} -lcrypto"
|
||||||
AC_CHECK_LIB(ssl, SSL_CTX_set_tlsext_use_srtp, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS_SRTP, 1, HAVE_OPENSSL_DTLS_SRTP) [have_dtls_srtp=yes],[],[-lcrypto])
|
AC_CHECK_LIB(ssl, SSL_CTX_set_tlsext_use_srtp, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS_SRTP, 1, HAVE_OPENSSL_DTLS_SRTP) [have_dtls_srtp=yes],[],[-lcrypto])
|
||||||
AC_CHECK_LIB(ssl, DTLSv1_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS) [have_dtls=yes],[],[-lcrypto])
|
AC_CHECK_LIB(ssl, DTLSv1_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS) [have_dtls=yes],[],[-lcrypto])
|
||||||
|
@ -465,7 +493,7 @@ AM_CONDITIONAL([USE_FFMPEG], [test $have_ffmpeg = yes])
|
||||||
########################################################
|
########################################################
|
||||||
# X264
|
# X264
|
||||||
########################################################
|
########################################################
|
||||||
AM_CONDITIONAL(USE_X264, [test $target_os:$enable_gpl = android:yes]) # X264 is always there for Android and statically linked
|
AM_CONDITIONAL(USE_X264, [test $target_os:$enable_gpl:$have_ffmpeg = android:yes:yes]) # X264 is always there for Android and statically linked
|
||||||
AC_SUBST(LIBX264_LIBADD, "-lx264")
|
AC_SUBST(LIBX264_LIBADD, "-lx264")
|
||||||
AC_ARG_WITH(x264, [ --with-x264 IMPORTANT: deprecated to be removed ],[], [])
|
AC_ARG_WITH(x264, [ --with-x264 IMPORTANT: deprecated to be removed ],[], [])
|
||||||
|
|
||||||
|
|
|
@ -148,7 +148,7 @@ static tsk_object_t* audio_opensles_instance_dtor(tsk_object_t * self)
|
||||||
}
|
}
|
||||||
static int audio_opensles_instance_cmp(const tsk_object_t *_ai1, const tsk_object_t *_ai2)
|
static int audio_opensles_instance_cmp(const tsk_object_t *_ai1, const tsk_object_t *_ai2)
|
||||||
{
|
{
|
||||||
return ((int)_ai1 - (int)_ai2);
|
return (int)((uintptr_t)_ai1 - (uintptr_t)_ai2);
|
||||||
}
|
}
|
||||||
static const tsk_object_def_t audio_opensles_instance_def_s = {
|
static const tsk_object_def_t audio_opensles_instance_def_s = {
|
||||||
sizeof(audio_opensles_instance_t),
|
sizeof(audio_opensles_instance_t),
|
||||||
|
|
|
@ -1,11 +1,24 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
export NDK=/home/android-ndk-r10e
|
export NDK=/home/android-ndk-r10e
|
||||||
export PREFIX_BASE=/home/openssl-1.1.0h/android
|
export PREFIX_BASE=$(pwd)/android
|
||||||
export HOST=arm-linux-androideabi
|
export HOST=arm-linux-androideabi
|
||||||
export CPU=ARM
|
export CPU=ARM
|
||||||
|
|
||||||
if [ w$1 = "wx86" ]
|
if [ w$1 = "wx64" ]
|
||||||
|
then
|
||||||
|
echo "************************"
|
||||||
|
echo " X64 "
|
||||||
|
echo "************************"
|
||||||
|
export HOST=x86_64-linux-android
|
||||||
|
export CPU=x86_64
|
||||||
|
export SYSROOT=$NDK/platforms/android-21/arch-x86_64
|
||||||
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86_64
|
||||||
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86_64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
|
||||||
|
export CFLAGS='-fPIC' # For FFmpeg: '-fno-PIC'
|
||||||
|
export LDFLAGS=''
|
||||||
|
export OS=android64
|
||||||
|
elif [ w$1 = "wx86" ]
|
||||||
then
|
then
|
||||||
echo "************************"
|
echo "************************"
|
||||||
echo " X86 "
|
echo " X86 "
|
||||||
|
@ -14,10 +27,23 @@ then
|
||||||
export CPU=x86
|
export CPU=x86
|
||||||
export SYSROOT=$NDK/platforms/android-9/arch-x86
|
export SYSROOT=$NDK/platforms/android-9/arch-x86
|
||||||
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-x86
|
||||||
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86 --platform=android-9 --arch=x86 --install-dir=$ANDROID_TOOLCHAIN
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86 --platform=android-9 --install-dir=$ANDROID_TOOLCHAIN
|
||||||
export CFLAGS='-fPIC' # For FFmpeg: '-fno-PIC'
|
export CFLAGS='-fPIC' # For FFmpeg: '-fno-PIC'
|
||||||
export LDFLAGS=''
|
export LDFLAGS=''
|
||||||
export OS=android-x86
|
export OS=android-x86
|
||||||
|
elif [ w$1 = "warm64" ]
|
||||||
|
then
|
||||||
|
echo "************************"
|
||||||
|
echo " ARM64 "
|
||||||
|
echo "************************"
|
||||||
|
export HOST=aarch64-linux-android
|
||||||
|
export CPU=arm64
|
||||||
|
export SYSROOT=$NDK/platforms/android-21/arch-arm64
|
||||||
|
export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-arm64
|
||||||
|
$NDK/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
|
||||||
|
export CFLAGS='-fPIC -D__ARMEL__ -DWEBRTC_DETECT_ARM_NEON -DWEBRTC_ARCH_ARM_NEON' # For FFmpeg: '-fno-PIC'
|
||||||
|
export LDFLAGS=''
|
||||||
|
export OS=android64-aarch64
|
||||||
elif [ w$1 = "warmv7a" ]
|
elif [ w$1 = "warmv7a" ]
|
||||||
then
|
then
|
||||||
echo "************************"
|
echo "************************"
|
||||||
|
@ -68,6 +94,9 @@ export CXX=$ANDROID_TOOLCHAIN/bin/$HOST-g++
|
||||||
export AS=$ANDROID_TOOLCHAIN/bin/$HOST-gcc
|
export AS=$ANDROID_TOOLCHAIN/bin/$HOST-gcc
|
||||||
export RANLIB=$ANDROID_TOOLCHAIN/bin/$HOST-ranlib
|
export RANLIB=$ANDROID_TOOLCHAIN/bin/$HOST-ranlib
|
||||||
|
|
||||||
|
export CFLAGS="${CFLAGS} -DANDROID=1 -fPIC"
|
||||||
|
export CPPFLAGS=$CFLAGS
|
||||||
|
|
||||||
./Configure -no-shared --prefix=$PREFIX_BASE/$CPU --openssldir=$PREFIX_BASE/$CPU/openssl $OS -I$ANDROID_TOOLCHAIN/sysroot/ -I$ANDROID_TOOLCHAIN/sysroot/usr/include
|
./Configure -no-shared --prefix=$PREFIX_BASE/$CPU --openssldir=$PREFIX_BASE/$CPU/openssl $OS -I$ANDROID_TOOLCHAIN/sysroot/ -I$ANDROID_TOOLCHAIN/sysroot/usr/include
|
||||||
make clean
|
make clean
|
||||||
make
|
make
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue